Tải bản đầy đủ (.pdf) (150 trang)

Giáo trình CEH v7 tiếng việt chương 13 hacking web application

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.59 MB, 150 trang )

Hacking Web Application
Trường Cao Đẳng CNTT Hữu Nghị Việt Hàn
Khoa Khoa Học Máy Tính
GHVD: Ths. Lê Tự Thanh
Học Phần: An Ninh Mạng
Lớp: CCMM03A
Nhóm: 4
Thực hiện: Đặng Hữu Quốc Nhân
www.viethanit.edu.vn
Chính Sách Bảo Mật Mới
Google chi nhiều tiền cho các lỗi ứng dụng web của mình.
• Google đã tung ra một chương trình táo bạo, chương trình thử nghiệm tìm
ra các lỗ hỏng nghiêm trọng, những người nghiên cứu tìm ra lỗ hỏng sẽ
được google trả tiền ngày hôm đó, trong các ứng dụng web của mình như
là google.com, bogger.com, orkut.com và youtube.com.
• Chương trình mới của google khuyến khích những người nghiên cứu tìm
hiểu sâu về lỗ hổng bảo mật trong dịch vụ web của mình và trả tiền bất cứ
nơi nào từ $500 đến $3,133.70 cho một lỗ hổng nghiêm trọng hoặc "thông
minh", dễ bị tấn công.
• Google là công ty lớn đầu tiên mời gọi các cuộc tấn công trực tiếp chống
lại các ứng dụng trực tuyến, ông HD Moore, tác giả của Metasploit và là
giám đốc an ninh tại Rapid7. Trong khi các nhà nghiên cứu bảo mật đã
dành nhiều năm thử nghiệm các ứng dụng phần mềm và báo cáo những
phát hiện, những quyết định cách tiếp cận trực tuyến này đã phải đối mặt
với những thách thức pháp lý và hy vọng sẽ khuyến khích các nhà cung cấp
các dịch vụ khác để có một cách tiếp cận tương đương.
Trang 2
www.viethanit.edu.vn
Các Mục Tiêu
• Giới thiệu ứng dụng web
• Các thành phần ứng dụng web


• Hoạt động ứng dụng web như
thế nào ?
• Kiến trúc ứng dụng web
• Dữ liệu đưa vào không hợp lệ
• Tham số/ hình thức giả mạo
• Các lỗ hổng dễ bị xâm nhập
• Tấn công biến ẩn trong form
• Tấn công Cross site scripting
Trang 3
• Tấn công dịch vụ web
• Phương pháp tấn công
• Bộ công cụ tấn công ứng dụng
web
• Làm thế nào bảo vệ chống lại
các cuộc tấn công ứng dụng
web ?
• Bộ công cụ bảo mật ứng dụng
web
• Ứng dụng web với tường lửa
• Kiểm thử ứng dụng web
www.viethanit.edu.vn
Nội Dung Chính
Trang 4
Kiểm thử ứng dụng WEB
Khái niệm về ứng dụng WEB
Mối đe dọa ứng dụng WEB
Bộ công cụ bảo mật
Các biện pháp đối phó Các phương pháp tấn công
Bộ công cụ tấn công ứng dụng WEB
www.viethanit.edu.vn

Thống Kê Bảo Mật Ứng Dụng Web
Trang 5
Lỗ hổng của
các ứng dụng
web
0% 20% 40% 60% 80% 100%
37%
23.6%
23%
19%
Cross-Site Scripting
80%
62%
60%
SQL Injection
Parameter Tampering
Cookie Poisoning
Database Server
Web Server
Buffer Overflow
www.viethanit.edu.vn
Giới Thiệu Về Ứng Dụng WEB
• Các ứng dụng web cung cấp một giao diện giữa người dùng
đầu cuối và máy chủ web thông qua một trang web được tạo ra
ở máy chủ web hoặc chứa các mã kịch bản tự động trong trình
duyệt của người dùng.
• Các tổ chức dựa trên các ứng dụng web và công nghệ web 2.0
để hỗ trợ việc kinh doanh và cải thiện hiệu suất công việc.
• Mặc dù các ứng dụng web thực thi các chính sách bảo mật
nhất định nhưng dễ bị ảnh hướng bởi các cuộc tấn công khác

