Nyss offentliggjordes första rundan av vår officiella OWASP Summit Challenge "makeXORbreak". Man ska skriva ett skript som visar sitt namn på sidan bättre (mer prominent) än medtävlarna. Fula tricks och bråk om DOM:en väntar.
Läs allt och sätt igång på http://makeXORbreak.com.
söndag 23 januari 2011
fredag 21 januari 2011
XSS-skanner som Chrome-tillägg
Gareth Heyes har släppt sin cross-site scripting-skanner "XSS Rays" i ny version, denna gång som ett Google Chrome-tillägg. Läs om verktygets funktioner och ladda ner tillägget.
måndag 17 januari 2011
Topp 10 Web Hacking Techniques 2010
Jeremiah Grossman publicerade nyss Top 10 Web Hacking Techniques 2010 – den årliga listan som röstas fram av communityn och sponsras av bland annat OWASP.
- 'Padding Oracle' Crypto Attack (poet, Padbuster, demo, ASP.NET), Juliano Rizzo, Thai Duong
- Evercookie, Samy Kamkar
- Hacking Auto-Complete (Safari v1, Safari v2 TabHack, Firefox, Internet Explorer), Jeremiah Grossman
- Attacking HTTPS with Cache Injection (Bad Memories), Elie Bursztein, Baptiste Gourdin, Dan Boneh
- Bypassing CSRF protections with ClickJacking and HTTP Parameter Pollution, Lavakumar Kuppan, Manish Saindane
- Universal XSS in IE8 (CVE, White Paper), Eduardo Vela (sirdarckcat), David Lindsay (thornmaker)
- HTTP POST DoS ,Wong Onn Chee, Tom Brennan
- JavaSnoop, Arshan Dabirsiaghi
- CSS History Hack In Firefox Without JavaScript for Intranet Portscanning, Robert "RSnake" Hansen
- Java Applet DNS Rebinding, Stefano Di Paola
fredag 14 januari 2011
Den svaga länken (rolig bild)
onsdag 5 januari 2011
DoS:a PHP med en siffra
Flyttalet 2.2250738585072011e-308 hänger PHP 5.3 och öppnar upp för enkla men effektiva DoS-attacker.
Varför? Läs vidare.
Normala flyttal
Ett 64-bitars flyttal representeras av en teckenbit, elva exponentbitar och 52 mantissabitar. Elva bitar till exponenten innebär att minsta tillåtna exponent är -1022 och den maximala är 1023.
Ett så kallat normalt flyttal karaktäriseras också av att första siffran i mantissan är skild från noll, t ex 6.008043e10. Om första siffran vore noll, t ex 0.540030002e13 så skulle ju talet kunna skrivas 5.40030002e12, dvs med femman först, tolv som exponent och man hade tjänat en siffras precision i mantissan. Därför har man också kunna tolka den första biten som implicit eller gömd. Alltså har man 53 bitars precision i mantissan.
Det betyder att det minsta normala, 64-bitars flyttalet är binärt 1e-1022, decimalt 2.2250738585072010e-308.
Subnormala tal
Vad händer om datorn får ett resultat som är mindre än 1e-1022? Tidigare så ledde det till "flush to zero", dvs resultatet blev noll. Men sen kom man på att till priset av förlorad precision (= mindre antal signifikanta siffror i mantissan) så kunde man fortfarande representera resultatet som ett flyttal. Tricket var att låta första biten i mantissan vara noll för dessa subnormala tal! Exponenten representeras av bara nollor.
Nu plötsligt kunde man representera tal som 0.0000000010111e-1022.
Subnormala tal och PHP
Låt oss nu titta på det där talet som hängde PHP 5.3.
2.2250738585072011e-308 = 0.1111111111111111111111111111111111111111111111111111 x 2^-1022
I minnet representeras det av:
Teckenbiten: 0
Exponenten: 00000000000
Mantissan: 1111111111111111111111111111111111111111111111111111
Om ni räknar ettorna så ser ni att de är 52 till antalet. Tillsammans med den inledande nollan (implicit för 0-exponent) så fyller de hela mantissan på 53 bitar. Vi har alltså att göra med det största möjliga, subnormala flyttalet i ett 64-bitarssystem.
Och det värdet hänger tydligen PHP 5.3!
Varför? Läs vidare.
Normala flyttal
Ett 64-bitars flyttal representeras av en teckenbit, elva exponentbitar och 52 mantissabitar. Elva bitar till exponenten innebär att minsta tillåtna exponent är -1022 och den maximala är 1023.
Ett så kallat normalt flyttal karaktäriseras också av att första siffran i mantissan är skild från noll, t ex 6.008043e10. Om första siffran vore noll, t ex 0.540030002e13 så skulle ju talet kunna skrivas 5.40030002e12, dvs med femman först, tolv som exponent och man hade tjänat en siffras precision i mantissan. Därför har man också kunna tolka den första biten som implicit eller gömd. Alltså har man 53 bitars precision i mantissan.
Det betyder att det minsta normala, 64-bitars flyttalet är binärt 1e-1022, decimalt 2.2250738585072010e-308.
Subnormala tal
Vad händer om datorn får ett resultat som är mindre än 1e-1022? Tidigare så ledde det till "flush to zero", dvs resultatet blev noll. Men sen kom man på att till priset av förlorad precision (= mindre antal signifikanta siffror i mantissan) så kunde man fortfarande representera resultatet som ett flyttal. Tricket var att låta första biten i mantissan vara noll för dessa subnormala tal! Exponenten representeras av bara nollor.
Nu plötsligt kunde man representera tal som 0.0000000010111e-1022.
Subnormala tal och PHP
Låt oss nu titta på det där talet som hängde PHP 5.3.
2.2250738585072011e-308 = 0.1111111111111111111111111111111111111111111111111111 x 2^-1022
I minnet representeras det av:
Teckenbiten: 0
Exponenten: 00000000000
Mantissan: 1111111111111111111111111111111111111111111111111111
Om ni räknar ettorna så ser ni att de är 52 till antalet. Tillsammans med den inledande nollan (implicit för 0-exponent) så fyller de hela mantissan på 53 bitar. Vi har alltså att göra med det största möjliga, subnormala flyttalet i ett 64-bitarssystem.
Och det värdet hänger tydligen PHP 5.3!
tisdag 4 januari 2011
XSS via PayPal-betalningar
Ibland händer sånt som man normalt bara skämtar om. Book injection förra månaden var en sådan grej. Nu visar det sig att meddelandefältet vid PayPal-betalningar tillåter JavaScript, dvs möjliggör cross-site scripting. Man slutar aldrig att förvånas.
söndag 2 januari 2011
Ny fuzzer hittar 100 buggar i WebKit, FF, IE och Opera
Michal Zalewski (@lcamtuf) släppte igår sin nya fuzzer cross_fuzz som har hittat hundratalet buggar i alla de stora webbläsarna. Den åstadkommer sin magi genom att parse:a DOM:en i en flik, samla info om alla objekt, ändra egenskaper och anropa funktioner, sen stänga det dokumentet och använda de insamlade referenserna i en ny flik. Webbläsarna får typiskt problem med sin garbage collection där objekt överlever fast de inte ska och så vidare. Läs om algoritmen och buggarna på hans blogg.
En allvarlig del i det hela är att teamet bakom Internet Explorer inte patchat de buggar som är av säkerhetskaraktär. På sex månader. Michal publicerar en logg där man kan följa den frustrerade diskussionen med IE-folket. Börja läs vid "1) July 26, 2010: original report to MSRC, noting multiple crashes and GDI corruption issues. Acknowledged, case 10205jr."
En allvarlig del i det hela är att teamet bakom Internet Explorer inte patchat de buggar som är av säkerhetskaraktär. På sex månader. Michal publicerar en logg där man kan följa den frustrerade diskussionen med IE-folket. Börja läs vid "1) July 26, 2010: original report to MSRC, noting multiple crashes and GDI corruption issues. Acknowledged, case 10205jr."
Prenumerera på:
Inlägg (Atom)