这个问题依旧是使用了“评论者链接的网址重定向跳转”后产生的,继上篇《wordpress评论者链接网址重定向跳转设置后出现的HTTP响应拆分漏洞》解决了HTTP响应拆分漏洞后,这次把任意网址跳转漏洞也给处理了。
依旧是上篇文章《wordpress评论者链接网址重定向跳转设置后出现的HTTP响应拆分漏洞》里的代码,这次就不贴了。
修改第五第六行代码:
$text=str_replace('href="', 'href="'.get_option('home').'/?r=', $text);
$text=str_replace("href='", "href='".get_option('home')."/?r=", $text);
为
$text=str_replace('href="', 'target="_blank" href="'.get_option('home').'/go.php?url=', $text);
$text=str_replace("href='", "target='_blank'href='".get_option('home')."/go.php?url=", $text);
修改第十一行代码
$redirect = $_GET['r'];
为:
$redirect = $_GET['url'];
然后新建文件go.php到网站根目录,go.php代码不贴了直接给文件,其中一个是直接跳转的另一个是带有跳转页面(可以添加广告),自选一个。
最后不要忘记在robots.txt里添加Disallow:/go.php?url=*