Post
#41
|
|
|
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
J4r0d Cytat(Peter Riley @ 2005-05-08 17:43:03)oczyw... 8.05.2005, 19:08:08
Peter Riley Cytat(J4r0d @ 2005-05-08 18:08:08)Cytat(Peter... 8.05.2005, 19:47:55
sopel Cytat(Peter Riley @ 2005-05-08 18:43:03)addsl... 8.05.2005, 22:14:33
Kinool panowie!!!!
juz ktos pisal o tym ... 9.05.2005, 00:14:50
Peter Riley Cytat(sopel @ 2005-05-08 21:14:33)smiem twier... 9.05.2005, 01:28:44
ktuvok Dorzucę się do tego wątku i powiem, że moim zdanie... 14.05.2005, 20:58:57 
J4r0d Cytat(ktuvok @ 14.05.2005, 19:58 ) Dorzuc... 29.05.2006, 22:28:55
Vengeance Cytat(Peter Riley @ 2005-05-08 19:43:03)Cytat... 14.05.2005, 21:44:37
bolas a takie pytanko jeszcze.
czy umozliwienie stoso... 16.05.2005, 23:02:57
bolas wszystkie znaki - oczywiscie przy wlaczanej dyrekt... 18.05.2005, 14:56:35
kubatron Nie wiem czy był dawany ten link lecz jeśli nie to... 22.05.2005, 10:18:04
gu35t mozna sie legalnie sprawdzic:
http://peanix.ath.cx... 29.06.2005, 19:08:01
logeen Cytat(Vengeance @ 2005-05-14 20:44:37)Union d... 6.07.2005, 13:03:21
Vengeance Wiadomym jest, że nie w każdym się da... ale są pr... 7.07.2005, 19:53:24
johnson Nie zapominajmy, że przy union włamywacz musi znać... 7.07.2005, 20:04:31
Vengeance IMHO pokaz mi programiste co nie trzyma loginow i ... 7.07.2005, 20:07:40
logeen Cytat(Vengeance @ 2005-07-07 18:53:24)Gdy kto... 7.07.2005, 21:03:48
Vengeance Dlatego, że w takim forum wykonuje się masę zapyta... 7.07.2005, 23:35:32
logeen To jasne, ale zależy, co rozumiesz przez "fil... 8.07.2005, 01:01:33
Vengeance 1. A kto mówi że strona musi traktować o czymś gdz... 8.07.2005, 01:16:42
logeen ad.1) Czyli co? Jeżeli zamierzasz zbudować np. for... 8.07.2005, 02:34:26
MStaniszczak Nie ma sensu nic wywalać (filtrować żadnych słów).... 8.07.2005, 09:39:00
Imperior Oświećcie mnie proszę i powiedzcie, gdzie przy zdr... 8.07.2005, 09:45:52
Vengeance Imperior... są nawet tacy co robią
[SQL] pobierz,... 8.07.2005, 12:17:30
logeen @Vengeance: Z tą opowieścią, to się z Tobą zgodzę.... 8.07.2005, 12:36:26
Vengeance @logeen: Ale powiedzmy sobie prawde, że fora szkol... 8.07.2005, 12:53:05
johnson Mówcie co chcecie, ale czy jest ktoś w stanie poda... 8.07.2005, 12:57:26
logeen @johnson:
Odpowiedź brzmi: pełna filtracja (tzn. ... 8.07.2005, 13:32:36
brachu jezeli mozna wtracic swoje 3 grosze.... to testowa... 8.07.2005, 14:22:05
MStaniszczak A tu http://www.gajdaw.pl/varia/xss.html macie coś... 8.07.2005, 14:53:21
moron czyli co? mysql_escape_string, stripslashes
moglb... 25.08.2005, 09:58:28
logeen [PHP] pobierz, plaintext <?php/** * Wstawia zna... 25.08.2005, 19:37:06
qeuw Jak można zabazpieczyć stronę jeżeli mam where id=... 28.09.2005, 14:47:54
ActivePlayer CytatJak można zabazpieczyć stronę jeżeli mam wher... 28.09.2005, 15:14:44
h.4 Mam takie pytanie...
[PHP] pobierz, plaintext ... 28.09.2005, 18:05:34
ActivePlayer Cytata jeśli zamiast _GET będzie _POST z jakimś te... 28.09.2005, 18:54:36
wojto Cytat(h.4 @ 2005-09-28 19:05:34)i teraz jak z... 28.09.2005, 20:45:54
qeuw Otóz zrobilem funckje która zamienia wyrażenia sql... 28.09.2005, 21:08:04
logeen Cytat(qeuw @ 2005-09-28 20:08:04)Otóz zrobile... 29.09.2005, 19:58:27
MalyKazio Prawdę mówiąc ten temat jest strasznie zaśmiecony.... 15.01.2006, 12:40:44
Vengeance MalyKazio: Znów ci się "oberwie" odemnie... 15.01.2006, 12:50:59
the_foe [PHP] pobierz, plaintext <?php$win="xA5xC6... 23.02.2006, 02:40:09
kofaniutki_misio Witam,
Czytałem posty na temat zabezpieczeń na st... 26.02.2006, 19:46:34
vedeney Sorry that not Polish,
but your functions are so ... 28.02.2006, 14:33:07
kofaniutki_misio hej vedeney. funkcja logs, jest przepisana. Global... 28.02.2006, 22:08:23
dr_bonzo [PHP] pobierz, plaintext <?php$age = $_GET... 28.02.2006, 23:28:36
vedeney Ok! I`ve understand you, But your code did... 1.03.2006, 08:53:31
the_foe Cytat(vedeney @ 2006-02-28 14:33:07)[PHP] pob... 2.03.2006, 19:35:09
LamaMASTER Cytatzabezpieczenie w stylu:[PHP] pobierz, plainte... 5.04.2006, 17:53:33
Pawel86 A takie rozwiazanie:
[PHP] pobierz, plaintext ... 5.04.2006, 22:36:28
Janek111 Mam taki problem:
Jesli uzyje mysql_real_escape_st... 16.04.2006, 17:47:42
em1X A szukac to nie potrafisz?
[SQL] pobierz, plainte... 29.05.2006, 22:36:35
J4r0d Próbując podsumować dyskusję, możnaby powiedzieć, ... 29.05.2006, 22:52:27
Termit_ Wówczas zawsze należy robić dodatkowe confirmy - f... 3.06.2006, 19:58:56 
J4r0d Cytat(Termit_ @ 3.06.2006, 18:58 ) Wówcza... 4.06.2006, 17:53:17
thornag Wedlug mnie mozesz jedynie sprawdzic czy Id nie je... 28.07.2006, 16:32:02
eai @J4r0d Bardzo prosto się można zabezpiec... 2.08.2006, 00:19:08 
J4r0d Cytat(eai @ 1.08.2006, 23:19 ) @J4r0d Bar... 2.08.2006, 15:12:09
Turgon Zgadzam się z Eai. Ja stosuje sumy plus sesje oraz... 2.08.2006, 08:37:09
eai @J4r0d Przecież to jest jeszcze prostsze
Przykł... 2.08.2006, 22:40:56 
J4r0d Cytat(eai @ 2.08.2006, 21:40 ) @J4r0d Pr... 3.08.2006, 09:01:53
planet_x Co do zabezpieczenia przed SQL Injection znalazłem... 3.08.2006, 15:09:20
php programmer Mam zapytanie, które jest brzydkie
[PHP] pobierz,... 21.08.2006, 11:10:02
nospor a jak ktos ci w miejsce id zamiast powiedzmy 2, wp... 21.08.2006, 11:25:10
php programmer OK. Ale jak mam już zapytanie typu SELECT, np
[PHP... 21.08.2006, 13:05:04 
sopel Cytat(php programmer @ 21.08.2006, 14:05 ... 21.08.2006, 13:25:04
nospor W przypadku mysql za bardzo tak ci nic nie skasuja... 21.08.2006, 13:08:30 
skowron-line Cytat(nospor @ 21.08.2006, 12:08 ) mysql_... 21.08.2006, 13:45:32
nospor Cytata jesli bedzie cos takiego
http://index.php?... 22.08.2006, 08:23:57
php programmer Kurcze zrobiłem coś takiego:
[PHP] pobierz, plain... 23.08.2006, 12:39:00
nospor no musisz przed wyswietleniem uzyc stripslashes. j... 23.08.2006, 12:41:56
sopel używaj prepared statements to w wiekszosci przypad... 23.08.2006, 13:20:47
Vexator przyznam szczerze, ze calego topica nie przeczytal... 30.08.2006, 06:36:08
nospor @Vexator z calym szacunkiem, ale przeczytaj jednak... 30.08.2006, 08:13:33
free Naklepsza ochroną jest stosowanie sesji z prawami ... 31.08.2006, 11:33:31
nospor @free ale jak to sie ma do topicu w ktorym uraczyl... 31.08.2006, 12:02:58
Blastereq Hmm, mam pytanie, stosuje mod_rewrite w ten sposób... 7.09.2006, 12:27:57
Rzast Ja bronię się trochę inaczej:
robię zapytanie typu... 11.09.2006, 15:36:07
MatheW Super - sprawdzasz tylko po haśle - więc zakladasz... 11.09.2006, 16:49:54
Rzast @MatheW: Właśnie chodziło mi o to, ... 12.09.2006, 07:58:38
MatheW Cytat@MatheW: Właśnie chodziło mi o to, żeby nie d... 26.09.2006, 16:37:19 
Rzast MatheW: Przyjżałeś się? Ale tak naprawdę uważnie?
... 28.09.2006, 10:24:12
eai To jest bez sensu... a jeśli w bazie masz założymu... 29.09.2006, 09:26:34
paziek Witam,
Czytam wątek już drugi raz (pierwszy raz o... 29.03.2007, 20:20:36 
Jarod Cytat(paziek @ 29.03.2007, 19:20:36 )... 29.03.2007, 21:18:38
paziek Jarod: Dzięki ale nie dzięki ;o
Po pierwsze, cytu... 29.03.2007, 21:52:15
akubiczek Tak, istnieje taki bug. Nazywa się on:
$slas... 6.04.2007, 13:14:58
L00zak php5, pdo i podpinanie, a skończą si... 27.04.2007, 23:41:16
radex_p Czy ktoś, kto się na tym zna może mi odpowiedzieć:... 6.05.2007, 17:53:23
Jarod Stosuję mysql_escape_string + filtrowanie danych i... 6.05.2007, 17:57:26
radex_p skoro mysql_escape_string (nie licząc standardowyc... 6.05.2007, 19:15:35
sopel są sytuacje kiedy da się ją obej... 7.05.2007, 00:05:09
orglee Witam.
Przeczytałem ten temat dwa razy. Dwa razy d... 12.05.2007, 17:08:15 
SirZooro Cytat(orglee @ 12.05.2007, 17:08:15 )... 14.06.2007, 18:18:29
Kicok CytatProsiłbym o jakieś komentarze czy jest ona be... 12.05.2007, 17:24:00
orglee Czyli nie ma się co zastanawiać tylko walnąć str_r... 12.05.2007, 17:36:48
bełdzio tylko po co te regexpy? 15.06.2007, 16:54:59 
orglee Cytat(bełdzio @ 15.06.2007, 17:54:59 ... 15.06.2007, 18:33:41
Nightmare Po to żeby ci z php4 też mieli bezpieczne formular... 16.06.2007, 11:45:53 ![]() ![]() |
|
Aktualny czas: 10.06.2026 - 21:36 |