Second Order Injection - SQLMap
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
SQLMapはセカンドオーダーSQLiを悪用できます。 提供する必要があるのは:
SQLインジェクションペイロードが保存されるリクエスト
ペイロードが実行される****リクエスト
SQLインジェクションペイロードが保存されるリクエストは、sqlmapの他のインジェクションと同様に示されます。SQLインジェクションの出力/実行をsqlmapが読み取ることができるリクエストは、--second-url
またはファイルから完全なリクエストを示す必要がある場合は--second-req
で示すことができます。
シンプルなセカンドオーダーの例:
いくつかのケースではこれだけでは不十分です。なぜなら、ペイロードを送信し、別のページにアクセスする以外に他のアクションを実行する必要があるからです。
これが必要な場合は、sqlmap tamperを使用できます。例えば、次のスクリプトはsqlmapペイロードをメールとして使用して新しいユーザーを登録し、ログアウトします。
A SQLMap tamperは、ペイロードを使ってインジェクションを試みる前に常に実行され 、ペイロードを返す必要があります。この場合、ペイロードには関心がありませんが、いくつかのリクエストを送信することに関心があるため、ペイロードは変更されません。
したがって、何らかの理由で、第二次SQLインジェクションを悪用するためにより複雑なフローが必要な場合は、次のようになります:
"email"フィールドにSQLiペイロードを含むアカウントを作成
ログアウト
そのアカウントでログイン(login.txt)
SQLインジェクションを実行するリクエストを送信(second.txt)
このsqlmapの行が役立ちます:
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)