shell上传绕过检测方法

shell上传条件:

1、上传

2、绝对路径

3、要有权限


开始上传(先试着上传小马,然后在上传大马,因为有时大马更容易被吃掉)

1、直接上传shell,即PHP文件 (对文件类型不做限制)

2、更改后缀

上传其他允许上传格式的文件例如png、jpg。然后再改后缀PHP (在前端验证黑白名单)

3、利用解析漏洞(即在文件绝对路径加上 /xx.PHP

上传例如png的文件,利用解析漏洞 (含有解析漏洞的web服务器)

4、不可识别的后缀

上传例如shell.PHP.abc文件,服务器因为不能识别abc后缀,所以向前查找可解析的后缀名。

5、00截断

上传类似shell.PHP.jpg文件,用burpsuit抓包之更改hex值,在hex下找到shell.PHP.jpg将第二个点的值(我记得是2e)改为00,然后点击forward(将包放行)

6、图片

win系统cmd下可以很容易将PHP文件与jpg或者png文件结合起来,例 copy /b 1.jpg+1.PHP shell.jpg 即可将图片与码结合起来了,因为有些服务器会检测图片头,若不是图片头是不允许上传的。将图片与码结合起来可以有效的隐藏木马。这里别忘了要上传的是PHP文件,可以使用以上的那些方法

7、.htaccess 文件攻击上传shell

.htaccess文件Apache服务器中的一个配置文件,它负责相关目录下的网页配置.通过htaccess文件,可以实现:网页301重定向自定义404页面改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置认文档等功能

①、写.htaccess文件

需要用到的代码如下:

<FilesMatch "cimer">

SetHandler application/x-httpd一PHP

</FilesMatch>

(通过.htaccess文件调用PHP的解析器解析一个文件名只要包含“cimer”这个字 符串的任意文件。)

然后保存文件名称、类型如下)

wKiom1ndOpXDqV6YAABkUwjXLlQ579.png-wh_50

②、上传.htaccess文件

③、将shell后缀改为cimer

④、然后上传shell.cimer

⑤、然后就可以连接了

如果看不懂看以参考 http://www.sohu.com/a/125498727_609556


上传方法很多,也有各种各样的奇葩绕过方法,我知道的也是九牛一毛,这里对奇葩事例记录一下,为防止以后忘记。

事例:海盗云商 会员改头像 burpsuit抓包后在content-type下加上文件大小 就可以getshell

或者上传图片后再加入木马,就可以getshell(这里有一个问题,就 是<?PHP @eval($_POST['aaa']) ?> 一句话是没有分号的,有分好 反而不成功)

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...