三动 2020-06-16
怎么说呢,个人理解就是通过进行上传文件操作时,通过一些方法绕过前端将脚本木马
上传到web服务器上,并进行解析运行上传的脚本木马,进而达到自己的目的。
再简单点就是通过这种文件上传途径,找到安全漏洞并利用其漏洞实现脚本木马。
这里再结合一下PDF中的解释:
文件上传功能本身没有问题,有问题的是文件上传后,服务 器怎么处理、解释文件。如果服务器的处理逻辑做的不够安 全,则会导致严重的后果。
(1)文件上传时检查不严 比如应用在文件上传时根本没有进行文件格式检查,导致攻击者可以直接上传恶意文件。
或应用仅仅在客户端进行了检查,而在专业的攻击者眼里几乎所有的客户端检查都等于没有检 查,攻击者可以通过NC,Fiddler等断点上传工具轻松绕过客户端的检查。
(2)文件上传后修改文件名时处理不当 一些应用在服务器端进行了完整的黑名单和白名单过滤,在修改已上传文件文件名时却百密一 疏,允许用户修改文件后缀。
如应用只能上传.doc文件时攻击者可以先将.php文件后缀修改为.doc,成功上传后在修改文件名 时将后缀改回.php。
(3)使用第三方插件引用时 好多应用都引用了带有文件上传功能的第三方插件,这些插件的文件上传功能实现上可能有漏 洞,攻击者可通过这些漏洞进行文件上传攻击。
如著名的博客平台WordPress就有丰富的插件,而这些插件中每年都会被挖掘出大量的文件上传 漏洞。
个人理解就是可以通过Webshell这种工具来进行对服务器的一定程度的操作权限,但如果有安全漏洞的话就会被利用,用作入侵手段
这玩意之前做CTF题目时用到过,也请教了下二位杠把子,所以大致的使用还是基本知道的
这里就简单简述下:
安装+配置环境变量(这个在网上就能搜到)
手动设置代理商的IP地址和端口号(套接字)
抓包+放包+丢包
以及对抓到的包修改参数等操作进行请求操作获取响应报文
1、先检测上传方式能不能上传,有可能你找到的上传方式是个假的上传区
就是连正常的上传文件都无法上传成功。
2、然后再测一下是黑名单过滤还是白名单过滤
若是黑名单过滤方法就更多,白名单就比较难以绕过了
3、怎么检测呢?两者区别在于有无文件内容,所以只需要在所抓到的包中随便改后缀名
比如改成1.fasfsafasfasfa看是否可以获取到响应报文,可以那就是黑名单了,反之则是白名单
之后就靠一些方法来实现绕过了。比如畸形后缀名,大小写,双写,.htaccess等,下面有图示
(.htaccess的例子)
<FilesMatch "1.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
后面的就是实例操作了
老师演示了6个实例操作,听起来也更生动形象。
怎么说呢,还是得自己去实例操作一下,去实操熟练起来