摘要: wordpress281评论显示xss漏洞 by kxlzx inbreak.net ps:感谢鬼仔'blog,XEYE's blog协助测试。 实际上是个XSS漏洞。 POC:XML/HTML代码在评论的网址一栏,填写&n...
wordpress281评论显示xss漏洞
by kxlzx inbreak.net
ps:感谢鬼仔'blog,XEYE's blog协助测试。
实际上是个XSS漏洞。
POC:
XML/HTML代码
- 在评论的网址一栏,填写
- upload/2009/7/200907262300572865.jpg" />
管理员登录后,我们就能记录密码。
对于整个流程说明:
1,发评论让管理员对你的url有兴趣,然后等管理员上钩。
2,管理员在后台把鼠标移动到你的url上。
3,跳转到a.php,先获取referer。
4,输入密码后,提交到kxlzxtest/testxss/wp.php。
5,referer,user,pass保存为"域名.txt"。
6,输出一段JS,跳转到referer地址去。
a.php代码:
PHP代码
- <?php
- $website = $_SERVER['HTTP_REFERER'];
- $website=strtolower($website);
- $website=substr($website,7);
- $website=substr($website,0,strpos($website,'/'));
- //这个页面是用来冒充登录页面的,危害巨大,代码不方便提供。
- ?>
wp.php代码
嗯。。。本来打算和某个短信平台配合一下,给我发短信提醒的,后来因为懒,就没写。
SHELL代码
- <?php
- //被lv老子过滤。
- ?>
这只是个DEMO,实际上,后台有编辑PHP文件的功能,你可以写个AJAX出来,自动获取编辑插件文件的页面中的token字段(名字忘记了,叫做XXonce),之后提交一个PHP shell过去。就不用钓鱼了。
漏洞代码:
wordpress\wp-admin\includes\template.php
文件中的$author_url没有对单引号做过滤,最后又使用拼接href='$author_url'。
导致我们可以添加一个这个href的事件函数进去。
前台的评论展示,也存在这个漏洞。
修补方式:
不建议自己手工修补,建议把评论暂时关闭,然后等官方补丁就是了。
到目前为止,官方可能还不知道。
语言不通,好心人看到同时,可以通知下官方。