国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > 正则表达式查找CRLF注入攻击漏洞(HTTP响应拆分漏洞)

正则表达式查找CRLF注入攻击漏洞(HTTP响应拆分漏洞)

来源:程序员人生   发布时间:2014-05-13 07:39:20 阅读次数:3024次

使用 360 检测了站点漏洞之后,发了一篇解决漏洞的文章,在这。但是很多童鞋都有一些问题,很多童鞋都是卡在了变量名称的这个步骤上,不知道怎样查找和添加代码,的确是的,因为每一个程序的变量名称都是不可能相同的,又怎样能够保证代码的通用性呢,今天我们就来手把手的教会大家,怎样通过正则表达式,查找并且添加代码吧。

$.+= $_GET['.+'];
$.+=$_GET['.+'];

上面是本次要使用的两个正则表达式,注意:两行代码都是独立的,不能一口气放在一起用,每次使用一行正则表达式就好。

这里要说一下,如果童鞋使用知更鸟编写的插件 comments-link-redirect 的插件的话,就一定要看这篇文章了,因为这个插件就有CRLF注入攻击漏洞(HTTP响应拆分漏洞),我已经反应给了知更鸟,他说会有更新。我们就从这个插件入手,看看怎样解决站点漏洞吧。

76114887520120925

首先用 Dreamweaver 一类的支持正则表达式的代码编辑程序打开所有可能存在漏洞的 PHP 文件。

132840806920120925

打开搜索对话框(键盘按下 Ctrl+F),之后把“使用正则表达式”选项勾选。

74452253420120925

依次使用上面提供的两个正则表达进行搜索,注意,我指的是依次,不是两行一起用。如果找到匹配的值的话,代码浏览窗口部分就会高亮出来匹配的代码。

120474889720120925

看到正则表达式中搜索到了下面这段代码。

$redirect = $_GET['r'];

下面开始普及一下了,上面的代码中的 $redirect 中的 redirect 就是变量名称,变量名称很可能叫做 abcd、heheh 都是有可能的了。那么我们就在上面这行代码的下一行紧接着插入下面的代码。

$redirect = trim(str_replace("","",str_replace("","",strip_tags(str_replace("'","",str_replace("", "", str_replace(" ","",str_replace(" ","",trim($redirect))))),""))));

上面这段代码中有两个变量名称,就是以 $ 开头的英文单词,如果你需要根据自己的要求使用的话,就一定要更换其中的两个变量名称。将上面的代码复制到有漏洞的代码的下方就可以了,就像下面这样。

$redirect = $_GET['r'];
$redirect = trim(str_replace("","",str_replace("","",strip_tags(str_replace("'","",str_replace("", "", str_replace(" ","",str_replace(" ","",trim($redirect))))),""))));

这样一来,所有问题就都解决啦。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生