51
Top 10 Web 2.0 Attacks Shreeraj Shah Founder & Director Blueinfy Solutions Pvt. Ltd.

Top 10 Web 2.0 Attacks

Embed Size (px)

Citation preview

Page 1: Top 10 Web 2.0 Attacks

Top 10 Web 2.0 Attacks

Shreeraj ShahFounder & DirectorBlueinfy Solutions Pvt. Ltd.

Page 2: Top 10 Web 2.0 Attacks

Who Am I?

• Founder & Director– Blueinfy Solutions Pvt. Ltd. (Brief)– SecurityExposure.com

• Past experience– Net Square, Chase, IBM & Foundstone

• Interest– Web security research

• Published research– Articles / Papers – Securityfocus, O’erilly, DevX,

InformIT etc.– Tools – wsScanner, scanweb2.0, AppMap,

AppCodeScan, AppPrint etc.– Advisories - .Net, Java servers etc.

• Books (Author) – Web 2.0 Security – Defending Ajax, RIA and SOA– Hacking Web Services – Web Hacking

http://[email protected]://www.blueinfy.com

http://[email protected]://www.blueinfy.com

Page 3: Top 10 Web 2.0 Attacks

Web 2.0 Hacks – Eye Opening Case

• Web 2.0 Portal – Buy / Sell • Technologies & Components – Dojo, Ajax, XML

Services, Blog, Widgets• Scan with tools/products failedfailed• Security issues and hacks

– SQL injection over XML– Ajax driven XSS– Several XSS with Blog component– Several information leaks through JSON fuzzing– CSRF on both XML and JS-Array

»HACKED»DEFENSE

Page 4: Top 10 Web 2.0 Attacks

Agenda

• Web 2.0 – New battle field– Where are we moving?– Architecture– Strategic Changes– Enemies

• Detecting vulnerabilities– Methodologies– Fingerprinting– Discovery– Enumeration and

Crawling

• Top 10 Attack Vectors & Issues– Ajax Driven XSS– JavaScript injection &

Mashups– SQL Injection 2.0 type– CSRF with XML – CSRF and JS Hijacks– RSS Manipulations– Reverse engineering and

Logical hacks– WSDL Scan and Exposure– SOAP Injections– Widget/Gadgets hacks

Page 5: Top 10 Web 2.0 Attacks

How to secure Web 2.0?

Footprinting & Discovery

Enumeration & Crawling

Attacks and Scanning

Config Scanning

Web 2.0 Firewall

Secure Coding

Web 2.0 Asset or Resource

Secure Web 2.0

BlackBox WhiteBox

DefenseStrategies

Code Scanning

Page 6: Top 10 Web 2.0 Attacks

Web 2.0 – New battle field– Where are we moving?– Architecture– Changes– Enemies

Page 7: Top 10 Web 2.0 Attacks

Where are we moving?• 80% of companies are

investing in Web Services as part of their Web 2.0 initiative (McKinsey 2007 Global Survey)

• By the end of 2007, 30 percent of large companies have some kind of Web 2.0-based business initiative up and running (Gartner)

• 2008. Web Services or Service-Oriented Architecture (SOA) would surge ahead. (Gartner)

Page 8: Top 10 Web 2.0 Attacks

Architecture

Page 9: Top 10 Web 2.0 Attacks

Widget DOMHTML/CSS JavaScript

SOAPXML-RPCJSON

XML

Open APIsSaaS

ServicesREST

Browser Protocols

Architecture - Layers

Ajax Flash / RIAJSON-RPC

Structures Server-Side

HTTP(S)

Page 10: Top 10 Web 2.0 Attacks

Web 2.0 Changes – Application Infrastructure

Multiple sources (Urge for integratedinformation platform)

Single place information (Nourge for integration)

Information sharing

Asynchronous & Cross-domains(proxy)

SynchronousPostbackRefresh and Redirect

Communication methods

XML, JSON, JS Objects etc.HTML transfer Information structures

SOAP, XML-RPC, REST etc. overHTTP & HTTPS

HTTP & HTTPSProtocols

