Post
#141
|
|
|
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
Sedziwoj z ctype_digit() trzeba ostrożnie, bo jeśli nie dos... 16.06.2007, 16:29:43
Black-Berry Postanowiłem przyłączyć si... 26.06.2007, 09:51:43 
Sedziwoj Nie, zawsze będzie 0, ponieważ tu jest błąd:
[PHP]... 26.06.2007, 14:26:32
Black-Berry Tyle się rozpisaliście na tym wątku... 3.07.2007, 09:37:48
bełdzio [SQL] pobierz, plaintext SELECT * FROM tabelka WHE... 3.07.2007, 12:59:08
Black-Berry że też ja na to nie wpadłem....
Sory, że dalej ... 4.07.2007, 09:29:08
bełdzio w mysql_valid_string return by się przydał 4.07.2007, 10:59:09
LEW21 Black-Berry, po co tak kombinować? Po prostu do in... 24.07.2007, 14:30:47 
Sedziwoj Cytat(LEW21 @ 24.07.2007, 15:30:47 ) ... 25.07.2007, 08:09:25
NoiseMc Cytat$strIn = '-2';
Jezeli ktos poda ... 7.08.2007, 05:27:11
Sedziwoj @NoiseMc
Wiesz ale nie musi być to ID rekordu i n... 7.08.2007, 18:53:15
NoiseMc Ale po co kombinowac ...
[PHP] pobierz, plaintext ... 9.08.2007, 16:24:55
Sedziwoj Ech, ciągle ograniczasz się do ID, do te... 9.08.2007, 18:16:26
NoiseMc Ja pisze o sposobach zabezpieczenia sie przed wstr... 9.08.2007, 19:10:19
Endzio Witam.
Używam kodu
[PHP] pobierz, plaintext <?p... 11.09.2007, 06:07:16
Black-Berry Dołączam się do pytania... mo... 11.09.2007, 11:36:35
Sedziwoj Jak sprawdzać dane typu string? To zale... 11.09.2007, 13:16:12
piter2k1 Co do pierwszego postu:
Kod<?php
$query ... 14.09.2007, 12:42:35
Kicok CytatJa zrobił bym po prostu:
A co zwraca funkcja... 14.09.2007, 13:02:23
templar Cytat(Najki @ 25.11.2004, 00:13:57 ) ... 30.09.2007, 21:42:27
bełdzio @templar a po co te regExpy? nie lepiej skorzystać... 30.09.2007, 22:34:53 
rzymek01 Cytat(bełdzio @ 30.09.2007, 22:34:53 ... 14.11.2007, 20:55:27
Regyam a co z sql injection jezeli mam linki w mod_rewrit... 4.11.2007, 14:46:49
bełdzio zawsze istnieje możliwość odwołania się bezpośredn... 4.11.2007, 15:40:32
bełdzio wg. manuala ctype jest szybsze, a raczej ich testy... 15.11.2007, 00:25:56
Garrappachc Co do samego początku tematu:
czy nie można przef... 15.11.2007, 22:23:22
Kicok CytatA tak poza tym to przecież MySQL odpowiednio ... 15.11.2007, 23:08:17
marcio A wiec po Przeczytaniu chyba juz 10 raz tego temat... 23.12.2007, 23:40:39
Kicok is_integer" title="Zobacz w manualu PHP" target="_... 2.01.2008, 11:10:54
pytajnik2 Witajcie,
a co myślicie o tym?
http://axelpl.wordp... 2.01.2008, 18:06:56
bełdzio patrzac na szybko to nic ciekawego z tego co widz... 2.01.2008, 20:29:42
pytajnik2 no ale jak się ma w wszystkie pisywane przecież zm... 2.01.2008, 20:35:44
bełdzio wszystko zalezy od konkretnego kodu, najlepsze zab... 3.01.2008, 00:03:29
specialplan Cytat(kilas88 @ 9.02.2008, 04:27:22 )... 10.03.2008, 12:27:05
lucca Witka!
Mam pytanie odnośnie SQL Injection.
... 10.03.2008, 18:51:04
kilas88 Cytat(specialplan @ 10.03.2008, 12:27... 10.03.2008, 22:35:51
radex_p Mam takie pytanie: "Od zawsze" bronię si... 11.03.2008, 19:02:00
bim2 Czego jeszcze Ci brakuje Wystarczy ze w zmiennych... 11.03.2008, 19:09:01 
empuszek Cytat(bim2 @ 11.03.2008, 19:09:01 ) C... 25.03.2008, 11:49:16
radex_p Jakich znowuż scripts embed? 11.03.2008, 19:11:05
bełdzio zapewne chodzi o xss 25.03.2008, 12:58:54
Xniver CytatPS Co to jest Sript Embed?
Chodzi o tagi HTML... 29.03.2008, 20:49:17
gandziorz Witam,
Przeczytałem temat przyklejony. I nikt nie ... 6.04.2008, 22:10:06
Sedziwoj Myślałem że w przyklejonych ma być jakiś porządek,... 6.04.2008, 22:31:32
marcio Dajesz np na zmienne z get'a prosty str_replac... 6.04.2008, 22:34:11 
pyro Cytat(marcio @ 6.04.2008, 23:34:11 ) ... 23.09.2008, 08:27:57
Sedziwoj @marcio
Do id jako liczby całkowitej dodatniej ró... 6.04.2008, 22:56:04
MalyKazio Mam krótkie pytanie. Czy w przypadku używania MySQ... 20.04.2008, 15:24:35
Crozin Jeśli masz magic_quotes przepuść wszystkie dane (_... 20.04.2008, 16:05:44
radex_p Apostrofy na wyrażenie + mysql_real_escape_string ... 9.05.2008, 18:15:23 
Jarod Cytat(radex_p @ 9.05.2008, 17:15:23 )... 10.05.2008, 19:22:55 

kilas88 Odnośnie bezpieczeństwa mam takie pytanie.. Gdzieś... 30.05.2008, 11:02:53 
ucho Cytat(radex_p @ 9.05.2008, 18:15:23 )... 5.12.2008, 15:08:28
radex_p to zależy od SQL a nie od typu bazy danych. Przyna... 10.05.2008, 19:30:07
marcio @Up oczywiscie znaki takie jak -,*,/ tez mozna usu... 5.11.2008, 15:50:49 
pyro Cytat(marcio @ 5.11.2008, 15:50:49 ) ... 12.11.2008, 13:30:27
kayy Pytanie;
jeżeli użyje takiego czego... 5.12.2008, 12:44:21 
skowron-line Cytat(kayy @ 5.12.2008, 12:44:21 ) Py... 5.12.2008, 15:46:53
Black-Berry Takie coś będzie chyba szybsze i lepsze bo nie spr... 5.12.2008, 13:01:33
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 ![]() ![]() |
|
Aktualny czas: 10.06.2026 - 23:51 |