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 może wykorzystać drugorzędne SQLi. Musisz podać:
żądanie, w którym ładunek sqlinjection będzie zapisany
żądanie, w którym ładunek zostanie wykonany
Żądanie, w którym ładunek SQL injection jest zapisany, jest wskazane jak w każdej innej iniekcji w sqlmap. Żądanie gdzie sqlmap może odczytać wynik/wykonanie iniekcji można wskazać za pomocą --second-url
lub --second-req
, jeśli musisz wskazać pełne żądanie z pliku.
Prosty przykład drugorzędny:
W kilku przypadkach to nie wystarczy, ponieważ będziesz musiał wykonać inne działania oprócz wysłania ładunku i uzyskania dostępu do innej strony.
Kiedy to jest potrzebne, możesz użyć sqlmap tamper. Na przykład, poniższy skrypt zarejestruje nowego użytkownika używając ładunku sqlmap jako email i wyloguje się.
A SQLMap tamper jest zawsze wykonywany przed rozpoczęciem próby wstrzyknięcia z ładunkiem i musi zwrócić ładunek. W tym przypadku nie zależy nam na ładunku, ale na wysłaniu kilku żądań, więc ładunek nie jest zmieniany.
Więc, jeśli z jakiegoś powodu potrzebujemy bardziej złożonego przepływu, aby wykorzystać drugorzędne wstrzyknięcie SQL, jak:
Utwórz konto z ładunkiem SQLi w polu "email"
Wyloguj się
Zaloguj się na to konto (login.txt)
Wyślij żądanie, aby wykonać wstrzyknięcie SQL (second.txt)
Ta linia sqlmap pomoże:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)