![](https://miro.medium.com/v2/resize:fit:700/0*kL--rfFfhK9k5oew.png)
Yo homies、。それでは始めよう
セカンドオーダーSQLインジェクションについて説明する前に、SQLインジェクションとは何かについて話さなければなりません
SQLインジェクションとは何ですか
SQLインジェクションは、悪意のあるSQLクエリをアプリケーションに注入する攻撃です
SELECT * FROM `users` WHERE `name`='Isuk4' AND `pass`='Isuk4';
![](https://miro.medium.com/v2/resize:fit:416/0*CUznyRRgh5jR8I5t.png)
しかし、もし攻撃者がこれにSQLクエリを挿入したらどうなるか
SELECT * FROM `users` WHERE `name`=' ' OR '1' AND `pass`=' ' OR '1';
![](https://miro.medium.com/v2/resize:fit:543/0*O-1XO_stOwYzCGFH.png)
だから、もうわかっていると思います。www
では、セカンドオーダーSQLインジェクションに深く入ってみましょう
セカンドオーダー攻撃とは何ですか
第1オーダー攻撃(つまり、どの第1オーダー攻撃でも)では、ペイロードは直ちに実行されますが、セカンドオーダー攻撃では異なります。セカンドオーダー攻撃では、ペイロードは格納され、その後に実行されます。🤢🤢
![](https://miro.medium.com/v2/resize:fit:498/0*U_9Z8JVbtaV2A4_T.gif)
えーと、これをはっきり言わせてください。セカンドオーダー攻撃では、ペイロードが注入され、その後にアプリケーション内の他のページや他の機能で実行されます。
わかったと思います 😎
では、セカンドオーダーSQLインジェクションの例のページをダウンロードしました
以下はリンクです — https://github.com/riyazwalikar/sql-injection-training-app
OK、それをセットアップし、phpMyAdminに行ってみると、adminというユーザーがいることがわかりました。私の使命は、adminのパスワードを取得し、adminユーザーを取得することです(たとえば、phpMyAdminを使用してもできます)
では、セカンドオーダーの例のページに行きましょう
![](https://miro.medium.com/v2/resize:fit:700/0*He5yyz1YCPUuySOk.png)
OK、今、このウェブサイトにセカンドオーダーのSQLインジェクションがあるかどうかを調べています(笑、これは例のアプリケーションです)
シングルクォートを入力に追加してテストしました
![](https://miro.medium.com/v2/resize:fit:700/0*tv90inWzFr__PEXU.png)
OK、このページには脆弱性がありません。しかし、「パスワードの変更」ページに行ったら、これが表示されました
![](https://miro.medium.com/v2/resize:fit:700/0*qffbxxLA2omyWZwI.png)
![](https://miro.medium.com/v2/resize:fit:498/0*geBjbQxpJ-DN7eqa.gif)
えーと、脆弱性を見つけました。だから、私の目標を達成する必要があります
だから、そのためにペイロードを注入します
' or 1 in (select password from users where username='admin') -- //
![](https://miro.medium.com/v2/resize:fit:700/0*LGAs09-5x3sRtaeW.png)
![](https://miro.medium.com/v2/resize:fit:700/0*QJTm-kM69ME3IawE.png)
![](https://miro.medium.com/v2/resize:fit:700/0*VRzHV-wPHbkKOUB2.png)
うん、これで必要なのはMD5でこれを復号化するだけです
![](https://miro.medium.com/v2/resize:fit:700/0*Lr3I_2KUw2g_AmM7.png)
yeeeah baby
これでおしまいです。しかし、これは簡単な例です。実際のアプリケーションは異なり、脆弱性を見つけるのが難しいことを覚えておいてください:-
so Ima off
echo "GGS! Ima off"