发布时间:2022-09-18 07:30
1. PUT方法上传文件
HTTP请求方法之一,允许向服务器直接写入文件。
(1)Apache如何开启PUT方法
a.:测试Apache是否开启了put方法
telnet 172.168.128.128 80 测试说明端口可用
OPTIONS / HTTP/1.1
HOST:172.168.128.128
b:Apache开启put方法操作
–在apache\modules中检查是否存在mod_dav.so和mod_dav_fs.so这两个模块,需要确定存在
–修改apache\conf\httpd.conf,将以下两句打开
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
–开启模块:在文件中添加一行
c:开启文件锁
需要在httpd.conf文件的头部添加下面的一句代码:
DavLockBD c:\phpstudy\www\DavLock
d:创建文件DavLock
在c:\phpstudy\www里创建文件 DavLock(文本文件)
(2)上传文件
PUT /info.php HTTP/1.1
HOST:172.168.128.128
Content-Length:18
phpinfo();?>
2. 前端限制与绕过
如果文件上传是在前端进行校验,那么是可以轻松绕过的,因为前端JS脚本检测的安全防御十分薄弱。前端一般是通过黑名单/白名单检测进行限制。
(方法一):因为JS脚本的运行环境是浏览器,我们可以修改JS代码,甚至删除表单事件。
(方法二):使恶意文件后缀名符合白名单策略,用Burpsuite挂代理抓包,然后修改文件后缀名即可。