Post
#1
|
|
|
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 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 7.05.2005 Ostrzeżenie: (0%)
|
Smieszne sa te wasze rozwazania, nie szkoda czasu?
Przypomina mi to wiare w zabobony. Addslashes zalatwia calkowice sprawe, sprobujcie sie wlamac bez mozliwosci uzycia apostrofu. Mozecie wpisywac UNION, srednik i co tylko chcecie, ale to nic nie da, bo i tak co najwyzej zostanie wciagniete do bazy jako czesc stringa. Do liczb is_numeric i wystarczy. |
|
|
|
Najki SQL Injection/Insertion 24.11.2004, 23:13:57
Vengeance Cytat(Najki @ 2004-11-25 00:13:57)Oto co może... 24.11.2004, 23:34:40
ActivePlayer Z tego co wiem to mysql nie wykonuje zapytan typu ... 25.11.2004, 00:06:02
Najki Cytat(Vengeance @ 2004-11-25 00:34:40)punkt 1... 25.11.2004, 00:22:22
Kinool zabezpieczenie w stylu:[PHP] pobierz, plaintext ... 25.11.2004, 08:48:38
johnson Cytat(Kinool @ 2004-11-25 07:48:38)to co ma b... 6.12.2004, 09:23:12
Najki Owszem dodaje, ale chyba tylko, gdy na serwerze je... 6.12.2004, 09:29:56
Seth Dodam jeszcze te dwa linki:
http://www.nextgenss.c... 6.12.2004, 12:32:14
morrison Temat ciekawy, ale w zasadzie nie wiem jeszcze co ... 26.02.2005, 17:20:37
ActivePlayer przyklad:
[PHP] pobierz, plaintext <?php $... 26.02.2005, 21:45:06
sopel Cytat(ActivePlayer @ 2005-02-26 21:45:06)ale ... 26.02.2005, 23:41:07
Vengeance przez mysql_query() nie. ale funckje postgreSQL ju... 27.02.2005, 14:44:07
Riklaunim dość często jest WHERE coś = liczba gdzie coś jest... 27.02.2005, 14:49:14
MoD Ja do liczb stosuje najczęściej ereg" title="Zobac... 27.02.2005, 17:45:48
MStaniszczak CytatJa do liczb stosuje najczęściej ereg (zwłaszc... 28.02.2005, 03:21:48
Vengeance @MStaniszczak: podobnież "is_numeric(), is_in... 1.03.2005, 17:20:41
MStaniszczak @Vengeance:
Więc działa to tak:
is_numeric() - sp... 1.03.2005, 23:15:12
Vengeance @MStaniszczak: ja tam nie wiem Mówie tylko co czy... 2.03.2005, 22:22:51
MStaniszczak @Vengeance: Ano analizowałem Zend Engina dość dokł... 2.03.2005, 22:43:20
krzemian W PHPBB też jest coś takiego używane, ale - znowu ... 3.03.2005, 17:09:35
Seth To o czym piszesz sprawdza sie przy liczbach, nato... 3.03.2005, 18:08:48
MStaniszczak @krzemian:
CytatOstatnio zrobiłem coś takiego na ... 3.03.2005, 20:40:59
ActivePlayer Moze ktos napisze klase, lub zbiór funkcji, alby u... 3.03.2005, 21:23:10
MStaniszczak Ja używam czegoś takiego (ma już swoje latka - dod... 3.03.2005, 23:18:12
docent no to i moje 3 grosze. primo: nie ma to jak szczyt... 4.03.2005, 00:18:29
Vengeance @docent: szczerze to zadna nowosc
----
Przez chw... 4.03.2005, 19:04:20
MStaniszczak CytatPrzez chwilke pomyslalem, ze mozna by zmienne... 4.03.2005, 19:08:24
docent Cytat(Vengeance @ 2005-03-04 20:04:20)@docent... 4.03.2005, 23:48:57
tara w sumei można też tak, np. dla newsów:
[PHP] pobie... 2.04.2005, 17:32:31
limak CytatTo blokuje wysiwetlanie newsa np. 9999 jak i ... 11.04.2005, 21:05:08
tara heh no ale jak ktoś wprawdzi DROP TABLE itp. to te... 11.04.2005, 21:06:48
MoD Cytat(MStaniszczak @ 2005-02-28 04:21:48)Hmmm... 11.04.2005, 21:33:24
tarlandil IMHO dosc wygodna i bezpieczne rozwiazanie:
[PHP] ... 29.04.2005, 07:47:36
J4r0d Cytat(Vengeance @ 2005-02-27 13:44:07)przez m... 8.05.2005, 17:11:33
sopel Cytat(J4r0d @ 2005-05-08 17:11:33)Cytat(Venge... 8.05.2005, 17:35:35
johnson Cytat(J4r0d @ 2005-05-08 16:40:02)Więc, które... 8.05.2005, 17:46:29
sopel addslashes() (jeden raz!!!) powinno w ... 8.05.2005, 17:48:08
J4r0d CytatNie rozumiem o co Wam chodzi z tym addslashes... 8.05.2005, 17:56:50
Peter Riley Cytat(J4r0d @ 2005-05-08 16:56:50)Bezpieczeńs... 8.05.2005, 18:43:03
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 ![]() ![]() |
|
Aktualny czas: 1.12.2025 - 20:48 |