MySQL injection
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-L_2uGJGU7AVNRcqRvEi%252Fuploads%252FelPCTwoecVdnsfjxCZtN%252Fimage.png%3Falt%3Dmedia%26token%3D9ee4ff3e-92dc-471c-abfe-1c25e446a6ed&width=768&dpr=4&quality=100&sign=9c8fe74f&sv=1)
RootedCON to najważniejsze wydarzenie związane z cyberbezpieczeństwem w Hiszpanii i jedno z najważniejszych w Europie. Z misją promowania wiedzy technicznej, ten kongres jest gorącym punktem spotkań dla profesjonalistów z dziedziny technologii i cyberbezpieczeństwa w każdej dyscyplinie.
Komentarze
Ciekawe Funkcje
Potwierdź Mysql:
Przydatne funkcje
Wszystkie wstrzyknięcia
from https://labs.detectify.com/2013/05/29/the-ultimate-sql-injection-payload/
Flow
Pamiętaj, że w "nowoczesnych" wersjach MySQL możesz zastąpić "information_schema.tables" przez "mysql.innodb_table_stats" (To może być przydatne do obejścia WAF-ów).
Tylko 1 wartość
group_concat()
Limit X,1
Ślepy jeden po drugim
substr(version(),X,1)='r'
lubsubstring(version(),X,1)=0x70
lubascii(substr(version(),X,1))=112
mid(version(),X,1)='5'
Ślepe dodawanie
LPAD(version(),1...lenght(version()),'1')='asd'...
RPAD(version(),1...lenght(version()),'1')='asd'...
SELECT RIGHT(version(),1...lenght(version()))='asd'...
SELECT LEFT(version(),1...lenght(version()))='asd'...
SELECT INSTR('foobarbar', 'fo...')=1
Wykrywanie liczby kolumn
Używając prostego ORDER
MySQL Union Based
SSRF
Dowiedz się tutaj o różnych opcjach, aby nadużyć wstrzyknięcia Mysql, aby uzyskać SSRF.
Sztuczki omijania WAF
Alternatywy dla information_schema
Pamiętaj, że w "nowoczesnych" wersjach MySQL możesz zastąpić information_schema.tables mysql.innodb_table_stats lub sys.x$schema_flattened_keys lub sys.schema_table_statistics
Wstrzyknięcie MySQL bez PRZECINKÓW
Wybierz 2 kolumny bez użycia przecinka (https://security.stackexchange.com/questions/118332/how-make-sql-select-query-without-comma):
Pobieranie wartości bez nazwy kolumny
Jeśli w pewnym momencie znasz nazwę tabeli, ale nie znasz nazw kolumn w tabeli, możesz spróbować znaleźć, ile kolumn tam jest, wykonując coś takiego:
Zakładając, że są 2 kolumny (pierwsza to ID, a druga to flaga), możesz spróbować brute force'ować zawartość flagi, próbując znak po znaku:
Więcej informacji w https://medium.com/@terjanq/blind-sql-injection-without-an-in-1e14ba1d4952
Historia MySQL
Możesz zobaczyć inne wykonania w MySQL, odczytując tabelę: sys.x$statement_analysis
Alternatywne wersjes
Inne przewodniki dotyczące wstrzykiwania MYSQL
Odniesienia
RootedCON to najważniejsze wydarzenie związane z cyberbezpieczeństwem w Hiszpanii i jedno z najważniejszych w Europie. Z misją promowania wiedzy technicznej, ten kongres jest gorącym punktem spotkań dla profesjonalistów z dziedziny technologii i cyberbezpieczeństwa w każdej dyscyplinie.
Last updated