4Developers 2015: Wybrane podatności w aplikacjach webowych - Michał SajdakPROIDEA
YouTube: https://www.youtube.com/watch?v=eRkD2a4vMsc&list=PLnKL6-WWWE_WNYmP_P5x2SfzJ7jeJNzfp&index=38
Speaker: Michał Sajdak
Language: Polish
W trakcie prelekcji zaprezentowane zostaną ciekawe podatności w aplikacjach webowych - w tym kilka nieoczywistych metod uzyskiwania shella na systemie operacyjnym czy podatność XXE. Każdy omawiany problem, po krótkim wstępie teoretycznym, prezentowany jest na żywo.
4Developers: http://4developers.org.pl/pl/
Właściwe zabezpieczenie strony internetowej, szczególnie opartej na tak popularnym CMSie, jakim jest WordPress, to bardzo ważna kwestia. Przybliżę najważniejsze zasady, jakimi należy się kierować, aby nasza strona była (w miarę) bezpieczna.
Prezentacja z WordCamp Lublin 2017.
KONA ICED COFFEE from COFFEE MAN BEVERAGE SERVICESAndrew Wyllie
Offer your employees refreshing and delicious iced coffee right in your break room. Restaurant & snack-bar owners can now offer your customers with an easy, pre-made iced coffee product - no labor involved! Simply dispense over a cup of ice and serve!
WISeKey is a digital information security, authentication, and identity management company, headquartered in Geneva, Switzerland with regional subsidiaries around the world. Established in 1999, WISeKey offers advanced e-security solutions for public sector organizations, enterprises and consumers. More info on www.wisekey.com
Wisekey Italy will operate in Italy, San Marino and The City of Vatican State on behalf of the Holding Wisekey SA.
K-Team Consulting is shareholder of the newly formed Wisekey Italian Subsidiary.
4Developers 2015: Wybrane podatności w aplikacjach webowych - Michał SajdakPROIDEA
YouTube: https://www.youtube.com/watch?v=eRkD2a4vMsc&list=PLnKL6-WWWE_WNYmP_P5x2SfzJ7jeJNzfp&index=38
Speaker: Michał Sajdak
Language: Polish
W trakcie prelekcji zaprezentowane zostaną ciekawe podatności w aplikacjach webowych - w tym kilka nieoczywistych metod uzyskiwania shella na systemie operacyjnym czy podatność XXE. Każdy omawiany problem, po krótkim wstępie teoretycznym, prezentowany jest na żywo.
4Developers: http://4developers.org.pl/pl/
Właściwe zabezpieczenie strony internetowej, szczególnie opartej na tak popularnym CMSie, jakim jest WordPress, to bardzo ważna kwestia. Przybliżę najważniejsze zasady, jakimi należy się kierować, aby nasza strona była (w miarę) bezpieczna.
Prezentacja z WordCamp Lublin 2017.
KONA ICED COFFEE from COFFEE MAN BEVERAGE SERVICESAndrew Wyllie
Offer your employees refreshing and delicious iced coffee right in your break room. Restaurant & snack-bar owners can now offer your customers with an easy, pre-made iced coffee product - no labor involved! Simply dispense over a cup of ice and serve!
WISeKey is a digital information security, authentication, and identity management company, headquartered in Geneva, Switzerland with regional subsidiaries around the world. Established in 1999, WISeKey offers advanced e-security solutions for public sector organizations, enterprises and consumers. More info on www.wisekey.com
Wisekey Italy will operate in Italy, San Marino and The City of Vatican State on behalf of the Holding Wisekey SA.
K-Team Consulting is shareholder of the newly formed Wisekey Italian Subsidiary.
Cada año, Veladero, de Barrick, pone en marcha un "Operativo Invierno", el cual tiene por objetivo preservar la integridad física de todo el personal y visitantes al proyecto y asegurar las actividades en mina durante los meses de invierno.
Wirtschaftliche Aspekte der Nutzung von Open Government Data, Nikolaus FutterSemantic Web Company
Slides zum Vortrag im Rahmen der OGD2011 am 16. Juni in Wien: Wirtschaftliche Aspekte der Nutzung von Open Government Data, Nikolaus Futter, Compass Verlag.
Co to jest SQL injection i jak wyglądają współczesne ataki na serwisy? Dlaczego SQL injection jest takie groźne? Jak w praktyce obronić się przed tą luką w bezpieczeństwie i ocalić swoje dane?
Zhakuj swojego Wordpressa, WordUP Trojmiastosecman_pl
Prezentacja na WordUP Trójmiasto poświęcona metodom testowania bezpieczeństwa tworzonych przez deweloperów dodatków do Wordpressa. W prezentacji skontrowano się na wybranych atakach na aplikacje webowe: SQL injection, XSS, Upload PHP shell
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...SecuRing
Prezentacja z konferencji Bezpieczeństwo firmowych sieci (Warszawa, 2012-09-26)
Zabezpieczenia sprzętowe i programowe to bardzo istotny element infrastruktury IT każdej firmy, niezależnie od skali. Jest to również bardzo istotny składnik kosztów. Czy rozwiązania, w które inwestujemy są skuteczne? Czy faktycznie podnoszą poziom bezpieczeństwa?
Na te pytania nie ma oczywiście prostej odpowiedzi. Wydawać by się mogło, że tak ale czy każdy sprawdza skuteczność wdrożonych zabezpieczeń, czy raczej jest to sprawdzenie ich „w boju”?
Podczas mojej praktyki zawodowej, wielokrotnie spotykałem się z rozwiązaniami zabezpieczającymi, które nie działają, działają niezgodnie z założeniami lub wręcz same stanowią źródło zwiększonego ryzyka. Wynika to z tego, że rozwiązania zabezpieczające z reguły wymagają uważnego planowania i konfiguracji i w większości przypadków nie są to rozwiązania „plug & forget” niezależnie od tego co mówią dostawcy tych rozwiązań. Ponadto rozwiązania zabezpieczające (jak każdy element infrastruktury IT) mogą zawierać podatności, które mogą przyczynić się do obniżenia ich skuteczności albo nawet stanowić wyłom w całym systemie zabezpieczeń. W końcu – znowu jak każdy element infrastruktury IT – są one podatne na błędy ludzi, którzy je instalują i którzy nimi administrują.
Jak uniknąć takich sytuacji? Należy testować zabezpieczenia przed wdrożeniem (a w niektórych wypadkach – również przed zainwestowaniem w nie czasu i pieniędzy), tak jak każdy inny element infrastruktury IT. Z tym że w przypadku zabezpieczeń należy przede wszystkim uwzględnić testy skuteczności działania tych zabezpieczeń a więc testy w realnych warunkach ataku.
W trakcie mojej prezentacji postaram się przedstawić kilka przykładów i scenariuszy pokazujących jak nieprawidłowo działające zabezpieczenia techniczne mogą paradoksalnie przyczynić się do obniżenia poziomu bezpieczeństwa. Omówię zarówno podatności znajdywane w różnych rozwiązaniach zabezpieczających, ciekawe błędy konfiguracji a także nieprawidłowe procedury eksploatacji.
Michał Sajdak, Testy bezpieczeństwa -‐ teoria a praktykaFuture Processing
Wykład prezentowany podczas ósmej odsłony Quality Meetup, 12 maja 2016 roku w Gliwicach.
Autor: Michał Sajdak (IT Security Consultant, Securitum.pl)
Prezentacja wskazuje problemy, z którymi często borykają się osoby realizujące testy bezpieczeństwa oraz firmy zlecające tego typu działania. Dzięki prezentacji otrzymamy praktyczne wskazówki umożliwiające zwiększenie efektywności testów oraz sprawne przeprowadzenie całości takiego procesu. Prezentacja powstała na bazie wieloletniego doświadczenia, które Michał zdobył podczas realizacji testów bezpieczeństwa.
Pierwsza aplikacja na iOS, czyli z czym można się spotkać, co jest trudne i c...The Software House
Architektura aplikacji iOS, podstawowe kontrolki i przydatne frameworki.
Kod źródłowy z prezentacji: https://github.com/UszanowankoProgramowanko/swift-intro
Prezentacja z konferencji ISSA InfoTRAMS Holistic Application Security
Od kilku lat na świecie jest promowane podejście polegające na wpisaniu bezpieczeństwa w cały cykl rozwojowy oprogramowania. W polskiej praktyce, nadal kwestie związane z bezpieczeństwem najczęściej poruszane są na dopiero na końcu projektu, tuż przed wdrożeniem gdy wykonywane są testy bezpieczeństwa. Bardzo często takie podejście skutkuje znacznymi kosztami usuwania błędów i sporym "zamieszaniem" w projekcie, ale o tym firma przekonuje się dopiero "za 5 dwunasta", po wykonaniu testów bezpieczeństwa. Z reguły, usuwanie podatności na tym etapie projektu polega na "gaszeniu pożarów" i przyklejaniu kolejnych łatek zamiast wprowadzenia systemowych zmian. W rezultacie, w dalszym cyklu życia, po wprowadzeniu zmian funkcjonalnych wypływają nowe przypadki wystąpienia starych błędów.
Jak to zmienić? Czy zastosowanie podstawowych zasad tworzenia bezpiecznego oprogramowania jest faktycznie takie skomplikowane jak by mogło się wydawać?
W trakcie prezentacji zostaną przedstawione metodyki wprowadzania bezpieczeństwa do całego cyklu rozwojowego oprogramowania (na przykładzie OWASP SAMM), również z uwzględnieniem sytuacji, gdy stworzenie aplikacji zlecane jest dla firmy zewnętrznej. Krótko omówiona zostanie skuteczność i potencjalne problemy tych metodyk w naszych, polskich realiach. Przedstawione zostanie także kilka prostych sposobów, które zdaniem autora pozwolą na skuteczniejsze osiągnięcie zamierzonego efektu - czyli aplikacji nieobarczonej podatnościami.
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...Future Processing
Tworzenie skalowalnych i wydajnych mikroserwisów w rozproszonym środowisku chmurowym wymaga dużej dyscypliny u programisty oraz zastosowania wielu narzędzi ułatwiających to zadanie. Im większy system, tym większej uwagi wymaga. Rozproszone środowisko dodatkowo wymusza korzystanie z zewnętrznych rozwiązań ułatwiających pracę ze stanem systemu, takich jak cache.
Zdarzyło Ci się kiedyś pogubić w tym, gdzie leży która usługa i skąd się wziął błąd w systemie? Czy nie łatwiej byłoby mieć jedno narzędzie, które utrzyma wszystkie usługi pod kontrolą i zapewni niezawodne zarządzanie stanem aplikacji bez konieczności używania zewnętrznych systemów?
W czasie swojej prelekcji Krzysiek przedstawi, jak sprawdzony w bojach Azure Service Fabric zapewnia stabilną kontrolę nad systemem mikroserwisów oraz pozwala stworzyć aplikację bez użycia zewnętrznej bazy danych i systemu cachingu. Swoje doświadczenie z Azure Service Fabric nabył w codziennej pracy w dużym projekcie dla korporacji finansowej w Future Processing.
Cada año, Veladero, de Barrick, pone en marcha un "Operativo Invierno", el cual tiene por objetivo preservar la integridad física de todo el personal y visitantes al proyecto y asegurar las actividades en mina durante los meses de invierno.
Wirtschaftliche Aspekte der Nutzung von Open Government Data, Nikolaus FutterSemantic Web Company
Slides zum Vortrag im Rahmen der OGD2011 am 16. Juni in Wien: Wirtschaftliche Aspekte der Nutzung von Open Government Data, Nikolaus Futter, Compass Verlag.
Co to jest SQL injection i jak wyglądają współczesne ataki na serwisy? Dlaczego SQL injection jest takie groźne? Jak w praktyce obronić się przed tą luką w bezpieczeństwie i ocalić swoje dane?
Zhakuj swojego Wordpressa, WordUP Trojmiastosecman_pl
Prezentacja na WordUP Trójmiasto poświęcona metodom testowania bezpieczeństwa tworzonych przez deweloperów dodatków do Wordpressa. W prezentacji skontrowano się na wybranych atakach na aplikacje webowe: SQL injection, XSS, Upload PHP shell
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...SecuRing
Prezentacja z konferencji Bezpieczeństwo firmowych sieci (Warszawa, 2012-09-26)
Zabezpieczenia sprzętowe i programowe to bardzo istotny element infrastruktury IT każdej firmy, niezależnie od skali. Jest to również bardzo istotny składnik kosztów. Czy rozwiązania, w które inwestujemy są skuteczne? Czy faktycznie podnoszą poziom bezpieczeństwa?
Na te pytania nie ma oczywiście prostej odpowiedzi. Wydawać by się mogło, że tak ale czy każdy sprawdza skuteczność wdrożonych zabezpieczeń, czy raczej jest to sprawdzenie ich „w boju”?
Podczas mojej praktyki zawodowej, wielokrotnie spotykałem się z rozwiązaniami zabezpieczającymi, które nie działają, działają niezgodnie z założeniami lub wręcz same stanowią źródło zwiększonego ryzyka. Wynika to z tego, że rozwiązania zabezpieczające z reguły wymagają uważnego planowania i konfiguracji i w większości przypadków nie są to rozwiązania „plug & forget” niezależnie od tego co mówią dostawcy tych rozwiązań. Ponadto rozwiązania zabezpieczające (jak każdy element infrastruktury IT) mogą zawierać podatności, które mogą przyczynić się do obniżenia ich skuteczności albo nawet stanowić wyłom w całym systemie zabezpieczeń. W końcu – znowu jak każdy element infrastruktury IT – są one podatne na błędy ludzi, którzy je instalują i którzy nimi administrują.
Jak uniknąć takich sytuacji? Należy testować zabezpieczenia przed wdrożeniem (a w niektórych wypadkach – również przed zainwestowaniem w nie czasu i pieniędzy), tak jak każdy inny element infrastruktury IT. Z tym że w przypadku zabezpieczeń należy przede wszystkim uwzględnić testy skuteczności działania tych zabezpieczeń a więc testy w realnych warunkach ataku.
W trakcie mojej prezentacji postaram się przedstawić kilka przykładów i scenariuszy pokazujących jak nieprawidłowo działające zabezpieczenia techniczne mogą paradoksalnie przyczynić się do obniżenia poziomu bezpieczeństwa. Omówię zarówno podatności znajdywane w różnych rozwiązaniach zabezpieczających, ciekawe błędy konfiguracji a także nieprawidłowe procedury eksploatacji.
Michał Sajdak, Testy bezpieczeństwa -‐ teoria a praktykaFuture Processing
Wykład prezentowany podczas ósmej odsłony Quality Meetup, 12 maja 2016 roku w Gliwicach.
Autor: Michał Sajdak (IT Security Consultant, Securitum.pl)
Prezentacja wskazuje problemy, z którymi często borykają się osoby realizujące testy bezpieczeństwa oraz firmy zlecające tego typu działania. Dzięki prezentacji otrzymamy praktyczne wskazówki umożliwiające zwiększenie efektywności testów oraz sprawne przeprowadzenie całości takiego procesu. Prezentacja powstała na bazie wieloletniego doświadczenia, które Michał zdobył podczas realizacji testów bezpieczeństwa.
Pierwsza aplikacja na iOS, czyli z czym można się spotkać, co jest trudne i c...The Software House
Architektura aplikacji iOS, podstawowe kontrolki i przydatne frameworki.
Kod źródłowy z prezentacji: https://github.com/UszanowankoProgramowanko/swift-intro
Prezentacja z konferencji ISSA InfoTRAMS Holistic Application Security
Od kilku lat na świecie jest promowane podejście polegające na wpisaniu bezpieczeństwa w cały cykl rozwojowy oprogramowania. W polskiej praktyce, nadal kwestie związane z bezpieczeństwem najczęściej poruszane są na dopiero na końcu projektu, tuż przed wdrożeniem gdy wykonywane są testy bezpieczeństwa. Bardzo często takie podejście skutkuje znacznymi kosztami usuwania błędów i sporym "zamieszaniem" w projekcie, ale o tym firma przekonuje się dopiero "za 5 dwunasta", po wykonaniu testów bezpieczeństwa. Z reguły, usuwanie podatności na tym etapie projektu polega na "gaszeniu pożarów" i przyklejaniu kolejnych łatek zamiast wprowadzenia systemowych zmian. W rezultacie, w dalszym cyklu życia, po wprowadzeniu zmian funkcjonalnych wypływają nowe przypadki wystąpienia starych błędów.
Jak to zmienić? Czy zastosowanie podstawowych zasad tworzenia bezpiecznego oprogramowania jest faktycznie takie skomplikowane jak by mogło się wydawać?
W trakcie prezentacji zostaną przedstawione metodyki wprowadzania bezpieczeństwa do całego cyklu rozwojowego oprogramowania (na przykładzie OWASP SAMM), również z uwzględnieniem sytuacji, gdy stworzenie aplikacji zlecane jest dla firmy zewnętrznej. Krótko omówiona zostanie skuteczność i potencjalne problemy tych metodyk w naszych, polskich realiach. Przedstawione zostanie także kilka prostych sposobów, które zdaniem autora pozwolą na skuteczniejsze osiągnięcie zamierzonego efektu - czyli aplikacji nieobarczonej podatnościami.
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...Future Processing
Tworzenie skalowalnych i wydajnych mikroserwisów w rozproszonym środowisku chmurowym wymaga dużej dyscypliny u programisty oraz zastosowania wielu narzędzi ułatwiających to zadanie. Im większy system, tym większej uwagi wymaga. Rozproszone środowisko dodatkowo wymusza korzystanie z zewnętrznych rozwiązań ułatwiających pracę ze stanem systemu, takich jak cache.
Zdarzyło Ci się kiedyś pogubić w tym, gdzie leży która usługa i skąd się wziął błąd w systemie? Czy nie łatwiej byłoby mieć jedno narzędzie, które utrzyma wszystkie usługi pod kontrolą i zapewni niezawodne zarządzanie stanem aplikacji bez konieczności używania zewnętrznych systemów?
W czasie swojej prelekcji Krzysiek przedstawi, jak sprawdzony w bojach Azure Service Fabric zapewnia stabilną kontrolę nad systemem mikroserwisów oraz pozwala stworzyć aplikację bez użycia zewnętrznej bazy danych i systemu cachingu. Swoje doświadczenie z Azure Service Fabric nabył w codziennej pracy w dużym projekcie dla korporacji finansowej w Future Processing.
Testowanie poziomu bezpieczeństwa aplikacji internetowychAntoni Orfin
Niniejsza praca ma za zadanie przedstawić zagrożenia związane z bezpieczeństwem aplikacji internetowych.
Omawia najpowszechniejsze rodzaje zagrożeń, przykłady podatności i sposoby ochrony. Pozwoli na zapoznanie się z ogólnymi zasadami, którymi powinny kierować się osoby odpowiedzialne za wytwarzanie systemów webowych. Jest również bazą która pozwoli skuteczniej przeprowadzać audyty bezpieczeństwa.
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...Future Processing
Tworzenie skalowalnych i wydajnych mikroserwisów w rozproszonym środowisku chmurowym wymaga dużej dyscypliny u programisty oraz zastosowania wielu narzędzi ułatwiających to zadanie. Im większy system, tym większej uwagi wymaga. Rozproszone środowisko dodatkowo wymusza korzystanie z zewnętrznych rozwiązań ułatwiających pracę ze stanem systemu, takich jak cache.
Zdarzyło Ci się kiedyś pogubić w tym, gdzie leży która usługa i skąd się wziął błąd w systemie? Czy nie łatwiej byłoby mieć jedno narzędzie, które utrzyma wszystkie usługi pod kontrolą i zapewni niezawodne zarządzanie stanem aplikacji bez konieczności używania zewnętrznych systemów? W czasie swojej prelekcji Krzysiek przedstawił, jak sprawdzony w bojach Azure Service Fabric zapewnia stabilną kontrolę nad systemem mikroserwisów oraz pozwala stworzyć aplikację bez użycia zewnętrznej bazy danych i systemu cachingu. Swoje doświadczenie z Azure Service Fabric nabył w codziennej pracy w dużym projekcie dla korporacji finansowej w FP.
Slides for IT Academic Days presentation about NET flow - Microsoft not widely known solution for workflow in ASP.NET applications. Prepared and presented with Marcin Daczkowski.
Similar to Wybrane podatności aplikacji webowych - Michał Sajdak (20)
2. O Prelegencie
Michał Sajdak <at> securitum.pl
Testy bezpieczeństwa aplikacji
Szkolenia z security
- również dla testerów programistów
http://securitum.pl/
2
Copyright 2014 Securitum
www.securitum.pl
3. Agenda
OS Command EXEC
1. Cisco RVS 4000
2. Jak omijać filtry w uploadzie?
3. Biblioteka JBoss Seam
4. Cisco Security Appliance (jeśli będzie czas)
OS Command EXEC + SQLi
5. XXE (XML eXternal Entities)
Info tylko w celach edukacyjnych! 3
Copyright 2014 Securitum
www.securitum.pl
6. Upload / Apache – omijanie filtrów
Formularze zazwyczaj blokują upload plików
wykonywalnych (np. php)
Edytory wizualne
Uploady CV
Etc.
Ale często stosują… blacklisting
Czyli uniemożliwiają upload plików z
rozszerzeniem .php / .aspx / itd
6
Copyright 2014 Securitum
www.securitum.pl
7. Upload / Apache – omijanie filtrów
Zagadka
W jaki sposób Apache HTTP server zinterpretuje
plik:
siekiera.jpg.php.wnk2j3.tralalala.sekurak
Jako txt ?
Jako PHP ?
Jako jpg ?
7
Copyright 2014 Securitum
www.securitum.pl
9. OS Command Exec – JBoss Seam
Dość stara podatność
Ale będąca przykładem ogólniejszego trendu:
Używamy biblioteki X, która w momencie uruchomienia
systemu jest bezpieczna
Mija Y czasu… i w bibliotece znane są krytyczne
podatności
Info: Meder Kydyraliev, Seam Vulnerability,
http://blog.o0o.nu/
9
Copyright 2014 Securitum
www.securitum.pl
10. OS Command Exec – JBoss Seam
Dość stara podatność
Można w sposób nieuwierzytelniony wywołać
instancje klas… i dalej wołać metody
W szczególności Runtime.exec(„calc.exe”)
10
Copyright 2014 Securitum
www.securitum.pl
11. OS Command Exec – JBoss Seam
Na docelowych systemach możemy mieć
różne wersje javy
Więc należy w danym przypadku zlokalizować
indeksy zadeklarowanych metod:
public static java.lang.Runtime
java.lang.Runtime.getRuntime()
Process java.lang.Runtime.exec(java.lang.String)
11
Copyright 2014 Securitum
www.securitum.pl
12. OS Command Exec – JBoss Seam
Jeśli znajdziemy starego JBossa prawie
gwarancja że mamy nieuwierzytelniony OS
Command Exec
Na systemach Windows – często Administrator
Podatne też inne javowe app servery
De facto jest to błąd w bibliotece nie w app serverze..
12
Copyright 2014 Securitum
www.securitum.pl
14. SQL injection
http://site.pl/news.php?id=10
SELECT * FROM news WHERE id = 10 AND
active = 1
http://site.pl/news.php?id=10%20OR%201=1%23
SELECT * FROM news WHERE id = 10 OR 1=1#
AND active = 1
14
Copyright 2015 Securitum
www.securitum.pl
15. SQL injection
http://site.pl/news.php?id=-1 UNION ALL
SELECT user,password, NULL, NULL FROM
users#
SELECT * FROM news WHERE id = -1 UNION
ALL SELECT user,password, NULL, NULL FROM
users# AND active = 1
15
Copyright 2015 Securitum
www.securitum.pl
16. SQL injection – przykład na ekranie logowania
Cisco Security Appliance (SA 520)
$SQL = „SELECT * FROM users WHERE
login = ‘$login’ AND password = ‘$password’
Kontrolujemy login i hasło
Zobaczmy co się stanie jeśli użyjemy jako login/password ciągu:
‘ or ‘1’=‘1
$SQL = „SELECT * FROM users WHERE
login = ‘’ or ‘1’=‘1’ AND password = ‘’ or ‘1’=‘1’
Copyright 2015 Securitum
www.securitum.pl
16
17. SQL injection – przykład na ekranie logowania
SA 500 Appliance
$SQL = „SELECT * FROM users WHERE
login = ‘’ or ‘1’=‘1’ AND password = ‘’ or ‘1’=‘1’
Zwraca wszystkie wiersze z tabeli
Użyjmy tego na SA500
Możemy tutaj użyć techniki blind SQL injection
Copyright 2015 Securitum
www.securitum.pl
17
18. SQL injection – przykład na ekranie logowania
SA 500
Cel – chcemy pobrać wszystkie loginy i hasła (w plaintext)
Copyright 2015 Securitum
www.securitum.pl
18
19. SQL injection – przykład na ekranie logowania
Następne kroki
Potrzebujemy znać typ bazy danych
Potrzebujemy wiedzieć w jakiej tabeli przechowywane
są dane o użytkownikach oraz:
jak nazywają się kolumny przechowujące loginy / hasła
Wszystkie te informacje mogą być uzyskane dzięki analizie whitebox
Baza: SQLLite
Nazwa tabeli: SSLVPNUsers
Kolumny: Username / Password
Copyright 2015 Securitum
www.securitum.pl
19
20. SQL injection – przykład na ekranie logowania
Pełne zapytanie pobierające użytkowników /
hasła wygląda tak:
SELECT Username, Password FROM SSLVPNUsers
Ale nie możemy tego użyć bezpośrednio
Ekran logowania nie wyświetla nic poza
komunikatami o błędach
Copyright 2015 Securitum
www.securitum.pl
20
21. SQL injection – przykład na ekranie logowania
Pobierzemy więc użytkowników hasła litera po
literze
Jak to zrobić?
Potrzebujemy trochę praktyki z SQL ;-)
Copyright 2015 Securitum
www.securitum.pl
21
22. SQL injection – przykład na ekranie logowania
SELECT Password FROM SSLVPNUser LIMIT
1 OFFSET 0
Pobiera pierwsze hasło w bazie
substr((SELECT Password FROM
SSLVPNUser LIMIT 1 OFFSET 0),1,1)
Pobiera pierwszą literę pierwszego hasła w
bazie
Copyright 2015 Securitum
www.securitum.pl
22
23. SQL injection – przykład na ekranie logowania
Nasz login będzie następujący:
‘ OR substr((SELECT Password FROM SSLVPNUser
LIMIT 1 OFFSET 0),1,1)=‘a’--
Co skutkuje następującym zapytaniem:
SELECT * FROM SSLVPNUser WHERE login = ‘‘ OR
substr((SELECT Password FROM SSLVPNUser
LIMIT 1 OFFSET 0),1,1)=‘a’--’ AND password =
‘$password’
Zwraca ono „invalid username” kiedy pierwsza litera hasła != ‘a’
Zwraca ono „inny błąd” kiedy pierwsza litera hasła = ‘a’
Copyright 2015 Securitum
www.securitum.pl
23
24. XXE (XML eXternal Entities)
Mało znany problem…ale dość istotny
W 2013 roku Reginaldo Silva
otrzymał w ramach bugbounty z Facebooka
$33 500
RCE z wykorzystaniem XXE
FB wypuścił patcha w 3.5h od zgłoszenia (!)
24
Copyright 2014 Securitum
www.securitum.pl
25. XXE (XML eXternal Entities)
Encje znany z HTML-a:
< lub <
<
"
'
&
µ
…
Ogólnie:
&nazwa_encji;
&#numer_encji;
25
Copyright 2014 Securitum
www.securitum.pl
26. Renderowanie encji w HTML
W XML-u:
działa to podobnie…
26
Copyright 2014 Securitum
www.securitum.pl
27. XXE (XML eXternal Entities)
… możemy definiować własne encje
<!ENTITY name "value">
27
Copyright 2014 Securitum
www.securitum.pl