by:Infernity
100%_upload
可真气死我了这道题,没注意看url,跟着标题走,一直在文件上传,一直在绕过滤,他要过滤也不过滤全,留个.user.ini没过滤,就一直围绕这个想办法,结果……
打开题目,很明显的提示,index.php里有Include函数,那么我们直接上传一个jpg马,然后包含他就出来了。
SICTF{ea391e30-b67e-4a5d-97ca-7c00f1bc107b}
Not just unserialize
新知识点,利用环境变量注入。
https://www.cnblogs.com/h0cksr/p/16189733.html
前面的反序列化这里不再赘述。
1 |
|
/^.(worries).$/
这个可以在前面加个空格绕过。
主要是这一段:
1 | foreach ($_GET['get'] as $inject => $rce){ |
这里环境变量注入要看看上面的文章,有点复杂。
这里直接get[BASH_FUNC_echo%%]=() { cat /f*; }
即可拿到flag。
hacker
这道题考查sql无列名注入。
https://blog.csdn.net/m0_46230316/article/details/106668182
1 | '/**/union/**/select/**/`2`/**/from/**/(select/**/1,2/**/union/**/select/**/*/**/from/**/flag)/**/as/**/a%23 |
过滤了空格,经过测试,一共有两列,而flag肯定在第二列,所以是2
SICTF{4fa6acc5-9d2c-4af8-908c-53b66839b019}
EZ_SSRF
他说有另一个文件,直接开扫!找到一个admin.php,进去看看
意思是我们需要把ip改成127.0.0.1
这里正好原文里给了curl
那直接以127.0.0.1开头进去就拿到flag了。
O:6:”client”:1:{s:3:”url”;s:26:”http://127.0.0.1/admin.php";}
最后base64解密
SICTF{af8d34d5-22c4-414d-a78e-b65f587712f5}
Oyst3rPHP
最讨厌藏东西的题了,开局先扫,扫出来一个www.zip这是网站备份文件,里面会有源码,在app/controller/里找到源码,审计源码,第一步
1 | $right = @$_GET['left']; |
传?left=240610708&right=QLTHNDT
第二步
1 | if(preg_match('/.+?THINKPHP/is', $key)){ |
一般只有一个preg_match的判断,里面是一个die函数,用回溯次数绕过可以解,下面stripos函数需要我们的参数里有603THINKPHP,所以传一百万个a+603THINKPHP即可。
第三步就是反序列化了,这是thinkphp6.0.3有现成的poc,在网上一搜第一个就是
1 |
|
post传参拿到flag
SICTF{c35c6cef-3fbb-41d3-9a53-1191b957a9f1}