<small id='huev0yfi'></small><noframes id='of24w2h4'>

    1. <i id='59ahc7z5'><tr id='h93jzjg9'><dt id='y5nskbq8'><q id='co9pw5r3'><span id='hqs0oetj'><b id='7b5lfsb9'><form id='i2ghprnz'><ins id='jwkbzv4p'></ins><ul id='ftcrvxs0'></ul><sub id='ygruuhhv'></sub></form><legend id='35dd3wbs'></legend><bdo id='mdohlq0k'><pre id='nfy72cxk'><center id='g3ox65j7'></center></pre></bdo></b><th id='chh9egcu'></th></span></q></dt></tr></i><div id='niya4l6x'><tfoot id='j5kwhf69'></tfoot><dl id='3epro0n1'><fieldset id='zvhok9ay'></fieldset></dl></div>

          <bdo id='eephg6a5'></bdo><ul id='szsfdlao'></ul>
        <tfoot id='vihq3yoz'></tfoot>
        <legend id='leqs01ll'><style id='i9p23bnw'><dir id='4f5y2g8r'><q id='k5ukhfln'></q></dir></style></legend>

        精准传达 • 价值共享

        洞悉互联网前沿资讯,探寻网站营销规律

        webshell检测方法归纳

        作者: 庚午网络 | 2020-11-10 19:04 |点击:

        网络营销 网络推广 整合营销 DEDECMS5.7

        1. <legend id='r8c7nbuy'><style id='3bv2yid6'><dir id='mlct7ka3'><q id='4jhj3z57'></q></dir></style></legend>
          <i id='38pm5v88'><tr id='j5aq6889'><dt id='3kv9hz30'><q id='30oc6mca'><span id='90iik0wh'><b id='g2x5qgje'><form id='hy1z81c4'><ins id='dbnit3xu'></ins><ul id='8iv4b45d'></ul><sub id='2w2hlh5i'></sub></form><legend id='lvg0vt2w'></legend><bdo id='yrh0t6st'><pre id='x41f49m6'><center id='x0zci9p3'></center></pre></bdo></b><th id='lwm449i0'></th></span></q></dt></tr></i><div id='d754ev9p'><tfoot id='euso7h09'></tfoot><dl id='qqedxuun'><fieldset id='5jmy2v87'></fieldset></dl></div>

          <small id='mgdyfg6u'></small><noframes id='2ppc6suv'>

            <bdo id='xpvlhx8o'></bdo><ul id='prs38fro'></ul>

            <tfoot id='6l1uncj2'></tfoot>
                  <tbody id='00vn2hr5'></tbody>

                • 一  什么是webshell


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

                  二  webshell长什么样子


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

                  webshell检测方法归纳
                   

                  x01 webshell检测模型

                  Webshell的运行流程:hacker -> HTTP Protocol -> Web Server -> CGI。简单来看就是这样一个顺序:黑客通过浏览器以HTTP协议访问Web Server上的一个CGI文件。棘手的是,webshell就是一个合法的TCP连接,在TCP/IP的应用层之下没有任何特征(当然不是绝对的),只有在应用层进行检测。黑客入侵服务器,使用webshell,不管是传文件还是改文件,必然有一个文件会包含webshell代码,很容易想到从文件代码入手,这是静态特征检测;webshell运行后,B/S数据通过HTTP交互,HTTP请求/响应中可以找到蛛丝马迹,这是动态特征检测。

                   

                  0x02 静态检测

                  静态检测通过匹配特征码,特征值,危险函数函数来查找webshell的方法,只能查找已知的webshell,并且误报率漏报率会比较高,但是如果规则完善,可以减低误报率,但是漏报率必定会有所提高。优点是快速方便,对已知的webshell查找准确率高,部署方便,一个脚本就能搞定。缺点漏报率、误报率高,无法查找0day型webshell,而且容易被绕过。对于单站点的网站,用静态检测还是有很大好处,配合人工,能快速定位webshell,但是如果是一个成千上万站点的大型企业呢,这个时候再人肉那工作量可就大了。所以用这样一种思路:强弱特征。即把特征码分为强弱两种特征,强特征命中则必是webshell;弱特征由人工去判断。加入一种强特征,即把流行webshell用到的特征作为强特征重点监控,一旦出现这样的特征即可确认为webshell立即进行响应。要解决误报和漏报,就不能拘泥于代码级别了。可以换个角度考虑问题:文件系统。我们可以结合文件的属性来判断,比如apache是noboy启动的,webshell的属主必然也是nobody,如果我的Web目录无缘无故多了个nobody属主的文件,这里就有问题了。最理想的办法是需要制度和流程来建设一个web目录唯一发布入口,控制住这个入口,非法进来的Web文件自然可以发现。

                  笔者基于静态检测的webshell工具

                   

                  0x03 动态检测



                   

                  webshell传到服务器了,黑客总要去执行它吧,webshell执行时刻表现出来的特征,我们称为动态特征。先前我们说到过webshell通信是HTTP协议。只要我们把webshell特有的HTTP请求/响应做成特征库,加到IDS里面去检测所有的HTTP请求就好了。webshell起来如果执行系统命令的话,会有进程。Linux下就是nobody用户起了bash,Win下就是IIS User启动cmd,这些都是动态特征。再者如果黑客反向连接的话,那很更容易检测了,Agent和IDS都可以抓现行。Webshell总有一个HTTP请求,如果我在网络层监控HTTP,并且检测到有人访问了一个从没反问过得文件,而且返回了200,则很容易定位到webshell,这便是http异常模型检测,就和检测文件变化一样,如果非管理员新增文件,则说明被人入侵了。缺点也很明显,黑客只要利用原文件就很轻易绕过了,并且部署代价高,网站时常更新的话规则也要不断添加。还有一个思路利用函数劫持。回忆一下,我们调试网马的时候,怎么还原它各种稀奇古怪的加密呢,简单,把eval改成alert就好了。类似的,所以我们可以在CGI全局重载一些函数(比如ASP.NET的global.asax文件),当有webshell调用的时候就可以发现异常。已js为例(php,asp等语言思路一样的,都是保存原函数,然后从新定义原函数,最后在调用保存的原函数),比如下面就是把eval重载,还可以弹出个危险提示等,吓退一些没经验黑客。
                   

                  三   webshell检测有哪些方法

                   


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

                  webshell检测方法

                  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。

                  二度创作,如有侵权请联系删除。如没特殊注明,文章均为庚午网络原创,转载请注明https://www.hngengwu.com/shejiguandian/455.html

                  1. <small id='56aaj9v9'></small><noframes id='4169yovh'>

                  2. <legend id='ulryqnj1'><style id='4i7l245e'><dir id='mfccb2vo'><q id='v9e7bdrq'></q></dir></style></legend>
                      <bdo id='q6pnb6ll'></bdo><ul id='ysa4jgmk'></ul>
                    <i id='zp1wkn1z'><tr id='i5clbolc'><dt id='0ulrbq8k'><q id='vw9m8ngy'><span id='m0bgf8mp'><b id='tv3alpau'><form id='1zgbs0nu'><ins id='ikcjsguj'></ins><ul id='14wdqoyd'></ul><sub id='5sfrvkkn'></sub></form><legend id='4iar0s15'></legend><bdo id='vrbytjq8'><pre id='akn74hgw'><center id='plic9iuv'></center></pre></bdo></b><th id='d6344wkg'></th></span></q></dt></tr></i><div id='sdgqoph6'><tfoot id='lk3vldgs'></tfoot><dl id='edtm3dt9'><fieldset id='zv5o1ed2'></fieldset></dl></div>
                    <tfoot id='9eqg8aut'></tfoot>
                      多一份策划方案,总有益处。

                      请直接添加技术总监微信联系咨询

                      网站设计 品牌营销

                      多一份参考,总有益处

                      联系庚午网络,获得专属《策划方案》及报价

                      咨询相关问题或预约面谈,可以通过以下方式与我们联系

                      业务热线:18574395938 / 大客户专线:18574395938