Toolverse
All skills

sqli

by yhy0

SQL 注入漏洞检测与利用。当目标存在数据库查询、搜索功能、登录表单、URL 参数时使用。包括 UNION、报错、盲注等技术。

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Author
yhy0
Category
Security

About this skill

SQL 注入漏洞检测与利用。当目标存在数据库查询、搜索功能、登录表单、URL 参数时使用。包括 UNION、报错、盲注等技术。

How to use

  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.

Related skills