Toolverse
Wszystkie skille

sqli

autor: yhy0

Wykrywaj i testuj podatności SQL injection w formularzach, parametrach URL i nagłówkach HTTP.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
yhy0

O skillu

Umiejętność do automatycznego wykrywania i wykorzystywania luk SQL injection. Obsługuje techniki UNION, błędów bazy danych i ataków ślepych. Użyj jej, gdy aplikacja zawiera zapytania do bazy danych, funkcje wyszukiwania, formularze logowania lub parametry w URL. Narzędzie testuje zarówno parametry numeryczne, jak i tekstowe, identyfikuje podatne punkty wejścia i wyodrębnia dane z bazy poprzez różne wektory ataku dostosowane do MySQL, PostgreSQL i MSSQL.

Jak używać

  1. Zidentyfikuj potencjalne punkty wejścia podatne na SQL injection: parametry URL (id=, page=, search=), pola w formularzach logowania, parametry w ciasteczkach lub nagłówkach HTTP (User-Agent, Referer), oraz dane w treści JSON lub XML.

  2. Rozpocznij od testów podstawowych, wysyłając znaki specjalne takie jak pojedynczy cudzysłów, podwójny cudzysłów, komentarze (-- lub #) i wyrażenia logiczne (AND 1=1, AND 1=2) do podejrzanego parametru. Obserwaj różnice w odpowiedziach aplikacji — błędy bazy danych lub zmieniona zawartość wskazują na podatność.

  3. Jeśli aplikacja wydaje się podatna, określ liczbę kolumn w zapytaniu za pomocą klauzuli ORDER BY (ORDER BY 1, ORDER BY 2, itd.) lub UNION SELECT z rosnącą liczbą NULL. Znajdź maksymalną liczbę kolumn, którą aplikacja akceptuje.

  4. Dla ataku UNION: użyj UNION SELECT, aby wyświetlić dane z tabel systemowych (information_schema, pg_catalog). Wyodrębnij nazwy tabel, kolumn, wersję bazy i dane użytkowników. Dla MySQL spróbuj: UNION SELECT username,password,3 FROM users--

  5. Jeśli bezpośredni wynik nie jest widoczny, zastosuj atak błędów: użyj funkcji takich jak extractvalue() lub updatexml() w MySQL, aby wymusić błąd zawierający wynik zapytania. W PostgreSQL i MSSQL konwertuj wynik na typ, który wywoła błąd.

  6. W przypadku aplikacji, które nie wyświetlają błędów ani wyników, użyj ataku ślepego: testuj warunki logiczne (SUBSTRING, ASCII) i mierz czas odpowiedzi lub różnice w zawartości strony. Wyodrębniaj dane znak po znaku, porównując odpowiedzi dla prawdziwych i fałszywych warunków.

Podobne skille