nhau như: SQL injection, cross-site scripting, session
hijacking,…
• Công nghệ web mới như là web 2.0 cung cấp, cho phép khai
thác nhiều ứng dụng web hơn và các tấn công cũng đa dạng
hơn.
Trang 6
www.viethanit.edu.vn
Các Thành Phần Ứng Dụng WEB
Trang 7
www.viethanit.edu.vn
Cơ chế
theo dõi
phiên làm
việc
Lưu trữ
dữ liệu
Máy
chủ web
Truy xuất
dữ liệu
Nội dung
ứng dụng
Quyền của
người sử
dụng
Đăng nhập
Vai trò của
hệ thống
bảo mật
Chương

trình ứng
dụng
Đăng xuất
Hoạt Động Ứng Dụng WEB ?
Trang 8
www.viethanit.edu.vn
Kiến Trúc Ứng Dụng WEB
Trang 9
www.viethanit.edu.vn
Ứng Dụng WEB 2.0
Trang 10
www.viethanit.edu.vn
Blogs
Công nghệ mới như AJAX(gmail, youtube)
Ứng dụng điện thoại di động (Iphone)
Giao diện WEB phong phú
Framework (Library, jQuery)
Điện toán đám mây trang WEB như
(amazon.com)
Bách khoa toàn thư và từ điển
Phần mềm văn phòng trực tuyến
(Google Docs and Microsoft light)
Dễ dàng tạo, sử đổi, xóa dữ liệu bởi người dùng cá nhân
Nâng cao chơi games
Hỗ trợ WEB động
Dịch vụ cung cấp thông tin
Trang WEB mạng xã hội
(Facebook, Zing,…)
Mash-up
(electronic payment systems)

Tương tác với ứng dụng khác
Nền tảng Google và các dịch vụ miễn phí
(Google maps)
Các Đối Tượng Dễ Bị Tấn Công
Trang 11
Bảo mật
HT mạng
Hệ điều hành
Máy chủ WEB
Cơ sở dữ liệu
Thành phần bên thứ ba
Các ứng dụng WEB
IPS/IDS
Router/Switch
Windows/Linux
Apache/Microsoft IIS
Oracle/MySQL/MS SQL
Nguồn mở/thương mại
Lỗ hổng trong kinh doanh-logic
www.viethanit.edu.vn
Các Hướng Tấn Công WEB
Trang 12
Một hướng tấn công là
một con đường hoặc là
phương tiện mà kẻ tấn
công có thể truy cập
vào máy tính hoặc là
tài nguyên mạng để
mang lại những cuộc
tấn công hoặc là gây

những hậu quả nghiêm
trọng.
1
Hướng tấn công bao
gồm XML poisoning,
client validation,
server
misconfiguration, Web
service routing Issues,
and cross-site scripting
2
Không có phương
pháp bảo vệ nào là
hoàn toàn chống lại
các cuộc tấn công, khi
bị tấn công thì tiếp tục
thay đổi và phát triển
với sự tiến hóa của
công nghệ.
3
www.viethanit.edu.vn
Nội Dung Chính
Trang 13
Kiểm thử ứng dụng WEB
Khái niệm về ứng dụng WEB
Mối đe dọa ứng dụng WEB
Bộ công cụ bảo mật
Các biện pháp đối phó Các phương pháp tấn công
Bộ công cụ tấn công ứng dụng WEB
www.viethanit.edu.vn

Các Mối Đe Dọa Ứng Dụng WEB
Trang 14
Vượt rào
thư mục
Dữ liệu
đưa vào
không hợp
lệ
Tập tin chứa
thông tin
người dùng
nhiễm độc
Lưu trữ
không bảo
mật
Thông
số/hình
thức giả
mạo
Từ chối
dịch vụ
Kiểm soát
truy cập
bị hổng
Việc sử lý
lỗi không
đúng cách
Tràn bộ
đệm
Lỗi cấu

hình bảo
mật
Quản lý
phiên bị
phá vỡ
Đăng
nhập giả
mạo
Bẻ khóa
tài khoản
quản lý
Thông tin
bị rò rỉ
Bảng 1
www.viethanit.edu.vn
Các Mối Đe Dọa Ứng Dụng WEB
Trang 15
Vượt rào
thư mục
Dữ liệu
đưa vào
không hợp
lệ
Tập tin chứa
thông tin
người dùng
nhiễm độc
Lưu trữ
không bảo
mật

Thông
số/hình
thức giả
mạo
Từ chối
dịch vụ
Kiểm soát
truy cập
bị hổng
Việc sử lý
lỗi không
đúng cách
Tràn bộ
đệm
Lỗi cấu
hình bảo
mật
Quản lý
phiên bị
phá vỡ
Đăng
nhập giả
mạo
Bẻ khóa
tài khoản
quản lý
Thông tin
bị rò rỉ
Bảng 2
www.viethanit.edu.vn

