ホームページ  >  記事  >  php教程  >  DedeCMS 投票モジュールの脆弱性ソリューション

DedeCMS 投票モジュールの脆弱性ソリューション

WBOY
WBOYオリジナル
2016-06-21 08:49:581044ブラウズ

DedeCMS 投票モジュールの友人は、投票テーマのオプションが SQL インジェクションによって頻繁に削除されていたと報告しました。iOS100 ナレッジ ベースのコードを確認したところ、投票モジュールのコードが SQL パラメータを変換していないことが判明し、犯罪者による SQL インジェクションにつながったことが判明しました。 。 addslashes() を mysql_real_escape_string() に変更するだけです。

/include/dedevote.class.php ファイルを開き、$this->dsql->ExecuteNoneQuery("UPDATE `#@__vote` SET totalcount='".($this->VoteInfos['totalcount']) を探します。 +1 )."',votenote='".addslashes($items)."' WHERE helps='".$this->VoteID."'");

に変更します

$this->dsql->ExecuteNoneQuery("UPDATE `#@__vote` SET totalcount='".($this->VoteInfos['totalcount']+1)."',votenote='".mysql_real_escape_string( $items)."' WHERE helps='".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 で廃止されたため、推奨されません)

転載の際は出典を明記してください: http://www.ios100.net/open/dedecms/15830.html



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。