好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

利用grep查找webshell - 网站安全 - 自学php

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 Unix的grep家族包括grep、egrep和fgrep。 利用grep命令我们可以查找常见的 漏洞 、webshell和其他恶意文件。 本文使用的grep版本为2.9,如果你使用一个低于2.5.4的grep,那本片文章中的一些命令可能无法正常工作。 可以用grep -v或grep -version确定一下版本。 你也可以使用grep –help查看更多信息。如下图: 发现漏洞的常见方法: 为什么大多数web应用程序都会发现一些不安全的代码,就是因为调用了一些不安全的函数,而又未进行过滤。例如:命令注入或远程代码执行,可以执行客户端传递的参数。这里常常会用到shell_exec函数。 我们可以用grep命令搜索文件中存在shell_exec函数的地方,如下: grep -Rn [shell_exec *( ]/var/www 上图中,我们可以看到可能存在漏洞的函数行和路径。 另一个例子: include require include_once和require_once 都是可能存在问题的地方,它可能会造成本地文件包含漏洞。 我们可以使用grep查找出现该函数的地方然后进行测试判断,如下: grep -Rn [include *(] /var/www grep -Rn [require *(] /var/www grep -Rn [include_once *(] /var/www grep -Rn [require_once *(]/var/www 以上两个简单的例子可以做为白盒挖掘漏洞的参考,下面介绍一下查找webshell和其他恶意文件的方法: 常见的webshell都会包含一些功能,如执行命令、 下载 文件、编辑文件、反弹连接等行为。 除了常见的shell_exec,base64_decode和eval,还有其他的一些特征码,比如phpspy2006中会包含[Version:2006,proxycontents],phpspy2008中会包含[phpspypass,goaction(‘backconnect]等等。 还有以下一些常见的特征: phpinfo system php_uname chmod fopen flclose readfile edoced_46esab passthru我们可以用grep搜索包含这些函数的文件,如下: grep -Rn [shell_exec *(] /var/www grep -Rn [base64_decode *(] /var/www grep -Rn [phpinfo *(] /var/www grep -Rn [system *(] /var/www grep -Rn [php_uname *(] /var/www grep -Rn [chmod *(] /var/www grep -Rn [fopen *(] /var/www grep -Rn [fclose *(] /var/www grep -Rn [readfile *(] /var/www grep -Rn [edoced_46esab *(] /var/www grep -Rn [eval *(] /var/www grep -Rn [passthru *(]/var/www HdhCmsTest2cto测试数据 当然这些可以合并成一条命令,如下: grep -RPn [(passthru|shell_exec|system|phpinfo|base64_decode|chmod|mkdir|fopen|fclose|readfile|php_uname |eval|tcpflood|udpflood|edoced_46esab) *\(] /var/www 原文:http://HdhCmsTestfreebuf测试数据/articles/4074. html

查看更多关于利用grep查找webshell - 网站安全 - 自学php的详细内容...

  阅读:49次