小迪安全day20WEB漏洞-文件上传之基础及过滤方式
-
什么是文件上传漏洞
有文件上传就可以测试是否有漏洞,关键看代码是否完备。
服务端代码未对客户端上传的文件进行严格的验证和过滤
-
漏洞危害
自定义网站后门,获取网站权限,属于高危漏洞。
上传Webshell脚本,网页后门,查看服务器目录,服务器中的文件等
-
如何查找判断
- 黑盒查找:不知道源代码情况下,通过目录扫描和网站应用,以及通过网站后台、会员中心进行获取权限,需要自己判断。
- 白盒查找:通过源代码分析文件上传漏洞。
- 判断:通过抓包分析
-
注意事项以及应用说明
文件上传的区分归类,是编辑器还是第三方应用,还是其它的,再进行后续测试
常规文件上传地址的获取说明
-
搜索语法搜索关键词
inurl:upload.php
-
网站的目录扫描(铸剑)
-
针对网站进行搜索upload关键词
site:youku.com upload
-
网站应用功能
—上传头像、图片、会员中心、上传视频
不同格式下的文件类型后门测试
后门程序又称特洛伊木马,后门是一种登录系统的方法,它不仅绕过系统已有的安全设置,而且还能挫败系统上各种增强的安全设置。
-
php网站一般上传php后门
-
PHP后门上传格式为JPG(在文件内插入PHP代码)不能执行,不要妄想以图片为后门控制网站
配合解析漏洞下的文件类型后门测试
复现vulhub的nginx解析漏洞
-
cd vulhub/nginx
ls查看存在的漏洞
cd nginx_parsing_vulnerability
-
docker-compose up -d启动环境
docker-compose config查看端口
ip add show eth0查看ip地址
-
根据ip地址进入漏洞复现界面
上传植入后门的图片,进入地址
-
增加/.php后缀,被解析成PHP文件
本地文件上传漏洞靶场环境搭建测试
搭建upload-labs靶场
Pass-01前端验证
- 修改JS文件
- 禁用js
- 上传png后缀的webshell,代理抓包,修改上传的文件后缀 (推荐)
burpsite抓包,传到repeater模块,插入一句话木马
<?php
phpinfo();
@eval($_POST[xx]);
?>
ps:@是阻断php语句报错的符号,跟在@后面的php语句不会报错
跳转URL至/upload/xxx.php
利用蚁剑连接URL和密码,就可以进入到目标目录
某 CMS 及 CVE 编号文件上传漏洞测试
Weblogic 任意文件上传漏洞(CVE-2018-2894)
- docker compose logs | grep password获取密码,用于登录进入复现的系统
- 再根据vulhub官网提示进行复现(jsp文件上传)