![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 36 559 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. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
nie, jest tak jak pisalem:
najpierw w php jest zapytanie z count() a potem w php jest zapytanie pobierające dane normalnym selectem. Jesli dostosujemy union do drugiego zapytania, to wywali nam sie na pierszym. Jak dostosujemy do pierwszego to wywali nam sie na drugim. wywali, czyli poleci wyjatek w php i skrypt konczy dzialanie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 15:39 |