Post
#201
|
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 12.02.2004 Skąd: Poznań Ostrzeżenie: (0%)
|
Pytania o streszczenie wątku, posty z "genialnymi" skryptami nadającymi się tylko na przedszkole i inne tego typu, będą bez ostrzeżenia usuwane przez moderatorów.
To mówiłem ja, Jarząbek... znaczy nospor dnia 2007-12-10 ------------------------------------------------------------------------------- SQL Injection (zwane też "SQL Insertion") to (rzekomo) najprostszy sposób włamu na stronę. Spowodowany jest on niepełnym sformułowaniem zapytań do MySQL. Przykład. Dajemy na stronie możliwość edycji profilu. Zapytanie do SQL wygląda następująco:
Osoba włamująca się na stronę umieszcza całkiem prosty, odpowiedni ciąg znaków/poleceń w dowolnym polu edycji tego profilu, który wygląda np. tak (dla zmiany hasła użytkownika o dowolnie wybranym, przez atakującego numerze ID):
W taki oto prosty sposób, osoba atakująca zmieniła hasło użytkownikowi o ID=1 (zazwyczaj administrator). W podobny sposób można również wyciągnąć dowolne dane z tabeli SQL. W każdym razie. Poszperałem, pomyślałem i zebrałem wszystko do kupy. Zamieszczam to tutaj razem, oraz proszę o rozbudowanie tego topica, gdyż nie znalazłem na tym forum więcej informacji o "SQL Injection". Oto co możemy dokonać: 1. Możemy sformułować nasze zapytanie do SQL tak:
2. Przy wstawianiu numerów ID do zapytań należy stosować tzw. rzutowanie typów:
3. Przy wstawianiu tekstów, należy wyciąć niebezpieczne znaki przy pomocy funkcji:
Może nie ma tego dużo, ale jest to już jakaś podstawa do zabezpieczenia strony/skryptu przed prostym i niezwykle niebezpiecznym, SQL Injection. Proszę osoby obeznane w tym temacie, aby dopisały tu własne propozycje metod zabezpieczenia się przed tym atakiem. Ten post edytował Najki 14.02.2008, 10:04:12 |
|
|
|
Najki SQL Injection/Insertion 24.11.2004, 23:13:57
mlattari hmmm po co to wszystko? Dlaczego nie wystarczy zab... 29.12.2008, 14:34:28
bełdzio 1. niektore firewalle wycinaja refa
2. kryska z ga... 29.12.2008, 20:01:48
mlattari Masz racje! ALE JESTEM GŁUPI! Ostatnio pis... 30.12.2008, 01:18:00
pyro jasne, napiszesz odpowiedz na jakiegos posta (prze... 30.12.2008, 01:35:58
mlattari No już pisałem że jestem GŁUPI... 30.12.2008, 02:38:12 
pyro Cytat(mlattari @ 30.12.2008, 02:38:12... 30.12.2008, 10:17:33
bełdzio nawet nie korzystajac z union selecta mozna przepr... 30.12.2008, 09:36:28
ucho To ja bym prosił o jakiś przykład - bo przy mysql,... 30.12.2008, 10:00:41 
bełdzio Cytat(ucho @ 30.12.2008, 10:00:41 ) T... 30.12.2008, 20:29:59
pest Sprawa chociażby z logowaniem, gdzie można zapytan... 30.12.2008, 10:10:03
mlattari No to jak już pisałem, na pierwszym miejscu należa... 30.12.2008, 14:14:22
erix Cytatereg_replace
W PHP6 Twój skrypt nie zadziała.... 30.12.2008, 21:40:33
Ermes hmmm... a słyszeliśta o czymś takim... 2.01.2009, 21:05:38
$olo Cytat(Ermes @ 2.01.2009, 22:05:38 ) g... 12.02.2009, 11:38:27
mlattari hmmm.... ten wątek ciągnie się już od bardzo dawna... 22.02.2009, 17:49:53 
pyro Cytat(mlattari @ 22.02.2009, 17:49:53... 22.02.2009, 18:02:14
mlattari hmm...
czy sądzicie że poniższy fragment kodu jes... 26.02.2009, 20:56:14 
Orkan Cytat(mlattari @ 26.02.2009, 22:56:14... 27.02.2009, 23:32:12
pyro Pierwsze zabezpieczenie dobre, jeśli jednak jest t... 27.02.2009, 21:45:05
mlattari :-) No to jasne, że można :-) ale chodzi mi o zab... 28.02.2009, 02:34:55
Orkan a od kiedy zapytanie w mysql_query() konczy sie sr... 28.02.2009, 10:00:57
mlattari zapytania MySql kończy się średnikiem :-) a w mysq... 28.02.2009, 13:38:41
bełdzio ";" oznacza ze dane zapytanie zostalo za... 28.02.2009, 19:10:18
mlattari no racja... ja jakoś lubię te średn... 1.03.2009, 16:01:03
bełdzio trzeba, kod HTML może być dowolnie zmodyfikowany, ... 1.03.2009, 16:04:22
mlattari hmm dzięki! to dobrze wiedzieć! 1.03.2009, 16:21:54
megawebmaster Te wartości, które masz stałe, np. tak jak w przyp... 14.03.2009, 20:32:01
thomson89 Nie wiem jak wam, ale jak przepuściłem p... 21.03.2009, 19:41:42
Mephistofeles A po co tak wydziwiać? Jeśli stringa trzymasz w cu... 21.03.2009, 19:48:05 
thomson89 Cytat(Mephistofeles)A po co tak wydziwiać? Je... 21.03.2009, 20:21:49
erix CytatI mam pytanie czy przy if, nie można jakos in... 21.03.2009, 20:13:38
erix To najlepiej siedzieć przy kompie i każde żądanie ... 21.03.2009, 20:27:05
bełdzio @thomson89 kiedys na swoim rozowym blogasku pisale... 21.03.2009, 20:41:56
escobar1983 Jakie sa mozliwości włamania na mojej stronie?
Nie... 22.03.2009, 18:06:44
bełdzio nie widzac kodu zbyt wiele nie da sie powiedziec ... 22.03.2009, 21:02:07
rzymek01 pamietaj, że istnieje zatruwanie sesji, więc nie o... 22.03.2009, 21:25:14
thomson89 A czy najlepszym zabezpieczeniem nie byłoby sprawd... 14.04.2009, 17:45:02
erix Tak? To ja wpiszę login:
Kod' WHERE 1=1
... 14.04.2009, 18:07:50
Rutilius Mam pytanie, przepraszam, jeśli w złym wątku, ale ... 30.05.2009, 11:59:28
erix CytatCzy to było niebezpieczne?
Jeśli nie filtruje... 30.05.2009, 13:10:33
mrSlowFlow Co sądzicie o tym: http://hacking.pl/5845
Czy coś ... 30.05.2009, 17:06:09
erix A chociaż przeczytałeś ten wątek od początku...? 30.05.2009, 20:46:50
Fantome ostatnich kilka dni przesiedziałem na szukaniu dob... 14.06.2009, 15:08:58
erix Cytatostatnich kilka dni przesiedziałem na szukani... 15.06.2009, 10:02:52
Fantome żeby tylko ten... ze 2 dni temu to czytałem i post... 15.06.2009, 11:01:05
erix A wiesz o tym, że na nic nie ma 100% zabezpieczeni... 15.06.2009, 11:11:28 
$olo Cytat(erix @ 15.06.2009, 11:11:28 ) A... 14.07.2009, 16:05:12
Fantome zdaję sobie z tego sprawę jednak staram się wyeli... 15.06.2009, 11:20:18
erix Jeśli wprowadzisz to, o czym mowa w tym wątku, nie... 15.06.2009, 11:28:11
nieraczek Fantome nie banuj po IP - w ten sposób podczas szu... 20.06.2009, 09:05:08
erix To raczej nie wina forum, a tego, że IP trafi... 20.06.2009, 11:17:48
Spawnm Tak się zastanawiam...
jeśli strona ma geta np id... 27.06.2009, 20:22:27
#luq Cytat(Spawnm @ 27.06.2009, 21:22:27 )... 27.06.2009, 21:39:56
lukasamd Mam pewne pytanie, odnośnie wypowiedzi erixa dotyc... 28.06.2009, 13:59:21
erix Np. przy korzystaniu z UTF-8.
Wszystko jest przec... 28.06.2009, 21:26:21
xajart Z tego co zauważyłem to ile osób tyle rozwiązań pr... 25.11.2009, 13:07:53
ucho Wszystkie pytania o SQL Injection powinny się końc... 25.11.2009, 13:42:16 
bełdzio Cytat(ucho @ 25.11.2009, 11:42:16 ) W... 30.12.2009, 22:32:03
Mephistofeles Zgadzam się. Jak czytam niektóre z tych wymysłów t... 30.12.2009, 21:58:11
aio 1 obraz > 1000 słów
[PHP] pobierz, plaintext fu... 4.02.2010, 23:38:51 
pyro [PHP] pobierz, plaintext function _P($sql... 13.02.2010, 12:28:23 
wiiir Cytat(pyro @ 13.02.2010, 12:28:23 ) [... 24.02.2010, 14:37:34 
kilas88 Cytat(wiiir @ 24.02.2010, 14:37:34 ) ... 24.02.2010, 14:48:58 
pyro Cytat(wiiir @ 24.02.2010, 14:37:34 ) ... 24.02.2010, 15:29:50
nospor Cytatpodwarunkiem ze tablea users istnieje o polac... 24.02.2010, 14:39:55
wiiir Dodajac replace na UNION + kilka innych , ustaleni... 24.02.2010, 14:57:42 
ucho Cytat(wiiir @ 24.02.2010, 14:57:42 ) ... 25.02.2010, 10:25:02 
pyro Cytat(wiiir @ 24.02.2010, 14:57:42 ) ... 25.02.2010, 20:48:47
wiiir jakis bys napisal ze masz nazwy takich tabl i kolu... 24.02.2010, 15:51:48 
pyro Cytat(wiiir @ 24.02.2010, 15:51:48 ) ... 24.02.2010, 16:15:38 
wiiir Cytat(pyro @ 24.02.2010, 16:15:38 ) t... 24.02.2010, 16:47:36 
pyro Cytat(wiiir @ 24.02.2010, 16:47:36 ) ... 24.02.2010, 23:11:24 
wiiir Cytat(pyro @ 24.02.2010, 23:11:24 ) N... 25.02.2010, 08:34:14 
kilas88 Cytat(wiiir @ 25.02.2010, 08:34:14 ) ... 25.02.2010, 08:46:38
Crozin CytatNie jestes w stanie tak napisac kodu zeby nie... 24.02.2010, 17:21:59
aio @pyro
szampan się nie należy! zmodyfikowałeś m... 1.03.2010, 23:04:44 
pyro Cytat(aio @ 1.03.2010, 23:04:44 ) @py... 2.03.2010, 00:12:13 
aio Cytat(pyro @ 2.03.2010, 00:12:13 ) Al... 2.03.2010, 11:58:22 
pyro Cytat(aio @ 2.03.2010, 11:58:22 ) Chy... 2.03.2010, 12:44:56 
aio Cytat(pyro @ 2.03.2010, 12:44:56 ) ... 2.03.2010, 14:21:44 
pyro Ehh... no to dwie rzeczy:
1. Wskaż mi choć jedno ... 2.03.2010, 15:40:06
Crozin @aio: Traktowanie liczb jako tekstu (tj.: id = ... 1.03.2010, 23:33:47
Crozin No przecież już dostałeś przykład:
[PHP] pobierz, ... 2.03.2010, 15:27:45 
aio Cytat(Crozin @ 2.03.2010, 15:27:45 ) ... 2.03.2010, 16:50:34 
pyro Cytat(aio @ 2.03.2010, 16:50:34 ) Otó... 2.03.2010, 17:54:59
Crozin Tak trudno to pojąć, że w sytuacji gdzie użyłbyś t... 2.03.2010, 18:02:12 
aio Cytat(Crozin @ 2.03.2010, 18:02:12 ) ... 3.03.2010, 16:48:55 
pyro Cytat(aio @ 3.03.2010, 16:48:55 ) Jak... 3.03.2010, 17:43:05
erix ~aio, a przeczytałeś ten wątek od początku? 3.03.2010, 19:26:34 
aio Cytat(erix @ 3.03.2010, 19:26:34 ) ~a... 4.03.2010, 13:38:25
thek Ja właśnie za to, iż PHP jest tak "nieokreślo... 4.03.2010, 00:33:49
pyro Ehhh... ja się po prostu poddaję. Nie ważne ile by... 4.03.2010, 18:26:00 
aio Cytat(pyro @ 4.03.2010, 18:26:00 ) Eh... 5.03.2010, 13:27:00
kuzdo Mam pewien problem... Testuje sobie różne zabezpie... 5.03.2010, 18:03:52
bełdzio UNION SELECT możesz wstrzyknąć tylko w zapytania p... 5.03.2010, 21:07:30
kuzdo Dzięki za odpowiedź... Miałem o coś jeszcze się za... 6.03.2010, 00:46:08
pyro UNION, jak sama nazwa mówi (z ang. złączenie) służ... 6.03.2010, 09:00:38
GreeN_DG Witam. Chciałbym wrócić do zagadnienia "prepa... 6.03.2010, 11:43:05
erix Tak. 6.03.2010, 11:50:55 ![]() ![]() |
|
Aktualny czas: 18.01.2026 - 19:39 |