Khai thác
nền tảng
lỗ hổng
Xác thực
chiếm quyền
điều khiển
Tham
chiếu đối
tượng trực
tiếp không
bảo mật
Lưu trữ
không mã
hóa an toàn
Các cuộc tấn
công truy
cập mạng
Rình mò
tập tin chứa
thông tin
người dùng
Các cuộc tấn
công vào
dịch vụ web
Giả mạo
thành viên
Các ứng
dụng đen
Bảo vệ lớp
giao vận

không đầy đủ
Giao thức
tấn công
DMZ
Chuyển hướng
và chuyển tiếp
không hợp lệ
Khai thác lỗi
quản lý bảo mật
Không giới
hạn truy cập
URL
Tập tin thực
thi độc hại
Tấn công ngưng
phiên làm việc
Dữ Liệu Nhập Vào Không Hợp Lệ
Trang 16
www.viethanit.edu.vn
Trình duyệt gởi yêu cầu Sửa đổi truy vấn
Dữ liệu đầu vào
không được xác định
bởi ứng dụng WEB
Dữ liệu không hợp lệ có nhiều sai sót được đưa
đến các ứng dụng web, mà dữ liệu nhập từ các
máy khách không được hợp lệ trước khi xử lý
bởi ứng dụng web và máy chủ phụ.
Kẻ tấn công lợi dụng dữ liệu đưa vào không hợp
lệ có nhiều sai sót thực hiện Cross Site Cripting,
Buffer Overflow,… . Kết quả đó là dữ liệu bị

lấy cắp và hệ thống hoạt động sai lệch.

Tham Số/Giả Mạo Biểu Mẫu
Trang 17
www.viethanit.edu.vn
• Một trang WEB tấn công với các thông số giả mạo liên quan đến các thao tác của
các tham số trao đổi giữa máy chủ và máy khách để sửa đổi dữ liệu ứng dụng như
thông tin người dùng và quyền hạn, giá cả và số lượng sản phẩm.
• Một thông số giả mạo tấn công khai thác lỗ hổng trong cơ chế xác nhận tính toàn
vẹn và logic có thể dẫn đến như XSS, SQL injection,…
Giả mạo URL
Các tham số
Các tham số
Các tham số khác có
thể thay đổi được bao
gồm cả thuộc tính.
Directory Traversal
Trang 18
www.viethanit.edu.vn
• Directory Traversal cho phép kẻ tấn công truy cập các thư mục bị hạn chế bao
gồm mã nguồn ứng dụng, cấu hình và các tập tin quan trọng, và thực hiện các
lệnh bên ngoài thư mục gốc của máy chủ.
• Những kẻ tấn công có thể thao tác các biến tham chiếu tập tin với 'dot-dot
slash ( /)" cắt giảm và các biến thể của nó.
Truy cập các tập tin nằm bên ngoài thư mục web publishing bằng cách sử dụng directory traversal
Mã lệnh ảnh hưởng đến máy chủ
Lỗi Cấu Hình Bảo Mật
Trang 19
www.viethanit.edu.vn
Lỗ hổng

phần mềm
máy chủ
Lỗ hổng bảo
mật chưa đc

Vấn đề cấu
hình máy
chủ
Kích hoạt
các dịch vụ
không cần
thiết
Chứng thực
không phù
hợp
Dễ dàng khai thác
Sử dụng lỗ hổng cấu hình sai, kẻ tấn công truy
cập trái phép vào tài khoản mặc định, khai
thác lỗ hổng chưa được vá và đọc hoặc viết
các tập tin thư mục không được bảo vệ,

Phổ biến chung
Cấu hình không đúng bảo mật có thể xảy ra
bất kỳ cấp độ nào của một chồng ứng dụng
bao gồm cả nền tảng, máy chủ web, máy chủ
ứng dụng, framework và mã tùy chỉnh.
Ví dụ
• Tài khoản mặc định không được thay đổi
• Kẻ tấn công phát hiện ra trang quản trị
trên máy chủ, đăng nhập với tài khoản

