POST TIME:2020-04-01 19:21
有站長反映織夢投票模塊的投票主題選項經(jīng)常被sql注入刪除,經(jīng)過查看代碼發(fā)現(xiàn)投票模塊代碼沒有對sql參數(shù)進行轉(zhuǎn)換,導(dǎo)致被黑客sql注入。
解決方法如下:
只要把 addslashes() 改為 mysql_real_escape_string() 即可。
打開/include/dedevote.class.php文件
查找
$this->dsql->ExecuteNoneQuery(“UPDATE `dede_vote` SET totalcount=’”.($this->VoteInfos['totalcount']+1).”‘,votenote=’”.addslashes($items).”‘ WHERE aid=’”.$this->VoteID.”‘”); |
修改為
$this->dsql->ExecuteNoneQuery(“UPDATE `dede_vote` SET totalcount=’”.(mysql_real_escape_string($this->VoteInfos['totalcount'])+1).”‘,votenote=’”.mysql_real_escape_string($items).”‘ WHERE aid=’”.mysql_real_escape_string($this->VoteID).”‘”); |
注:
* addslashes() 是強行加;
* mysql_real_escape_string() 會判斷字符集,但是對PHP版本有要求;(PHP 4 >= 4.0.3, PHP 5)
* mysql_escape_string不考慮連接的當前字符集。(PHP 4 >= 4.0.3, PHP 5, 注意:在PHP5.3中已經(jīng)棄用這種方法,不推薦使用)
相關(guān)閱讀:
織夢DedeCms防護XSS,sql注射,代碼執(zhí)行,文件包含等多種高危漏洞通用代碼
織夢DedeCMS實用技巧-八大安全措施
DedeCMS漏洞頻發(fā) 安全聯(lián)盟提供頑固木馬后門專殺工具