Web安全--文件上传漏洞基础知识

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
–开启模块:在文件中添加一行
Web安全--文件上传漏洞基础知识_第1张图片
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挂代理抓包,然后修改文件后缀名即可。

你可能感兴趣的:(web安全)