mặc định và có được quyền
Injection Flaws
Trang 20
www.viethanit.edu.vn
1. Injection Flaws là lỗ hổng ứng dụng web cho phép dữ liệu không tin cậy được phiên dịch
và thực hiện như là một phần của một lệnh hoặc truy vấn.
2. Những kẻ tấn công khai thác Injection Flaw bằng cách xây dựng các lệnh độc hại hoặc truy
vấn mà dẫn đến mất dữ liệu hay sai lạc hoặc từ chối dịch vụ.
3. Injection Flaw phổ biến trong mã thừa kế, thường được tìm thấy trong SQL, LDAP và truy
vấn XPath, và có thể dễ dàng phát hiện bởi máy quét lỗ hổng ứng dụng và fuzzers.
Liên quan đến Injection
các truy vấn SQL độc hại
vào biểu mẫu người sử
dụng.
Liên quan đến việc
Injection mã độc hại thông
qua một trang web ứng
dụng.
Nó liên quan đến việc
Injection mã độc hại đến
LDAP.
Tấn Công SQL Injection
Trang 21
www.viethanit.edu.vn
• Tấn công SQL Injection sử dụng một loạt các truy vấn SQL độc hại trực tiếp
thao tác đến cơ sở dữ liệu.
• Một kẻ tấn công có thể sử dụng một ứng dụng web dễ bị tấn công để bỏ qua
các biện pháp bảo mật thông thường và truy cập trực tiếp vào dữ liệu có giá trị.
• Tấn công SQL Injection thường có thể được thực hiện từ thanh địa chỉ, từ bên
trong các lĩnh vực ứng dụng, thông qua các truy vấn và tìm kiếm.

Khi mã này được gởi đến máy chủ cơ sở
dữ liệu, nó loại bỏ bảng tin nhắn này.
Mã chèn thêm dữ liệu spam thay cho những người dùng khác
SQL Injection là mã dễ làm máy chủ bị tấn công

Tấn Công Chèn Mã Lệnh
Trang 22
www.viethanit.edu.vn
Attacker nhập một chuỗi để được truy cập vào Shell của máy chủ
web.
Chức năng Shell bao gồm: system(), StartProcess(),
java.IangRuntimexec(), System.Diagnostics.Process.Start(), API.
Kiểu tấn công này hầu như thay đổi nội dung trang web. Attacker
thêm nội dung HTML vào các ứng dụng web dễ bị tấn công.
Trong kiểu tấn công nhúng HTML, nghĩa là nhúng kịch bản web
vào trong HTML mà không được kiểm tra mã HMTL và kịch bản.
Attacker khai thác lỗ hổng này và Injection mã độc hại vào các tập
tin hệ thống.
/>olt?
Ví Dụ Tấn Công Chèn Mã Lệnh
Trang 23
www.viethanit.edu.vn
• Kẻ tấn công xâm nhập với mã độc hại
(số tài khoản) với newpassword.
• Hai bộ số cuối cùng là kích thước
banner.
• Khi Attacker nhấn nút Submit, mật
khẩu của tài khoản 1036 được đổi
thành “newpassword”
• Máy chủ chỉ thừa nhận kịch bản có

URL của tập tin banner chèn vào lĩnh
vực này.
Attacker phát động tấn
công chèn mã lệnh
Mã độc hại:
Kịch bản ở máy chủ xác nhận dữ
liệu đầu vào kém đã được khai
thác trong cuộc tấn công này sử
dụng cơ sở dữ liệu Insert và
Update ghi lại lệnh.
Tấn Công Chèn Tệp Tin
Trang 24
www.viethanit.edu.vn
Attacker tấn công
Injection một tập tin
lưu trên máy chủ tại
www.jasoneval.com
có chứa các lỗ hổng.
Tấn công Injection tập tin cho phép Attacker
khai thác các kịch bản dễ bị tấn công trên
máy chủ sử dụng tập tin từ xa thay vì chạy tập
tin từ máy cục bộ.
LDAP Injection Là Gì ?
Trang 25
www.viethanit.edu.vn
Một kỹ thuật Injection LDAP được sử dụng nhằm không xác nhận các lỗ hổng ứng dụng
web đầu vào, vượt qua các bộ lọc LDAP được sử dụng tìm kiếm Directory Services để truy
cập trực tiếp cơ sở dữ liệu.
Lưu trữ LDAP Directory
Services và sắp xếp các

thông tin dựa trên các thuộc
tính của nó. Thông tin này
được phần cấp như một cây
thư mục
LDAP là dựa trên mô hình
máy khách – máy chủ mà
máy khách có thể tìm kiếm
các thư mục thông qua
LDAP.

×