Michał Ławicki

Michał Ławicki dostawca zadowolenia

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

Hi, chciałbym poznać Wasze zdanie na poniższe pytanie:

Czy aplikacja, która nie modyfikuje danych wejściowych / wyjściowych (a co za tym idzie jest podatna na SQL Injection) może być bezpieczna dla danych w niej zawartych?

:-)
Marcin P.

Marcin P. Ceo w Trialo IT /
Partner w 3motion.pl

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

Oczywiście że NIE!!! Bo moze na przyklad w wyniku bledu wywolanego atakiem - aplikacja w komunikacie moze zwrocic schemat tabeli lub bazy danych.
Michał Ławicki

Michał Ławicki dostawca zadowolenia

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

oki to teraz trochę zabawy :)

http://www.beldzio.com/calypso/
http://www.beldzio.com/calypso/index.txt

Zupełny brak modyfikacji danych wejściowych / wyjściowych. Spróbuj się zalogować.

1. Konto test się nie liczy - zostało ono założone by pokazać, że można się zalogować test :: test

2. Żeby złamać Calysto należy się do niego zalogować lub napisać na czym polega zabezpieczenie.

Info proszę na PW żeby nie psuć zabawy innym.
Jakub L.

Jakub L. Programista

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

1. nie widać całego kodu, bo
require_once( 'calypso.php' );
i trzeba wierzyć na słowo, że includowany plik nie modyfikuje niczego co przychodzi od klienta (_POST, _GET, _COOKIE).

2. W standardzie SQL delimeterem stringa jest ' a nie ", więc to niby query które się tam składa wcale query nie jest, albo coś z nim jest robione w innym miejscu.
Michał Ławicki

Michał Ławicki dostawca zadowolenia

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

Jakub L.:
1. nie widać całego kodu, bo
require_once( 'calypso.php' );
i trzeba wierzyć na słowo, że includowany plik nie modyfikuje niczego co przychodzi od klienta (_POST, _GET, _COOKIE).

2. W standardzie SQL delimeterem stringa jest ' a nie ", więc to niby query które się tam składa wcale query nie jest, albo coś z nim jest robione w innym miejscu.
ad1. skoro nie wierzysz to się nie baw, proste
ad2. whatever

konto usunięte

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

" or 1=1 /* ;)
Michał Ławicki

Michał Ławicki dostawca zadowolenia

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

Karol W.:
" or 1=1 /* ;)
zaloguj się :-)

konto usunięte

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

Do zalogowania się wystarczy jedynie login i hash w ciasteczku. Szkoda tylko, że or 1=1 nie pokazuje prawdziwych hashy ;)
Jacek K.

Jacek K. Systems Engineer

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

Zawsze można hashe spróbować złamać. Być może któreś z haseł składa się np. tylko z małych liter i jest krótkie.
Michał Ławicki

Michał Ławicki dostawca zadowolenia

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

Jacek K.:
Zawsze można hashe spróbować złamać. Być może któreś z haseł składa się np. tylko z małych liter i jest krótkie.
przewidziałem to ;-) jest mix A-z0-9 + różne znaczki ;-) + długość > 8 znaków :) czyli standardowe tęczowe tablice nie dadzą rady :)

konto usunięte

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

No ale chwileczkę ;) Miało nie byc modyfikacji wejscia/wyjścia. A w zależności od tego czy wstawiamy "ora" czy prawidłowe "credenszale" wyskakują nam różne wartości.

hash dla usera test przy prawidłowym logowaniu -> 098f6bcd4621d373cade4e832627b4f6
$ echo -n "test" | md5sum
098f6bcd4621d373cade4e832627b4f6 -

hash z "or 1=1" -> e54aa2684ec70a80814a8a4f438d8a18

Czy to nie jest jakaś modyfikacja ? ;)
Michał Ławicki

Michał Ławicki dostawca zadowolenia

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

na biezaco masz pokazane zapytanie, ktore jest wykonywane wiedz mozesz spr ze nie ma modyfikacji wejscia

konto usunięte

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

Bardziej chodzi o wyjście ;)
Jakub L.

Jakub L. Programista

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

Przecież napisałem - to co się pokazuje to nie jest SQL, spróbuj zrobić odpowiednią tabelę w bazie, copy/paste owo "query" i sprawdź, że nie działa.
Jako drugi test można zrobić stronę PHP, która spróbuje wykonać to "query".
Żeby ono zadziałało, trzeba zrobić jakąś transformację t(q) -> Q i dopiero owo Q wykonać na bazie jako poprawny SQL.
Mam przekonanie graniczące z pewnością, że ta transformacja t, która dotyka q, nie dotyka tylko i wyłącznie stałych części "query" które są zahardkodowane, ale całość, będącą złączeniem hardkodów i danych wejściowych, więc bajka o braku modyfikacji danych wejściowych upada.

konto usunięte

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

O ile się nie mylę, to regexp jest niepełny ;) Ciekawa zabawka, sporo czasu mi to zajęło. Daj znać, czy odpowiedź prawidłowa.
Michał Ławicki

Michał Ławicki dostawca zadowolenia

Temat: [sonda]Bezpieczeństwo aplikacji internetowych

Łukasz P.:
O ile się nie mylę, to regexp jest niepełny ;) Ciekawa zabawka, sporo czasu mi to zajęło. Daj znać, czy odpowiedź prawidłowa.
bardzo prawidłowa :-)



Wyślij zaproszenie do