简述:
文件上传漏洞是由于网站对上传的文件没有进行严格筛查,导致用户可以上传一些可执行文件的恶意代码,或webshell,如asp,hph等,然后再通过url访问执行恶意代码,或是通过webshell,达到对网站的控制。
本次在一个靶场题目上进行测试:WebShell文件上传漏洞分析溯源
过程:
界面:
- 前端检测查看
不属于前端检测
- 00截断测试
1、创建一句话木马:<?php phpinfo();?>
,保存为如下形式:
执行该文件时查看php信息
2、打开burpsuit设置代理服务器进行数据包拦截
3、在文件名处的111.php后加空格
4、在16进制信息形式处找到添加的空格(20)
将其修改为00
5、返回文界面,发现空格消失
6、forword提交,页面报错
因此00截断测试失败。
- 扩展名变换测试
1、创建一句话木马文件111.php
,内容与之前相同
2、打开burpsuit进行数据包拦截,并提交上传
3、将文件后缀改为.php5
(.php1,.php2,.php3,.php4,.php5都可测试)
4、提交发现上传成功
5、访问该路径下的该文件
发现弹出所上传的php脚本内容,上传成功。
根据更改扩展名上传大致能判断,该防护属于黑名单过滤,由于.php5也可以解析为php文件,而黑名单中并未添加,因此可以成功绕过拦截。
- 继续进行深入:
1、重写一个一句话木马,并按照之前的方式进行上传
2、上传成功后,打开菜刀,添加上传了木马文件的url地址及命令
3、右键查看该url的文件管理器
可以看到,整个服务器的文件已经被获取,包括此前进行测试的木马文件,并且可以对文件任意进行查看,更改,添加,删除,执行。
在文件目录中找到了key文件,得到key,实验结束。
学习整理,若有问题请指出。