文件上传
151:简单的前端验证,有多种绕过方法
152:简单后端验证,不知道过滤了那些后缀,我尝试以后都可以上传
153:利用.user.ini文件,虽然能上传.pht这一类文件但访问时只会下载下来
这里就关系到了网站中间件的设置问题
这里利用.user.ini文件,只要访问同目录下的php文件就能把目标png文件当作php文件加载
154-155:这一题似乎对文件内容进行了验过滤,不允许出现php
自行搜索绕过一下其他的和153题无异
156:过滤了[],但是[]可以使用{}替代
157-158:到现在已知过滤了'{}','[]','php',';'
可以直接写payload获得flag,不用在继续$_POST之类的
GIF89a
<?= eval(system('cat ../flag.p*'))?>
159:禁用了括号,system这些就用不了,利用``来执行命令,或者使用文件包含来利用日志文件输入指令
160:过滤了空格以及``以及log,使用文件包含和连接号 . 来利用日志文件输入指令
payload:
user-agent: <?php eval(system('cat flag.php'));?>
<?=include"/var/lo"."g/nginx/l"."og"?>
161:和160一样
但是会验证图片头信息
使用GIF89a在文件最上方添加
####这几道题在有做讲解文件上传{session文件包含以及条件竞争、图片文件渲染绕过(gif、png、jpg)}-CSDN博客
162-163:session文件包含以及条件竞争
164:png图片渲染
165:jpg图片渲染
166:只允许上传压缩文件,直接上传压缩文件在
上传后可以下载可能存在文件包含
随便创建一个zip文件上传抓包
点击下载文件抓包
执行命令
167:利用.htaccess文件
.htaccess一般只限定在使用appach的时候会有用
使用.htaccess文件要开启apache httpd.config AllowOverride All
.htaccess内容:
AddType application/x-httpd-php .jpg
168:可用段标签直接绕过
payload:<?=`ls ../`?>
前端过滤白名单只允许png文件,抓包以后可修改为php文件
169-170:利用.user.ini包含日志文件执行命令
.user.ini上传的目录下必须有php文件
前端限制zip文件,后端限制png文件,但是对后缀没有过滤
这样就算成功