•  

    pokaż komentarz

    Wykopane. Jutro się w to zagłębie :) I czekam na dalsze.

    •  

      pokaż komentarz

      @Invisible22: dzięki :) następny artykuł, bądź film na YouTube o XSS i zastosowaniach takich narzędzi jak BeEF. W przyszłości zabawa pamięcią do modyfikowania zmiennych w programach (czyli np. trainery gier, cheaty) oraz oczywiście automatyzacja tego w C++.

    •  

      pokaż komentarz

      @speedxix2002: Sorry chłopie, ale to nie zasługuje na miano artykułu. Ledwo liznąłeś zagadnienie wypisując w dodatku całą masę nonsensów, nie pomijając nawet definicji tego, czym SQL Injection jest (a to mówi chyba wszystko!).

      "Jest to wykorzystanie błędnego sposobu pobierania informacji z bazy danych przez stronę (zapytania SQL)."

      Nie. Jest to technika polegająca na wstrzyknięciu złośliwego kodu SQL w zapytania SQL wykorzystująca podatności danej aplikacji np. nieodpowiednie filtrowanie danych dostarczanych przez użytkownika, które to dane następnie są wykorzystywane przy konstrukcji zapytania SQL.

    •  

      pokaż komentarz

      @speedxix2002: Zakopuję, bo cała reszta to właściwie podobne - coś tam poczytałem na blogach i polskiej (sic!) Wikipedii i zrozumiałem piąte przez dziesiąte - nonsensy.

    •  

      pokaż komentarz

      @Pickett: dzięki za konstruktywną krytykę - następnym razem postaram się lepiej przygotować z teorii ( ͡° ͜ʖ ͡°) to mój pierwszy takj artykuł mam nadzieję, że w przyszłości będą na wyższym poziomie

    •  

      pokaż komentarz

      @speedxix2002: to jeszcze co do tego -1, przecież

      SELECT content FROM pages WHERE id=-1;

      jest jak najbardziej poprawnym zapytaniem i nie zwróci błędu SQL tylko pusty zestaw rekordów, co powinno również dać w efekcie 404.

      I żeby ta treść miała prawdziwą wartość, to przydałoby się jeszcze opisać metody obrony aplikacji przed tego typu podatnościami.

    •  

      pokaż komentarz

      @TheRealMikz: Przecież to jest szczyt góry lodowej. Co to w ogóle ma być z tym badaniem podatności na podstawie jakiegoś inurl?

      Każda aplikacja generująca dynamicznie zapytania SQL na podstawie zewnętrznych danych jest potencjalnie podatna na SQL Injection. Co w praktyce oznacza praktycznie każdy serwis webowy mający na zapleczu relacyjną bazę danych :) Większość nie jest, bo odpowiednio te dane weryfikuje i filtruje, a ponadto używa tzw. prepared statements.

      Zewnętrzne dane na serwer mogą dotrzeć na rozmaite sposoby. Wcale nie muszą iść przecież w GET (przez url), mogą iść metodą POST (np. z formularza). Ponadto nawet jak są zawarte w URL, to nikt współcześnie nie używa tradycyjnego formatu query w linku. Spójrzmy np. na url wykopu do tego artykułu. Widzisz tam jakieś znaki zapytania i równości?

      Przez pewien czas modne było przepisywanie tego np. przy użyciu mod_rewrite Apache'a np. w ten sposób:

      domena.pl/artykuy/1026

      na:

      domena.pl/?module=artykuly&id=1026

      Teraz nawet tego się nie robi. Wszystko jest z góry przekierowywane na czysty domena.pl/index.php (albo - przy innej technologii - inny plik wejściowy), który programistycznie rozkłada zapytanie http i decyduje na tej podstawie co robić. Przy okazji odrzucając zazwyczaj z góry wszelkie formaty zapytania, które są niepoprawne (nieprzewidziane) z punktu widzenia twórców serwisu.

      Takie zabawy z inurl to mogą służyć co najwyżej temu, żeby wyszukać jakieś stronki, które mają wyjątkowo przestarzałe podejście i próbować włamu (za co można mieć sprawę karną). Nie oznacza to, że stronka stosująca inne rozwiązania nie jest podatna na SQL Injection.

    •  

      pokaż komentarz

      @Pickett: tak, ja o tym wszystkim wiem, po prostu darowałem sobie czytanie całości, zostawiłem uwagę co do jednej rzeczy, która akurat rzuciła mi się w oczy (która jest bzdurą bezdyskusyjną) i poszedłem oglądać śmieszne koty ;). Twój post powinien być skierowany do autora artykułu.

    •  

      pokaż komentarz

      @TheRealMikz: Tak naprawdę w zamyśle jest, tylko zarazem stanowi kontynuuację tego co napisałeś. Powiedzmy taka forma literacka ;)

    •  

      pokaż komentarz

      @Pickett: aż mi się przypomniało jak próbowałem zostać programista i robiłem takie ładne adresy i zabezpieczona formularzy przed wlamem przez posta, aż cieplutko na sercu się zrobiło 乁(♥ ʖ̯♥)ㄏ

    •  

      pokaż komentarz

      @menstuffpl: fotoradar czyta nr tablicy i kod sql, próbuje wepchnąć to do bazy danych i jeśli baza jest niezabezpieczona to drop database tablice usuwa bazę danych o nazwie "tablice". Trochę loteria bo baza może być zabezpieczona albo mieć inną nazwę i nie zadziała.

      EDIT: ofc w uproszczeniu

    •  

      pokaż komentarz

      @menstuffpl: fotoradary i inne cuda próbują tłumaczyć zdjęcia tablic rejestracyjnych na tekst przy użyciu oprogramowania do optycznego rozpoznawania znaków (OCR). Następnie muszą gdzieś przechowywać te dane - najczęściej w bazie danych SQL. W bazie danych SQL wszystko jest częścią kodu (w języku DML), każda instrukcja, każde zapytanie, każda wartość, imiona, nazwiska, zarobki, wydatki - wszystko. Kod realizowany jest krok po kroku, a jeśli w wartości tekstowej zostanie podane słowo kluczowe, np. "DROP" oraz reszta odpowiedniej składni, jeśli nie zostało to zawarte w specjalnych znakach tzw. ucieczki, kod zostanie wykonany. DROP DATABASE TABLICE oznacza usunięcie całej bazy danych o nazwie TABLICE.

    •  

      pokaż komentarz

      @owocbananowca: aha o to chodzilo, @Neoqueto:

      Myslalem ze to jakis informatyk co sp##%$!%il baze z tablicami i takiego "psikusa" mu zrobili xd

    •  

      pokaż komentarz

      @S0Cool: mistrzostwo ( ͡° ͜ʖ ͡° )つ──☆*:・゚

    •  

      pokaż komentarz

      @menstuffpl: kamera czyta numer rejestracyjny i zapisuje go do [zmiennej]. Potem w innym miejscu robi, jak chce Ci wyslac mandat, albo inna aplikacja przekazać sprawę rozpoznania, to robi zapytanie SQL (w duzym urposzczeniu):

      SELECT Imie, Naziwsko, NumerDowoduRej FROM dbo.Tablice WHERE NumerRejestraycjny = [zmienna]

      Wtedy do aplikacji trafiają czyjeś dane. Ale.... w c$!%?wo zrobionej aplikacji, gdyby kamera odczytała ten napis zamiast numeru rejestracyjnego to [zmienna] przechowywala by ten napis zamiast numeru rejestracyjnego i wykonala cos w rodzaju:

      SELECT Imie, Naziwsko, NumerDowoduRej FROM dbo.Tablice WHERE NumerRejestraycjny = [zmienna]; DROP DATABASE Tablice;

      Baza danych zostałaby usunięta i system by szlag trafił. To raczej bardzo mało prawdopodobne, ale za to 90% wszystkich afer typu "wyciekły dane 100 000 użytkowników gdzieś tam" to właśnie SQL Injection. W takim wypadku działa to podobnie tylko jak podajesz swoje hasło np, "blablabla50jke" wpisujesz "blablabla50jke OR 1=1", wtedy zapytanie mowi:

      Pobierz dane uzytkownika o takim loginie i hasle lub kiedy 1 jest rowne 1, a ze zawsze jest to baza zwraca wszystko.

      W takim uprosczeniu duzym ( ͡° ͜ʖ ͡°)

      Zostawić podatność na SQL Injection to trochę fakap i potwarz.

  •  

    pokaż komentarz

    @speedxix2002 - kolego, sprecyzuj grupę docelową bo na razie artykuł jest bardzo ogólnikowy, pełen niedomówień, przybliżeń a wręcz błędów. Chcesz pisać o bezpieczeństwie bo to modne? Przybliż czytelnikom swoją osobę - kim jesteś, czym się zajmujesz. Na tą chwilę wiarygodność twoja jako osoby piszącej o bezpieczeństwie jest zerowa. Zastanów się nad grupą docelową - dla kogo chcesz pisać - dla profesjonalistów? dla gimnazjalistów? dla podstawówki?

    Nie chcę cię zniechęcać, bo każdy serwis coś ciekawego do tematu wnosi, ale jeszcze długa droga przed tobą.

  •  

    pokaż komentarz

    Artykuł w miarę spoko, alee przypominam o :

    Art. 267. § 1. Kto bez uprawnienia uzyskuje dostęp do informacji dla niego nieprzeznaczonej, otwierając zamknięte pismo, podłączając się do sieci telekomunikacyjnej lub przełamując albo omijając elektroniczne, magnetyczne, informatyczne lub inne szczególne jej zabezpieczenie, podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 2.
    § 2. Tej samej karze podlega, kto bez uprawnienia uzyskuje dostęp do całości lub części systemu informatycznego.
    § 3. Tej samej karze podlega, kto w celu uzyskania informacji, do której nie jest uprawniony, zakłada lub posługuje się urządzeniem podsłuchowym, wizualnym albo innym urządzeniem lub oprogramowaniem.
    § 4. Tej samej karze podlega, kto informację uzyskaną w sposób określony w § 1-3 ujawnia innej osobie.
    § 5. Ściganie przestępstwa określonego w § 1-4 następuje na wniosek pokrzywdzonego.

    •  

      pokaż komentarz

      @PrawieJakBordo: komentarz w miarę spoko, ale przypominam o nowelizacji kodeksu karnego:

      Art. 269c. Działania w celu wykrycia błędów w zabezpieczeniach systemów informatycznych]
      Nie podlega karze za przestępstwo określone w art. 267 bezprawne uzyskanie informacji § 2 lub art. 269a zakłócanie pracy systemu informatycznego, teleinformatycznego lub sieci teleinformatycznej, kto działa wyłącznie w celu zabezpieczenia systemu informatycznego, systemu teleinformatycznego lub sieci teleinformatycznej albo opracowania metody takiego zabezpieczenia i niezwłocznie powiadomił dysponenta tego systemu lub sieci o ujawnionych zagrożeniach, a jego działanie nie naruszyło interesu publicznego lub prywatnego i nie wyrządziło szkody.


      Jeżeli znajdziesz podatność, zgłosisz od razu po odnalezieniu i nie dropłeś tabelki z userami to generalnie jest spoko.

    •  

      pokaż komentarz

      @akwes: i o ile nie zrobiles SELECT * na wszystkich tabelach, albo sobie po prostu nie wykesportowales bazy ( ͡° ͜ʖ ͡°)

  •  

    pokaż komentarz

    Panie @speedxix2002: Ludzie słusznie zauważają, że piszesz jak do kolegi z którym 2 dni temu próbowałeś to rozkminić. Albo pisz bez technicznych szczegółów, opisz metodę, pokaż wyniki jako dowód, że to działa, tak jak się robi z wyciekami, 20 rekordów częściowo zamazanych wystarczy, żeby każdy uwierzył, że coś wyciekło. A i tak dopiero jakiś zaufany autorytet jak niebiezpiecznik dopiero jak potwierdzi, to jest to pewne.
    Albo pisz krok po kroku co i jak zrobić, KROK PO KROKU, nie otwórz konsole i wywołaj '-qwerty', tylko Kliknij start, wpisz cmd.exe, enter, wpisz... Bo ludzie tego nie ogarniają.
    Ja nie raz patrzyłem na gitchuba i niby instrukcja jest, a ja ni hu hu. To i tak że się udało ostatnio uruchomić Style Tranfer, żeby mi Van Gogh malował moje zdjęcia, to cud, ale zajęło mi to rozkminianie przez kilka dni krok po kroku co znaczy każde sformułowanie, a nie jestem jakimś noobem w takie pythonowe sprawy tylko od lat grzebię w prostych opracowanych przez kogoś metodach na różne bajerki.