![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pytanie teoretyczne:
czy jest możliwość wstawienia zapytania z union, do następującej teoretycznej sytuacji: skrypt niezabezpieczony w zaden sposob przed sqlinjection, mozna wkladac co nam się chce. wykonywane zapytanie:
gdzie cosZforma to dana, która moze w formularzu dowolnie modyfikowac. Chcac wstawic uniona, wystarczy wiec za cosZforma wstawic: ' union select c1,c2,c3 from innatabela where '1=1 w rezulatacie otrzymamy poprawne zapytanie z union
pojawia sie jednak problem, gdyz nasze glowne zapytanie poprzedzane jest zapytaniem zliczającym, czyli
w rezulatacie po wstawieniu naszej zmiennej otrzymamy
Co wywali nam zapytanie, gdyz union dostarczy nam inną liczbę kolumn. Skrypt dalej sie nie wykona, bo zapytanie z count(*) zwraca nam false i nie jedziemy dalej. Czy istnieje jakies ominiecie tego? By w jednym ciągu zawrzec zarówna jedną kolumne i kilka kolumn? Tak by przeszlo zarowno przez zapytanie z count() jak i drugie pobierające dane? ps: nie chce nikogo hackowac. Interesuje mnie, czy jest to możliwe. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Lub dodać najzwyklejsze union jesli zapytanie przechodzi przez pętle... No tlumacze ci przecież, ze przechodzi przez dwa zapytania. Jak dopasujesz go do pierwszego to wylozy sie na drugim. Jak dopasujesz go do drugiego to wylozy sie na pierwszym.mysql_query() zwraca ci blad i juz skrypt nie dochodzi do zadnych petli. Cytat To zabawne, że w Twoim poście czuć nutkę chęci d wykorzystania tego gdzieś Nic z tych rzeczy. Przeprowadzam audyt aplikacji. Dziurawa jak ser szwajcarski. Bez problemu moge wydobyc każde dane z tabel, poprzez napisanie bota, o którym juz rozmawialismy. Zastanawialem sie jednak, czy w opisanej przeze mnie sytujacji mozna to zrobic szybciej i przyjemniej ![]() I gdyby nie to zapytanie z count() to nie bylo by problemu. Jednak ono komplikuje sprawę. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 03:30 |