实验环境:
Win7sp1、Php环境、两台虚拟机
被攻击者IP:192.168.1.1、攻击者IP:192.168.1.2
1:绕过前台脚本检测扩展名
当用户在客户端选择文件点击上传的时候,客户端还没有向服务器发送任何消息,就对本地文件进行检测来判断是否是可以上传的类型,这种方式称为前台脚本检测扩展名。
系统源代码损毁,正确上传不跳转
原理就是改文件名2.jpg,然后抓包改filename的后缀为2.php服务器就可以解析了


2:绕过Content-Type检测文件类型上传webshell
截图发现我们.php的content-type是application/octet-stream
我们通过burp把其改为可上传的类型:image/gif
1 绕过Content--Type文件类型检测,就是用BurpSuite截取并修改数据包中文件的Content-Type类型(如改为:image/gif),使其符合白名单的规则,达到上传的目的。



3:利用00截断上传webshell
1 在上传的时候,当文件系统读到【0x00】时,会认为文件已经结束。利用00截断就是利用程序员在写程序时对文件的上传路径过滤不严格,产生0x00上传截断漏洞。
把文件名改为:1.php a(空格是20,a是61)好找
然后抓包在hex中改20为00
之后就变为1.php方块a
方块就是0X00所以系统就以为结束了不读取后面的所以就存入了1.php
4:绕过服务器端的扩展名检测
1 当浏览器将文件提交到服务器端的时候,服务器端会根据设定的黑白名单对浏览器提交上来的文件扩展名进行检测,如果上传的文件扩展名不符合黑白名单的限制,则不予上传,否则上传成功。
改文件名1.php为1.php.abc
5.图片马上传绕过文件内容检测
1 上传文件时,对方使用JavaScript语句语法检测上传文件的合法性问题。
制作图片马。上传2.jpg
抓包改为2.jpg.php就可以上传
6.利用.htaccess攻击上传
1 上传覆盖.htaccess文件,重写解析规则,将上传的带有脚本马的图片以脚本方式解析。
上传一个.htaccess文件(内容就是把什么格式的给按照php解析)
抓包把.htaccess改为.htaccess然后上传改过后的木马文件就OK

强