Web 2.0Web 1.0Vector

Page 11: Top 10 Web 2.0 Attacks

Web 2.0 Changes - Threats

Both server and client side exploitation

Server side exploitation Exploitation

• Web services [Payloads]• Client side [XSS & XSRF]

Server side [Typical injections]Vulnerabilities

• Multiple technologies• Information sources• Protocols

LimitedDependencies

Scattered and multipleStructuredEntry points

Web 2.0Web 1.0Vector

Page 12: Top 10 Web 2.0 Attacks

Enemies, Attacks & Cause

• Complex architecture and confusion with technologies

• Web 2.0 worms and viruses – Sammy, Yammaner & Spaceflash

• Ajax and JavaScripts – Client side attacks are on the rise (XSS/CSRF)

• Web Services attacks and exploitation• Flash clients are running with risks

Page 13: Top 10 Web 2.0 Attacks

Real Life Cases

Adding filter through CSRF

Loading js file through flash from scrapbook

Attacking blogs and boards

XSS through RSS feed

Flash components

HTTP Response Splitting

Source: The Web Hacking Incidents Database [http://webappsec.org/projects/whid/]

Page 14: Top 10 Web 2.0 Attacks

How to discover vulnerabilities?– Methodologies– Fingerprinting– Discovery– Enumeration and Crawling

Page 15: Top 10 Web 2.0 Attacks

Methodologies

• Fingerprinting – Application and Framework• Discovery – Discovering structures like JSON or

XML• Crawling 2.0 – Application crawling with DOM

context• Scanning strategies – Fuzz and Scan• Defense – Secure Coding and Firewall

Page 16: Top 10 Web 2.0 Attacks

Fingerprinting

• Application fingerprinting – identifying web and application servers

• Ajax and RIA framework fingerprints• Getting hold on to technologies – WebLogic or

Tomcat, Atlas or Dojo• Helps in assessment and mapping publicly

known vulnerabilities

Page 17: Top 10 Web 2.0 Attacks

Ajax/RIA call

• Asynchronous JavaScript and XML

HTML / CSS / Flash

JS / DOM

XMLHttpRequest (XHR)

Database / Resource

XML / Middleware / Text

Web Server

Asynchronous over HTTP(S)

Page 18: Top 10 Web 2.0 Attacks

Discovery

• Ajax running with various different structures• Developers are adding various different calls

and methods for it– JSON, Array, JS-Object etc.

• JavaScript can talk with back-end sources• Mashups application talking with various

sources• It has significant security impact• Identifying and Discovery of structures

Page 19: Top 10 Web 2.0 Attacks

Crawling & Enumeration for Web 2.0

• Dynamic page creation through JavaScript using Ajax

• DOM events are managing the application layer• DOM is having clear context• Protocol driven crawling is not possible without

loading page in the browser

Page 20: Top 10 Web 2.0 Attacks

Top 10 Attack Vectors & Issues– Ajax Driven XSS– JavaScript injection & Mashups– SQL Injection 2.0 type– CSRF with XML – CSRF and JSON Hijacks– RSS Manipulations– Reverse engineering and Logical hacks– WSDL Scan and Exposure– SOAP Injections– Widget/Modules hacks

Page 21: Top 10 Web 2.0 Attacks

A1 - Ajax Driven Cross Site Scripting (XSS)

• What is different?– Ajax calls get the stream– Inject into current DOM using eval() or any

other means– May rewrite content using document.write or

innerHTML calls– Source of stream can be un-trusted– Cross Domain calls are very common

Page 22: Top 10 Web 2.0 Attacks

Addressing Cross Domain Calls

• Cross Domain calls are very important for Web 2.0 applications.– Proxy to talk with cross domain– Callback implementation to fetch them– Flash via crossdomain.xml

• These are types of bypass and can have security implications

• Source of the information – key!

Page 23: Top 10 Web 2.0 Attacks

Scenario

Blog

DBattacker

Web app

Web app

proxy

WebClient

8008

JSON

eval()

XSS

Posting to the site[Malicious code]

JSONfeed

WebServer

Vulnerable stream coming through proxy

Hijack

Page 24: Top 10 Web 2.0 Attacks

XSS with RIA

• Applications running with Flash components• getURL – injection is possible• SWFIntruder• Flasm/Flare(http://www.nowrap.de/)

Page 25: Top 10 Web 2.0 Attacks

Ajax serialization issues• Ajax processing various information coming from

server and third party sources. – XSS opportunities

message = {from : "[email protected]",to : "[email protected]",subject : "I am fine",body : "Long message here",showsubject :

function(){document.write(this.subject)}};

{"bookmarks":[{"Link":"www.example.com","Desc":"Interesting link"}]}

new Array(“Laptop”, “Thinkpad”, “T60”, “Used”, “900$”, “It is great and I have used it for 2 years”)

JSON issues

JS – Array manipulation

JS – Object

Page 26: Top 10 Web 2.0 Attacks

A2 - JavaScript injection & Mashups

• Mashup applications are combinations of different APIs

• Source of information are un-trusted• Application is consuming information from these

sources and tunneling to end user• Malicious stream getting into the end application

and putting end user at risk• Callbacks are even more dangerous

Page 27: Top 10 Web 2.0 Attacks

A3 - SQL Injection 2.0 type

• Traditional SQL injection over GET/POST with name value pair

• Web 2.0 access mechanism are different• JSON and XML are popular structures• Calls may be part of Ajax routine or Flash

Application• Fuzzing of JSON to detect SQL points• SQL injection over JSON is popular way

Page 28: Top 10 Web 2.0 Attacks

A4 - Cross Site Request Forgery (CSRF)

• Generic CSRF is with GET / POST• Forcefully sending request to the target

application with cookie replay• Leveraging tags like

– IMG– SCRIPT– IFRAME

• Not abide by SOP or Cross Domain is possible

Page 29: Top 10 Web 2.0 Attacks

Cross Site Request Forgery (CSRF)

• What is different with Web 2.0– Is it possible to do CSRF to XML stream– How?– It will be POST hitting the XML processing

resources like Web Services– JSON CSRF is also possible– Interesting check to make against application

and Web 2.0 resources

Page 30: Top 10 Web 2.0 Attacks

One Way CSRF Scenario

Page 31: Top 10 Web 2.0 Attacks

One Way CSRF Scenario

Page 32: Top 10 Web 2.0 Attacks

One Way CSRF Scenario

Page 33: Top 10 Web 2.0 Attacks

One Way CSRF Scenario

Page 34: Top 10 Web 2.0 Attacks

One-Way CSRF<html><body><FORM NAME="buy" ENCTYPE="text/plain"

action="http://trade.example.com/xmlrpc/trade.rem" METHOD="POST"><input type="hidden" name='<?xml version'

value='"1.0"?><methodCall><methodName>stocks.buy</methodName><params><param><value><string>MSFT</string></value></param><param><value><double>26</double></value></param></params></methodCall>'>

</FORM><script>document.buy.submit();</script></body></html>

• Splitting XML stream in the form• Possible through XForms as well• Similar techniques is applicable to JSON as well

Page 35: Top 10 Web 2.0 Attacks

A5 – CSRF with JS Objects

• One-Way – Just making forceful request.• Two-Way

– Reading the data coming from the target– May be getting hold onto important information – profile,

statements, numbers etc.– Is it possible with JSON/XML

Page 36: Top 10 Web 2.0 Attacks

Two-Way CSRF

Page 37: Top 10 Web 2.0 Attacks

Two-Way CSRF

• Application is serving various streams like –JSON, JS-Object, Array etc.

• Attacker page can make cross domain request using SCRIPT (firefox)

• Following code can overload the array stream.function Array() { var obj = this; var index = 0; for(j=0;j<4;j++){ obj[index++] setter = spoof; } } function spoof(x){ send(x.toString()); }

Page 38: Top 10 Web 2.0 Attacks

A6 - RSS Manipulations

• RSS feeds coming into application from various un-trusted sources.

• Feed readers are part of 2.0 Applications.• Vulnerable to XSS.• Malicious code can be executed on the browser.• Several vulnerabilities reported.

Page 39: Top 10 Web 2.0 Attacks

RSS feeds

Page 40: Top 10 Web 2.0 Attacks

A7 – Reverse Engineering and Logical Hacks

• Web 2.0 Applications are running at both ends –Client and Server

• Business logic shifting towards client side• It may be residing in JavaScript, Flash based

components or Silverlight• Possible to decompile or some part in clear text• It is easy to enumerate logic and start

manipulating it• Debugging JavaScript and determining full logic

Page 41: Top 10 Web 2.0 Attacks

A8 – WSDL Enumeration and Exposure

Transport StackHTTP, HTTPS

Access StackWSDL,SOAP,XML-RPC,REST

Discovery StackUDDI, DISCO

Security StackWS-Security

Presentation StackXML,JSON,JS-* HTML / JS / DOM

RIA (Flash)

Ajax

Page 42: Top 10 Web 2.0 Attacks

Primary Discovery

• Crawling the application and mapping file extensions and directory structures, like “.asmx”

• Page scrubbing – scanning for paths and resources in the pages, like atlas back end call to Web Services

• Recording traffic while browsing and spidering, look for XML based traffic – leads to XML-RPC, REST, SOAP, JSON calls

Page 43: Top 10 Web 2.0 Attacks

Secondary Discovery

• Searching UDDI server for Web Services running on particular domain– Three tactics for it – business, services or

tModel• Running queries against search engines like

Google or MSN with extra directives like “inurl”or “filetype”– Look for “asmx”

• wsScanner – Discovery!

Page 44: Top 10 Web 2.0 Attacks

WSDL Scan • Fingerprinting .Net framework and Client side

technologies – Dojo or Atlas …• Scanning WSDL

– Looking for Methods– Collecting In/Out parameters– Security implementations– Binding points– Method signature mapping

• Internal functions exposed on the services is a major risk

Page 45: Top 10 Web 2.0 Attacks

A9 – SOAP and other services Injections• Manual invocation and response analysis• Dynamic proxy creation and scanning• Auto auditing for various vectors• Fuzzing Web Services streams – XML or JSON• Response analysis is the key

– Look for fault code nodes– Enumerating fault strings– Dissecting XML message and finding bits– Hidden error messages in JSON

Page 46: Top 10 Web 2.0 Attacks

Discovering Injections

• Web Services methods are consuming parameters coming from end users

• It is possible to inject malicious characters into the stream

• It can break Web Services code and send faultsting back to an attacker

• Various injections possible – SQL and XPATH• File system access• Remote command injection• Information leakage

Page 47: Top 10 Web 2.0 Attacks

A10 - Widgets/Gadgets Hacking

• DOM sharing model can cause many security issues

• One widget can change information on another widget – possible

• CSRF injection through widget code• Event hijacking is possible – Common DOM• IFrame – for widget is a MUST

Page 48: Top 10 Web 2.0 Attacks

Countermeasure and Security

• Scanning the code base• Identifying linkages• Method signatures and inputs• Looking for various patterns for SQL, LDAP,

XPATH, File access etc.• Checking validation on them• Code walking and tracing the base - Key

Page 49: Top 10 Web 2.0 Attacks

• Regular firewall will not work• Content filtering on HTTP will not work either

since it is SOAP/JSON over HTTP/HTTPS• SOAP/JOSN level filtering and monitoring would

require• ISAPI level filtering is essential• SOAP/JSON content filtering through

IHTTPModule

Content filtering with 2.0

Page 50: Top 10 Web 2.0 Attacks

Conclusion

• Web 2.0 bringing new challenges• Needs to adopt new methodologies for scanning• Attacks and entry points are scattered and

multiple• Ajax and SOA are key components• WAF and Code review are important aspects for

Web 2.0 defense

Page 51: Top 10 Web 2.0 Attacks

Questions?

Shreeraj ShahBlueinfy Solutions Pvt. [email protected]+9879027018

Tools : http://www.blueinfy.com/tools.html