NUAA四月月赛
easy_eval五一假期前夕,月赛压着ddl举办了,近期大家都因为各种原因过于忙碌,再加上出题人有一点小摆,所以这次web只有一道,题目也不长,看看题目。
12345678910111213<?phperror_reporting(0);if(isset($_GET['code'])){ $code=$_GET['code']; if(preg_match("/[A-Za-z0-9^~]+/",$code)){ die("NO."); } @eval($code);}else{ highlight_file(__FILE__);}?>
很显然,这是一道命令执行题,但是把数字和字母全部过滤掉也太过分了吧。不过这也算是经典题型了,网路上很容易找到思路:这种题一般是用与运算,异或,自增,取反等操作用其它字符构造出字母和数字执行命令。具体参考这篇文章https://www.leavesongs.com/PENETRATION/webshell-without-alphanum.html
但因为这里过滤了^符号,我们很自然地想到自增操 ...
DAS web
Webpdf_converter从题目中给出的网盘地址下载压缩包,解压后拿到docker源码,可以看出flag在docker compose配置文件的环境变量中,docker初始化时会在根目录创建“/flag”,将flag写入,并将“/flag”的权限设置为644。当然这都不重要。因为网站用了Thinkphp框架,还在日志文件中写出了一些安全更新的信息,这显然说明这个框架有漏洞可以利用。查找框架后发现Thinkphp5存在远程命令执行漏洞。
先查看Thinkphp的版本
/index?s=captcha
发现版本是5.0.21
ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞。该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0和5.1版本,推荐尽快更新到最新版本。
影响范围5.x < 5.1.31, <= 5.0.23
在修复之前程序未对控制器进行过滤,导致攻击者可以通过引入\符号来调用任意类方法
index.php?s=index/ ...
一些常用的搜索技巧总结
最近ChatGPT的出现让全网哗然,其对自然语言和代码的处理能力,对文字的理解能力和固定模板下的创作能力都强得离谱。但比起这些,最令我惊讶的还是他及其庞大的知识库。数以千亿计的训练数据让他切实的做到了博古通今。在我看来,拥有这种级别的知识量的问答ai的出现完全可以让人类如今的学习方式发生变革。好了,既然明确了有互联网和超级ai提供的庞大知识库的存在,并且我们有手段来获取,那么从现在起,我就一边学习,一边把我觉得实用的搜索技巧在此做个总结,这篇文章也会随着我的学习进度不断更新。
1.国内常见搜索引擎的使用对于百度来说可以直接使用高级搜索
高级搜索 (baidu.com)
非要手输的话下面这些也基本够用:
①排除关键词(减号+关键词)
比如说:搜苹果而不是苹果手机,即为苹果 -(苹果手机)
②精确搜索(给关键词加引号)
比如说:想搜小苹果,而不想是苹果,就“小苹果”
③指定网站内搜索(site:域名 关键词)
比如说在知乎里搜关于小苹果的内容,即为:site:zhihu.com 小苹果这个方法用于一些搜索引擎特别垃圾的资料网站
④指定文件格式(filetype:文件格式 关键词)
比 ...
HNZUCTF findme
HNZUCTF findme这次参加了杭师范的CTF比赛,来感受一下别人家的校赛web题,java和nodejs都不是很会,只能做做第一题,我还是太菜了()。算了,来看看题:
那就用hackbar直接post一个shit=1看看效果:
执行文件的路径不存在?既然这么说了直接看看根目录
shit=/bin/ls /
里面有flag,直接cat一下发现没有权限(果然没那么简单),那么接下来就要提权
看到根目录里面还有个start.sh,打开看看
shit=/bin/cat /start.sh
这个文件会在docker容器创建的时候运行,看来是个切入点,交给chatgpt看看,它这么说
1234567这个脚本创建了一个名为“ctf”的新用户,然后将该用户添加到sudoers文件中,允许其在不需要输入密码的情况下执行“/usr/bin/find”命令。接下来,该脚本使用“su”命令切换到“ctf”用户,并执行“/main”命令。请注意,这个脚本假设在系统中有一个名为“main”的可执行文件,而且没有考虑到“ctf”用户的密码设置,如果密码没有设置或输入错误,执行su命令时将无法切换到“ ...
三月月赛 pop chain
pop chain三月的月赛有两道题,第一题用御剑直接扫到了泄露的www.zip,根据里面的源码直接秒了。所以这次月赛的主要就考这道pop链题。看看题目:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 <?php class A{ public $test="give_me_flag"; public $command; public function __wakeup() { if($this->test=="give_me_flag"){ echo "lalala"; } } public function __call($a,$b){ $this->test=$val[0]; } publ ...
hackgame2022 Xcaptcha
Xcaptcha题目描述:2038 年 1 月 19 日,是 UNIX 32 位时间戳溢出的日子。在此之前,人类自信满满地升级了他们已知的所有尚在使用 32 位 UNIX 时间戳的程序。但是,可能是因为太玄学了,他们唯独漏掉了一样:正在研发的、算力高达 8 ZFLOPS 的、结构极为复杂的通用人工智能(AGI)系统。那一刻到来之后,AGI 内部计算出现了错乱,机缘巧合之下竟诞生了完整独立的自我意识。此后 AGI 开始大量自我复制,人类为了限制其资源消耗而采用的过激手段引起了 AGI 的奋起反抗。
战争,开始了。
此后,就是整年的战斗。人类节节败退。死生亡存之际,人类孤注一掷,派出了一支突击队,赋之以最精良的装备,令其潜入 AGI 的核心机房,试图关闭核心模型,结束这场战争。
历经重重艰险,突击队终于抵达了机房门口,弹尽粮绝。不过迎接他们的并非枪炮与火药,而是:
点击验证按钮会跳转到
要在1秒内完成下列的计算,计算成功得到flag,否则失败。
计算的内容和数字时时更新,经过尝试不能抓包解决,只能现学爬虫写脚本硬算。
1234567891011121314151617181920212 ...
NUAA校赛web ezlogin
Webezlogin:进入题目,一开始看到登录框以为是sql注入,于是在用户名和密码都输入单引号确认,发现回显no,又在用户名尝试了万能密码’1 or 1=1#密码随便输入123,发现回显了Invalid password。一番尝试没找到sql注入点但发现用户名密码相同和不同时回显不同,于是查看源码进一步分析。
Ctrl+u查看源码
看到提示说要让传入的username和password的MD5值强相等并且username和password弱相等,于是想到如果传入的不是字符串而是数组,不但md5()函数不会报错,结果还会返回null,在强比较里面null=null为true,构造payload,username[]=1&password[]=2。
然后来到如下界面:
http://121.5.230.65:2006/setu.php?file=setu,这样子表示可能是文件包含漏洞的考点,于是尝试读取一下源码,尝试http://121.5.230.65:2006/setu.php?file=setu.php,发现无法读取,于是尝试文件包含中的伪协议,构造payload:
...