1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu một số vấn đề về bảo mật ứng dụng web

169 957 4
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 169
Dung lượng 2,53 MB

Nội dung

Tài liệu tham khảo công nghệ thông tin Nghiên cứu một số vấn đề về bảo mật ứng dụng web

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN MẠNG MÁY TÍNH

DE

LUẬN VĂN TỐT NGHIỆP

ĐỀ TÀI:

NGHIÊN CỨU MỘT SỐ VẤN ĐỀ VỀ BẢO MẬT

ỨNG DỤNG WEB TRÊN INTERNET

GVHD: Th.S MAI VĂN CƯỜNGSVTH : NGUYỄN DUY THĂNG - 9912074

NGUYỄN MINH THU - 9912156

KHÓA HỌC: 1999-2003

Trang 2

Lời cảm ơn

Sau gần 6 tháng nỗ lực thực hiện, luận văn nghiên cứu “Các kĩ thuật tấn công vàbảo mật ứng dụng Web trên Internet” đã phần nào hoàn thành Ngoài sự cố gắnghết mình của bản thân, chúng em đã nhận được sự khích lệ rất nhiều từ phía nhàtrường, thầy cô, gia đình và bạn bè

Trước hết chúng con xin cám ơn ba mẹ đã luôn động viên và tạo mọi điều kiệntốt để chúng con học tập và hoàn thành luận văn tốt nghiệp này

Chúng em xin cám ơn thầy cô trường Đại Học Khoa Học Tự Nhiên đã truyền đạtnhững kiến thức quý báu cho chúng em trong suốt quá trình học tập Đặc biệt,chúng em xin bày tỏ lòng chân thành sâu sắc đến thầy Mai Văn Cường, người đãtận tình hướng dẫn và giúp đỡ chúng em trong quá trình làm luận văn tốt nghiệp

Xin cám ơn tất cả bạn bè đã và đang động viên, giúp đỡ chúng tôi trong quá trìnhhọc tập và hoàn thành tốt luận văn tốt nghiệp này

Trang 3

Lời nhận xét

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 4

Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet

MỤC LỤC

GIỚI THIỆU………

Tổ chức của luận văn………

PHẦN THỨ NHẤT: CƠ SỞ LÍ THUYẾT……….

Chương 1: Giới thệu Ứng dụng Web………

I KHÁI NIỆM ỨNG DỤNG WEB……… ………

II MÔ TẢ HOẠT ĐỘNG CỦA MỘT ỨNG DỤNG WEB……… ………

Chương 2: Các khái niệm, thuật ngữ liên quan ………

I HACKER………

II HTTP HEADER………

III SESSION……….………

IV COOKIE………

V PROXY……….

Chương 3: Giới thiệu sơ lược về các kĩ thuật tấn công Ứng dụng Web………

I KIỂM SOÁT TRUY CẬP WEB………

I.1 Thâm nhập hệ thống qua cửa sau………

II CHIẾM HỮU PHIÊN LÀM VIỆC………

II.1 Ấn định phiên làm việc………

II.2 Đánh cắp phiên làm việc……….

III LỢI DỤNG CÁC THIẾU SÓT TRONG VIỆC KIỂM TRA DỮ LIỆU NHẬP HỢP LỆ……….………

III.1 Kiểm tra tính đúng đắn của dữ liệu bằng ngôn ngữ phía trình duyệt…………

III.2 Tràn bộ đệm……… ……….

III.3 Mã hóa URL………

III.4 Kí tự Meta………

III.5 Vượt qua đường dẫn………

III.6 Chèn mã lệnh thực thi trên trình duyệt nạn nhân………

III.7 Thêm câu lệnh hệ thống……….………

7 9 11 12 13 16 18 19 19 21 22 25 26 27 27 27 27 27

27 28 28 28 28 29 29 29

Trang 5

Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet

III.8 Chèn câu truy vấn SQL……….………

III.9 Ngôn ngữ phía máy chủ………

III.10 Kí tự rỗng….………

III.11 Thao tác trên tham số truyền………

IV ĐỂ LỘ THÔNG TIN……….

V TỪ CHỐI DỊCH VỤ……….………

PHẦN THỨ HAI: CÁC KĨ THUẬT TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB

Chương 4: Thao tác trên tham số truyền………

I THAO TÁC TRÊN URL………

I.1 Khái niệm……….

I.2 Một số biện pháp khắc phục……….

II THAO TÁC TRÊN BIẾN ẨN FORM……….

II.1 Khái niệm………

II.2 Một số biện pháp khắc phục………

III THAO TÁC TRÊN COOKIE………

III.1 Khái niệm ……….

III.2 Một số biện pháp khắc phục………

IV THAO TÁC TRONG HTTP HEADER……….

IV.1 Khái niệm………

IV.2 Một số biện pháp khắc phục………

Chương 5: Chèn mã lệnh thực thi trên trình duyệt nạn nhân (Cross Side Scripting)…….

I KĨ THUẬT TẤN CÔNG CROSS-SITE SCRIPTING (XSS)………

II PHƯƠNG PHÁP TẤN CÔNG XSS TRUYỀN THỐNG………

III MỘT SỐ WEBSITE TÌM THẤY LỖ HỔNG XSS………

IV TẤN CÔNG XSS BẰNG FLASH……….

V CÁCH PHÒNG CHỐNG………

Chương 6: Chèn câu truy vấn SQL (SQL Injection)……….

I KHÁI NIỆM SQL INJECTION………

II GIỚI THIỆU MÔ HÌNH CƠ SỞ DỮ LIỆU………

30 30 30 30 31 31 33 34 35 35 36 36 36 38 39 39 40 41 41 42 43 44 46 50 51 54 56 57 57

Trang 6

Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet

III CÁC CÁCH TẤN CÔNG……….

III.1 Kĩ thuật tấn công SQL Injection………

III.2 Tấn công dưa vào câu lệnh SELECT………

III.3 Tấn công dưa vào câu lệnh HAVING………

III.4 Tấn công dưa vào câu lệnh kết hợp UNION………

III.5 Tấn công dưa vào lệnh INSERT………

III.6 Tấn công dưa vào STORED PROCEDURE………

III.7 Nâng cao………

III.7.1 Chuỗi kí tự không có dấu nháy đơn……….

III.7.2 Tấn công 2 tầng………

III.7.3 Tránh sự kiểm soát………

III.7.4 Dùng Extended Stored Procedure………

III.7.4.1 Dùng Extended Stored Procedure có sẵn trong hệ thống SQL Server…

III.7.4.2 Dùng Extended Stored Procedure tự tạo……….

III.7.4.3 Nhập tập tin văn bản vào bảng………

IV CÁCH PHÒNG CHỐNG………

IV.1 Kiểm tra dữ liệu………

IV.2 Khoá chặt SQL Server (SQL Server Lockdown)………

Chương 7: Chiếm hữu phiên làm việc (Session Management)………

I TỔNG QUAN VỀ SESSION ID………

II ẤN ĐỊNH PHIÊN LÀM VIỆC………

II.1 Tấn công Session ID trên tham số URL………

II.2 Tấn công Session ID trong biến ẩn form………

II.3 Tấn công Session ID trong cookie……….

II.4 Cách phòng chống……….

III ĐÁNH CẮP PHIÊN LÀM VIỆC………

III.1 Tấn công kiểu dự đoán phiên làm việc (Prediction sessionID)………

III.2 Tấn công kiểu vét cạn phiên làm việc (Brute force ID)………

III.3 Tấn công kiểu dùng đoạn mã để đánh cấp phiên làm việc………

58 58 60 62 62 69 70 70 70 71 74 75 75 76 77 77 78 81 83 84 85 88 89 89 91 92 93 93 94

Trang 7

Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet

III.4 Cách phòng chống……….

III.5 Sự khác biệt giữa đánh cắp phiên làm việc (session hijacking) và ấn định phiên làm việc (session fixation)………

Chương 8: Tràn bộ đệm (Buffer Overflow)………

I KHÁI NIỆM……….

II SƠ ĐỒ TỔ CHỨC CỦA BỘ NHỚ……….

II.1 Stack………

II.2 Push và Pop………

II.3 Cách làm việc của hàm………

II.4 Shell code………

III MỘT SỐ CÁCH GÂY TRÀN BỘ ĐỆM QUA ỨNG DỤNG WEB……….

IV CÁC CÁCH PHÒNG CHỐNG……….

Chương 9: Từ chối dịch vụ (DoS)……….

I KHÁI NIỆM………

II NHỮNG KHẢ NĂNG BỊ TẤN CÔNG BẰNG DOS……….

III CÁC KĨ THUẬT TẤN CÔNG………

III.1 Khái niệm về Tcp bắt tay ba chiều………

III.2 Lợi dụng TCP thực hiện phương pháp SYN flood truyền thống………

III.3 Tấn công vào băng thông………

III.3.1 Kiểu tấn công thứ 1………

III.3.2 Kiểu tấn công thứ 2………

III.4 Kiểu tấn công vào tài nguyên hệ thống……….

IV BIỆN PHÁP PHÒNG CHỐNG……….

Chương 10: Một số kĩ thuật tấn công khác………

I MÃ HÓA URL (URL Encoding) ………

I.1 Khái niệm………

I.2 Một số biện pháp phòng chống………

II KIỂU TẤN CÔNG VƯỢT ĐƯỜNG DẪN………

II.1 Khái niệm………

94

94 97 98 99 100 101 102 104 106 106 108 109 109 110 110 112 113 113 113 117 117 119 120 120 121 121 121

Trang 8

Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet

II.2 Một số biện pháp phòng chống………

III TẤN CÔNG DỰA VÀO KÍ TỰ RỖNG………

III.1 Khái niệm………

III.2 Một số biện pháp phòng chống……….

IV NGÔN NGỮ PHÍA TRÌNH CHỦ……….

IV.1 Khái niệm………

IV.2 Cách tấn công………

IV.3 Biện pháp phòng chống………

Chương 11: Tổng kết quá trình tấn công của Hacker………

I THU THẬP THÔNG TIN Ở MỨC HẠ TẦNG CỦA MỤC TIÊU………

II KHẢO SÁT ỨNG DỤNG WEB………

III TẤN CÔNG………

Chương 12: Tổng kết các biện pháp phòng chống………

I VỚI NHỮNG NHÀ QUẢN TRỊ MẠNG………

II VỚI NHỮNG NHÀ THIẾT KẾ ỨNG DỤNG WEB……….

III VỚI NGƯỜI SỬ DỤNG ỨNG DỤNG WEB………

PHẦN THỨ BA: CHƯƠNG TRÌNH WEB CHECKER………

Chương 13: Chương trình Web Checker………

I ĐẶC TẢ CHƯƠNG TRÌNH WEB CHECKER………

I.1 Tổng quan………

I.2 Yêu cầu………

I.2.1 Yêu cầu chức năng……….

I.2.1 Yêu cầu phi chức năng………

II KIẾN TRÚC CHƯƠNG TRÌNH WEB CHECKER………

II.1 Kiến trúc chương trình Web Checker………

II.2 Giao tiếp giữa chương trình với trình chủ Web……….

III CÀI ĐẶT………

III.1 Ngôn ngữ cài đặt………

III.2 Phương pháp cài đặt……….

122 123 123 123 123 123 125 125 127 128 131 132 134 135 137 139 140 141 142 142 142 142 143 143 143 144 145 145 145

Trang 9

Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet

III.2.1 Sử dụng mô hình giao diện dạng Dialog……….

III.2.2 Sử dụng ActiveX Control (Microsoft Web Browser)……….

III.2.3 Sử dụng giao diện lập trình Window Socket 2………

III.2.4 Một số lớp và hàm chính được cài đặt trong chương trình……….

III.3 Mô tả chương trình và cách sử dụng………

III.3.1 Màn hình chương trình………

III.3.2 Cách sử dụng………

IV ĐÁNH GIÁ CHƯƠNG TRÌNH………

IV.1 Những vấn đề đạt được………

IV.2 Những vấn đề hạn chế………

KẾT LUẬN………

I NHỮNG VẤN ĐỀ ĐẠT ĐƯỢC……….

II HƯỚNG PHÁT TRIỂN……….

PHỤ LỤC………

145 145 146 146 151 151 152 153 153 153 155 156 157 158

Trang 10

Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet

GIỚI THIỆU

Ngày nay, khi Internet được phổ biến rộng rãi, các tổ chức, cá nhân đều có nhu cầugiới thiệu thông tin của mình trên xa lộ thông tin cũng như thực hiện các phiên giaodịch trực tuyến Vấn đề nảy sinh là khi phạm vi ứng dụng của các ứng dụng Web ngàycàng mở rộng thì khả năng xuất hiện lỗi và bị tấn công càng cao, trở thành đối tượngcho nhiều người tấn công với các mục đích khác nhau Đôi khi, cũng chỉ đơn giản là đểthử tài hoặc đùa bỡn với người khác

Cùng với sự phát triển không ngừng của Internet và các dịch vụ trên Internet, số lượngcác vụ tấn công trên Internet cũng tăng theo cấp số nhân Trong khi các phương tiệnthông tin đại chúng ngày càng nhắc nhiều đến những khả năng truy nhập thông tin củaInternet, thì các tài liệu chuyên môn bắt đầu đề cập nhiều đến vấn đề bảo đảm và antoàn dữ liệu cho các máy tính được kết nối vào mạng Internet

Theo số liệu của CERT (Computer Emegency Response Team - "Đội cấp cứu máytính"), số lượng các vụ tấn công trên Internet được thông báo cho tổ chức này là ít hơn

200 vào năm 1989, khoảng 400 vào năm 1991, 1400 vào năm 1993, và 2241 vào năm

1994, và năm 2001 là 5315 vụ

Những vụ tấn công này nhằm vào tất cả các máy tính có mặt trên Internet, các máy tínhcủa tất cả các công ty lớn như AT&T, IBM, các trường đại học, các cơ quan nhà nước,các tổ chức quân sự, nhà băng Một số vụ tấn công có quy mô khổng lồ (có tới100.000 máy tính bị tấn công) Hơn nữa, những con số này chỉ là phần nổi của tảngbăng Một phần rất lớn các vụ tấn công không được thông báo, vì nhiều lý do, trong đó

Trang 11

Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet

có thể kể đến nỗi lo bị mất uy tín, hoặc đơn giản những người quản trị hệ thống khônghay biết những cuộc tấn công đang nhằm vào hệ thống của họ

Điển hình là cuộc tấn công vào phần mềm thương mại của IBM tháng 3/2001, haihacker đã tìm thấy lỗ hổng trên ứng dụng mà bất cứ ai với một trình duyệt Web cũng

có thể lấy tài khoản của người dùng, thậm chí cả người quản trị

Không chỉ số lượng các cuộc tấn công tăng lên nhanh chóng, mà các phương pháp tấncông ngày càng tinh vi và có tổ chức Mặt khác, việc quản trị các hệ thống mạng đòihỏi nhà quản trị hệ thống có kiến thức và kinh nghiệm về hệ thống mạng chắc chắn,

do đó sự yếu kém trong quản lý sẽ tạo nhiều điều kiện cho các hacker khai thác

Cũng theo CERT, những cuộc tấn công thời kỳ 1988-1989 chủ yếu là đoán tên người

sử dụng-mật khẩu (UserID/password) hoặc sử dụng một số lỗi của các chương trình và

hệ điều hành (security hole) làm vô hiệu hệ thống bảo vệ, tuy nhiên các cuộc tấn côngvào thời gian gần đây còn bao gồm cả các thao tác như giả mạo địa chỉ IP, theo dõithông tin truyền qua mạng, chiếm các phiên làm việc từ xa (telnet hoặc rlogin), càitrojan hay worm để kiểm soát hay điều khiển máy tính…vì thế, nhu cầu bảo vệ thôngtin trên Internet là cần thiết nhằm mục đích bảo vệ dữ liệu, bảo vệ thông tin người dùng

và bảo vệ hệ thống

Khi nói đến vấn đề bảo mật, hầu hết các chuyên gia bảo mật đều chú trọng đến sự antoàn của hệ thống mạng và hệ điều hành Để bảo vệ cho hệ thống, phương pháp thườngđược chọn là sử dụng firewall Tuy nhiên, theo tuyên bố của CSI/FBI : 78% nơi bị hại

có sử dụng firewall và 59% thì bị tấn công thông qua Internet, cụ thể hơn là theo báo

cáo của CSI/FBI Computer Crime và Security Survey thì tổng số thiệt hại do những

ứng dụng Web bị tấn công từ năm 1997 đến năm 2000 là 626 triệu đôla Mỹ.

Trang 12

Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet

Với những công cụ tự động tìm lỗ hổng tuy giúp rất nhiều cho những nhà lập trìnhWeb nhưng vẫn không thể ngăn chặn toàn bộ vì công nghệ Web đang phát triển nhanhchóng (chủ yếu chú trọng đến yếu tố thẩm mĩ, yếu tố tốc độ…) nên dẫn đến nhiềukhuyết điểm mới phát sinh Sự tấn công không nằm trong khuôn khổ vài kĩ thuật đãphát hiện, mà linh động và tăng lên tùy vào những sai sót của nhà quản trị hệ thốngcũng như của những người lập trình ứng dụng

Luận văn được thực hịên với mục đích tìm hiểu, phân tích các lỗ hổng bảo mật trong

các ứng dụng web (cùng với chương trình minh họa) để qua đó đề xuất các phương án

sửa chữa Song song đó, luận văn còn thực hiện một chương trình “Tự động phát hiện

lỗ hổng trên ứng dụng Web” giúp ích cho những nhà lập trình Web ít kinh nghiệmtránh những sai sót trong quá trình tạo các ứng dụng

Tổ chức của luận văn

Luận văn gồm 13 chương chia thành 3 phần:

Phần thứ nhất: CƠ SỞ LÍ THUYẾT

Phần này gồm có 3 chương:

+ Chương 1 : Giới thiệu về ứng dụng Web

+ Chương 2 : Một số khái niệm, thuật ngữ liên quan

+ Chương 3: Sơ lược các kĩ thuật tấn công ứng dụng Web

Phần thứ hai:CÁC KĨ THUẬT TẤN CÔNG VÀ BIỆN PHÁP PHÒNG CHỐNG

Phần này gồm có 9 chương từ chương 4 đến chương 12 trong đó 7 chương đầu bànluận về các kĩ thuật tấn công, cuối mỗi chương là biện pháp phòng chống cho từng kĩthuật Chương 11 nói về quá trình tấn công của hacker và đến chương 12 là nội dungcác biện pháp phòng chống chung nhất

Trang 13

Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet

Phần thứ ba : CHƯƠNG TRÌNH “WEB CHECKER”

Là gồm chương cuối trình bày, giải thích về chương trình

Kết thúc luận văn là phần kết luận, tóm lược lại những vấn đề đã trình bày và một sốhướng phát triển trong tương lai và danh mục các tài liệu tham khảo

Trang 14

Phần I: Cơ sở lý thuyết

PHẦN THỨ NHẤT

CƠ SỞ LÍ THUYẾT

Trang 15

Chương 1: Giới thiệu Ứng dụng Web

Chương 1 GIỚI THIỆU ỨNG DỤNG WEB

Nội dung:

II Mô tả cách hoạt động của một ứng dụng Web

Trang 16

Chương 1: Giới thiệu Ứng dụng Web

CHƯƠNG 1: GIỚI THIỆU ỨNG DỤNG WEB

DE

Luận văn được thực hiện nhằm tìm hiểu về các kĩ thuật tấn công trang Web và đề racách phòng chống Do đó, trong chương đầu tiên luận văn sẽ giới thiệu sơ lược một sốkhái niệm cơ bản và đây chính là nền tảng để xây dựng nội dung cho những phần sau

I KHÁI NIỆM ỨNG DỤNG WEB

Ứng dụng Web là một ứng dụng chủ/khách sử dụng giao thức HTTP để tương tác vớingười dùng hay hệ thống khác

Trình khách dành cho người sử dụng thường là một trình duyệt Web như InternetExplorer hay Netscape Navigator Cũng có thể là một chương trình đóng vai trò đại

lý người dùng hoạt động như một trình duyệt tự động Người dùng gửi và nhận cácthông tin từ trình chủ thông qua việc tác động vào các trang Web Các chương trình

có thể là các trang trao đổi mua bán, các diễn đàn, gửi nhận e-mail…

Tốc độ phát triển các kỹ thuật xây dựng ứng dụng Web cũng phát triển rất nhanh.Trước đây những ứng dụng Web thường được xây dựng bằng CGI (CommonGateway Interface) được chạy trên các trình chủ Web và có thể kết nối vào các cơ sở

dữ liệu đơn giản trên cùng máy chủ Ngày nay ứng dụng Web thường được viết bằngJava (hay các ngôn ngữ tương tự) và chạy trên máy chủ phân tán, kết nối đến nhiềunguồn dữ liệu

Một ứng dụng web thường có kiến trúc gồm:

Trang 17

Chương 1: Giới thiệu Ứng dụng Web

Hình 1.I-1 Kiến trúc một ứng dụng Web

• Lớp trình bày: Lớp này có nhiệm vụ hiển thị dữ liệu cho người dùng, ngoài ra còn

có thể có thêm các ứng dụng tạo bố cục cho trang web

• Lớp ứng dụng: là nơi xử lý của ứng dụng Web Nó sẽ xử lý thông tin người dùng

yêu cầu, đưa ra quyết định, gửi kết quả đến “lớp trình bày” Lớp này thường

được cài đặt bằng các kỹ thuật lập trình như CGI, Java, NET , PHP hayColdFusion, được triển khai trên các trình chủ như IBM WebSphere, WebLogic,Apache, IIS…

• Lớp dữ liệu: thường là các hệ quản trị dữ liệu (DBMS) chịu trách nhiệm quản lýcác file dữ liệu và quyền sử dụng

Mô hình hóa hoạt động của một ứng dụng Web:

Trang 18

Chương 1: Giới thiệu Ứng dụng Web

Hình 1.I-2 Mô hình hoạt động của một ứng dụng Web

Trong đó:

• Trình khách ( hay còn gọi là trình duyệt): Internet Explorer, Netscap Navigator

• Trình chủ: Apache, IIS, …

• Hệ quản trị cơ sở dữ liệu: SQL Server, MySQL, DB2, Access…

Bên cạnh đó, một giải pháp dùng để bảo vệ một hệ thống mạng thường được sử dụng

là bức tường lửa, nó có vai trò như là lớp rào chắn bên ngoài một hệ thống mạng, vìchức năng chính của firewall là kiểm soát luồng thông tin giữa các máy tính Có thểxem firewall như một bộ lọc thông tin, nó xác định và cho phép một máy tính này cóđược truy xuất đến một máy tính khác hay không, hay một mạng này có được truyxuất đến mạng kia hay không

Người ta thường dùng firewall vào mục đích:

• Cho phép hoặc cấm những dịch vụ truy xuất ra ngoài

Trang 19

Chương 1: Giới thiệu Ứng dụng Web

• Cho phép hoặc cấm những dịch vụ từ bên ngoài truy nhập vào trong

• Kiểm soát địa chỉ truy nhập, cấm địa chỉ truy nhập

Firewall hoạt động dựa trên gói IP do đó kiểm soát việc truy nhập của máy người sửdụng

II.MÔ TẢ HOẠT ĐỘNG CỦA MỘT ỨNG DỤNG WEB

Đầu tiên trình duyệt sẽ gửi một yêu cầu (request) đến trình chủ Web thông qua cáclệnh cơ bản GET, POST… của giao thức HTTP, trình chủ lúc này có thể cho thực thimột chương trình được xây dựng từ nhiều ngôn ngữ như Perl, C/C++… hoặc trìnhchủ yêu cầu bộ diễn dịch thực thi các trang ASP, JSP… theo yêu cầu của trình khách

Tùy theo các tác vụ của chương trình được cài đặt mà nó xử lý, tính toán, kết nối đến

cơ sở dữ liệu, lưu các thông tin do trình khách gửi đến…và từ đó trả về cho trìnhkhách 1 luồng dữ liệu có định dạng theo giao thức HTTP, nó gồm 2 phần:

• Header mô tả các thông tin về gói dữ liệu và các thuộc tính, trạng thái trao đổigiữa trình duyệt và WebServer

• Body là phần nội dung dữ liệu mà Server gửi về Client, nó có thể là một fileHTML, một hình ảnh, một đoạn phim hay một văn bản bất kì

Theo mô hình ở hình 1.I-2, với firewall, luồng thông tin giữa trình chủ và trình khách

là luồng thông tin hợp lệ Vì thế, nếu hacker tìm thấy vài lỗ hổng trong ứng dụngWeb thì firewall không còn hữu dụng trong việc ngăn chặn hacker này Do đó, các kĩthuật tấn công vào một hệ thống mạng ngày nay đang dần tập trung vào những sơsuất (hay lỗ hổng) trong quá trình tạo ứng dụng của những nhà phát triển Web hơn làtấn công trực tiếp vào hệ thống mạng, hệ điều hành Tuy nhiên, hacker cũng có thể

Trang 20

Chương 1: Giới thiệu Ứng dụng Web

lợi dụng các lỗ hổng Web để mở rộng sự tấn công của mình vào các hệ thống khôngliên quan khác

Trang 21

Chương 2: Các khái niệm, thuật ngữ liên quan

Chương 2 CÁC KHÁI NIỆM, THUẬT NGỮ LIÊN QUAN

Trang 22

Chương 2: Các khái niệm, thuật ngữ liên quan

và thông báo lỗi tìm được cho những nhà bảo mật hay người phát triển chương trình,

họ được xem như là WhiteHat (Hacker nón trắng) Một số hacker dựa vào những lỗhổng thực hiện việc khai thác trái phép nhằm mục đích phá hoại hay mưu lợi riêng,những người này bị xem như là BlackHat (Hacker nón đen)

Vì tính chất phổ biến của thuật ngữ hacker, nên trong phần trình bày, luận văn sẽ sửdụng “hacker” thay cho “kẻ tấn công”

II.HTTP HEADER

HTTP header là phần đầu (header) của thông tin mà trình khách và trình chủ gửi chonhau Những thông tin trình khách gửi cho trình chủ được gọi là HTTP requests (yêucầu) còn trình chủ gửi cho trình khách là HTTP responses (trả lời) Thông thường,một HTTP header gồm nhiều dòng, mỗi dòng chứa tên tham số và giá trị Một số

Trang 23

Chương 2: Các khái niệm, thuật ngữ liên quan

tham số có thể được dùng trong cả header yêu cầu và header trả lời, còn số khác thìchỉ đuợc dùng riêng trong từng loại Ví dụ :

• Header yêu cầu:

o Tiếp theo là các tham số Chẳng hạn như:

ƒ Accept-Language: Cho biết ngôn ngữ dùng trong trang web

ƒ Host: Cho biết địa chỉ của máy chủ

ƒ Referer: Cho biết địa chỉ của trang web tham chiếu tới

o Header của HTTP request sẽ kết thúc bằng một dòng trống

Trang 24

Chương 2: Các khái niệm, thuật ngữ liên quan

o Dòng đầu là dòng trạng thái, để cho biết phiên bản HTTP được dùng

(HTTP/1.1), mã trạng thái (200) và trạng thái (OK)

o Tiếp theo là các tham số

o Tiếp theo là một dòng trống để báo hiệu kết thúc header, tiếp theo là phầnthân của HTTP response

Danh sách tham số của HTTP header được trình bày trong phụ lục A

III SESSION

HTTP là giao thức hướng đối tượng tổng quát, phi trạng thái, nghĩa là HTTP khônglưu trữ trạng thái làm việc giữa trình duyệt với trình chủ Sự thiếu sót này gây khókhăn cho một số ứng dụng Web, bởi vì trình chủ không biết được trước đó trìnhduyệt đã có những trạng thái nào Vì thế, để giải quyết vấn đề này, ứng dụng Webđưa ra một khái niệm phiên làm việc (Session) Còn SessionID là một chuỗi để chứngthực phiên làm việc Một số trình chủ sẽ cung cấp một SessionID cho người dùngkhi họ xem trang web trên trình chủ

Để duy trì phiên làm việc thì sessionID thường được lưu vào :

Trang 25

Chương 2: Các khái niệm, thuật ngữ liên quan

• Biến trên URL

• Biến ẩn form

• Cookie

Phiên làm việc chỉ tồn tại trong một khoảng thời gian cho phép, thời gian này đượccấu hình qui định tại trình chủ hoặc bởi ứng dụng thực thi Trình chủ sẽ tự động giảiphóng phiên làm việc để khôi phục lại tài nguyên của hệ thống

IV COOKIE

Cookie là những phần dữ liệu nhỏ có cấu trúc được chia sẻ giữa trình chủ và trìnhduyệt của người dùng

Các cookie được lưu trữ dưới những file dữ liệu nhỏ dạng text, được ứng dụng tạo ra

để lưu trữ/truy tìm/nhận biết các thông tin về người dùng đã ghé thăm trang Web vànhững vùng mà họ đi qua trong trang Những thông tin này có thể bao gồm tên/địnhdanh người dùng, mật khẩu, sở thích, thói quen cookie được trình duyệt của ngườidùng chấp nhận lưu trên đĩa cứng của máy mình, tuy nhiên không phải lúc nào trìnhduyệt cũng hỗ trợ cookie, mà còn tùy thuộc vào người dùng có chấp nhận chuyện lưutrữ đó hay không

Ở những lần truy cập sau đến trang Web đó, ứng dụng có thể dùng lại những thôngtin trong cookie (như thông tin liên quan đến việc đăng nhập vào YahooMessenger! ) mà người dùng không phải làm lại thao tác đăng nhập hay phải cungcấp lại các thông tin khác

Cookie được phân làm 2 loại secure/non-secure và persistent/non-persistent do đó ta

sẽ có 4 kiểu cookie là:

Trang 26

Chương 2: Các khái niệm, thuật ngữ liên quan

Non-persistent cookie thì được lưu trữ trên bộ nhớ RAM của máy khách và sẽ bị hủykhi đóng trang web hay nhận được lệnh hủy từ trang web

Secure cookies chỉ có thể được gửi thông qua HTTPS (SSL)

Non-Secure cookie có thể được gửi bằng cả hai giao thức HTTPS hay HTTP Thựcchất là đối với secure cookie thì trình chủ sẽ cung cấp chế độ truyền bảo mật

• Domain: Tên miền của trang web đã tạo cookie ( trong ví dụ trên là

www.redhat.com)

Trang 27

Chương 2: Các khái niệm, thuật ngữ liên quan

• Flag: mang giá trị TRUE/FALSE -Xác định các máy khác với cùng tên miền có

được truy xuất đến cookie hay không

• Path: Phạm vi các địa chỉ có thể truy xuất cookie Ví dụ:

Nếu path là “/tracuu” thì các địa chỉ trong thư mục /tracuu cũng như tất cả các thưmục con của nó như /tracuu/baomat có thể truy xuất đến cookie này Còn nếu giátri là “/” thì cookie sẽ được truy xuất bởi tất cả địa chỉ thuộc miền trang web tạocookie

• Sercure: mang giá trị TRUE/FALSE - Xác định đây là một secure cookie hay

không nghĩa là kết nối có sử dụng SSL hay không

• Expiration: thời gian hết hạn của cookie, được tính bằng giây kể từ 00:00:00 giờ

GMT ngày 01/01/1970 Nếu giá trị này không được thiết lập thì trình duyệt sẽhiểu đây là non-persistent cookie và chỉ lưu trong bộ nhớ RAM và sẽ xoá nó khitrình duyệt bị đóng

• Name: Tên biến (trong trường hợp này là Apache)

• Value: Với cookie được tạo ở trên thì giá trị của Apache là

64.3.40.151.16018996349247480 và ngày hết hạn là 27/07/2006, của tên miềnhttp://www.redhat.com

Ví dụ chuỗi lệnh trong HTTP header dưới đây sẽ tạo một cookie:

Trang 28

Chương 2: Các khái niệm, thuật ngữ liên quan

™ Các cookies của IE được lưu thành nhiều tập tin, mỗi tập tin là một cookie vàđược đặt trong [C:]\Documents and Setting\[username]\Cookies (Win2000), đốivới win9x, thư mục cookies nằm trong thư mục [C:]\Windows\cookies

Kích thước tối đa của cookie là 4kb Số cookie tối đa cho một tên miền là 20 cookie

Cookie bị hủy ngay khi đóng trình duyệt gọi là “session cookie”.

V PROXY

Proxy cung cấp cho người sử dụng truy xuất Internet những nghi thức đặt biệt hoặcmột tập những nghi thức thực thi trên dual_homed host hoặc basion host Nhữngchương trình client của người sử dụng sẽ qua trung gian proxy server thay thế choserver thật sự mà người sử dụng cần giao tiếp

Proxy server xác định những yêu cầu từ client và quyết định đáp ứng hay không đápứng, nếu yêu cầu được đáp ứng, proxy server sẽ kết nối với server thật thay cho client

và tiếp tục chuyển tiếp những yêu cầu từ client đến server, cũng như trả lời củaserver đến client Vì vậy proxy server giống cầu nối trung gian giữa server và client

Trang 29

Chương 3: Giới thiệu sơ lược về các kĩ thuật tấn công

Chương 3 GIỚI THIỆU SƠ LƯỢC VỀ CÁC KĨ THUẬT TẤN

CÔNG ỨNG DỤNG WEB

Nội dung:

II Chiếm hữu phiên làm việc

III Lợi dụng các thiếu sót trong việc kiểm tra dữ liệ hập hợp lệ

IV Để lộ thông tin

V Từ chối dịch vụ

Trang 30

Chương 3: Giới thiệu sơ lược về các kĩ thuật tấn công

CHƯƠNG 3: GIỚI THIỆU SƠ LƯỢC VỀ CÁC KĨ

THUẬT TẤN CÔNG ỨNG DỤNG WEB

II.CHIẾM HỮU PHIÊN LÀM VIỆC(Session Mangement) II.1 Ấn định phiên làm việc (Session Fixation)

Là kĩ thuật tấn công cho phép hacker mạo danh người dùng hợp lệ bằng cách gửimột session ID hợp lệ đến người dùng, sau khi người dùng đăng nhập vào hệthống thành công, hacker sẽ dùng lại session ID đó và nghiễm nhiên trở thànhngười dùng hợp lệ

II.2 Đánh cắp phiên làm việc (Session Hijacking)

Trang 31

Chương 3: Giới thiệu sơ lược về các kĩ thuật tấn công

Là kĩ thuật tấn công cho phép hacker mạo danh người dùng hợp lệ sau khi nạnnhân đã đăng nhập vào hệ thống bằng cách giải mã session ID của họ được lưutrữ trong cookie hay tham số URL, biến ẩn của form

III LỢI DỤNG CÁC THIẾU SÓT TRONG VIỆC KIỂM TRA

DỮ LIỆU NHẬP HỢP LỆ (Input validation)

Hacker lợi dụng những ô nhập dữ liệu để gửi đi một đoạn mã bất kì khiến cho hệthống phải thực thi đoạn lệnh đó hay bị phá vỡ hoàn toàn

III.1 Kiểm tra tính đúng đắn của dữ liệu bằng ngôn ngữ phía trình duyệt (Client-Side validation)

Do ngôn ngữ phía trình duyệt ( JavaScript, VBScript ) đuợc thực thi trên trìnhduyệt nên hacker có thể sửa đổi mã nguồn để có thể vô hiệu hóa sự kiểm tra

III.2 Tràn bộ đệm (Buffer OverFlow)

Một khối lượng dữ liệu được gửi cho ứng dụng vượt quá lượng dữ liệu được cấpphát khiến cho ứng dụng không thực thi được câu lệnh dự định kế tiếp mà thayvào đó phải thực thi một đoạn mã bất kì do hacker đưa vào hệ thống Nghiêmtrọng hơn nếu ứng dụng được cấu hình để thực thi với quyền root trên hệ thống

III.3 Mã hoá URL (URL Encoding)

Lợi dụng chuẩn mã hóa những kí tự đặc biệt trên URL mà hacker sẽ mã hoá tựđộng những kí tự bất hợp lệ- những kí tự bị kiểm tra bằng ngôn ngữ kịch bản-đểvượt qua vòng kiểm soát này

III.4 Kí tự Meta (Meta-characters)

Trang 32

Chương 3: Giới thiệu sơ lược về các kĩ thuật tấn công

Sử dụng những kí tự đặc biệt ( nói rõ hơn trong phần phụ lục) hacker có thể chènthêm vào dữ liệu gửi những kí tự trong chuỗi câu lệnh như <script> trong kĩ thuậtXSS, ‘ trong SQL….để thực thi câu lệnh

III.5 Vượt qua đường dẫn (Path Traversal):

Là phương pháp lợi dụng đường dẫn truy xuất một tập tin trên URL để trả kết quả

về cho trình duyệt mà hacker có thể lấy được nội dung tập tin bất kì trên hệ thống

III.6 Chèn mã lệnh thực thi trên trình duyệt nạn nhân (Cross- Site Scripting):

Đây là kĩ thuật tấn công chủ yếu nhằm vào thông tin trên máy tính của ngườidùng hơn là vào hệ thống máy chủ Bằng cách thêm một đoạn mã bất kì ( thườngđược lập trình bằng ngôn ngữ kịch bản như JavaScript, VBScript…), hacker cóthể thực hiện việc đánh cắp thông tin quan trọng như cookie để từ đó trở thànhngười dùng hợp lệ của ứng dụng…dựa trên những thông tin đánh cắp này Cross-Site scripting cũng là một kiểu tấn công “session hijacking”

III.7 Thêm câu lệnh hệ thống (OS Command Injection):

Khả năng thực thi được những câu lệnh hệ thống hay những đoạn mã được thêmvào trong những tham số mà không có sự kiểm tra chặt chẽ như tham số củaform, cookies, yêu cầu HTTP Header, và những dữ liệu nguy hiểm trong nhữngtập tin được đưa lên trình chủ

Thành công trong kĩ thuật này giúp hacker có thể thực thi được những câu lệnh hệthống với cùng quyền của trình chủ

Trang 33

Chương 3: Giới thiệu sơ lược về các kĩ thuật tấn công

III.8 Chèn câu truy vấn SQL (SQL Injection)

Trong lập trình với cơ sở dữ liệu, người lập trình đã sai sót trong vấn đề kiểm tragiá trị nhập vào để từ đó hacker lợi dụng thêm vào những câu truy vấn hay nhữnggiá trị không hợp lệ để dễ dàng đăng nhập vào hệ thống

III.9 Ngôn ngữ phía máy chủ (Server side includes)

Là khả năng thêm vào những câu lệnh thuộc hệ thống như nhúng file (includefile), truy xuất cơ sở dữ liệu (jdbc)…khiến cho hacker có cơ hội truy xuất đến file,

cơ sở dữ liệu…mà bình thường không thể xem được trên Web site

III.10 Kí tự rỗng (Null Characters)

Lợi dụng chuỗi kí tự thường kết thúc bằng \0 mà hacker thường thêm vào để đánhlừa ứng dụng vì với những ứng dụng sử dụng chương trình cgi như C++ thì C++cho rằng \0 là dấu kết thúc chuỗi

Ví dụ:

Hacker thêm chuỗi sau:

Ô nhập: đề tài thứ nhất\0<script> alert(document.cookie)</script>

nếu ứng dụng sử dụng chương trình C++ để kiểm tra tính đúng đắn của chuỗi thìchuỗi trên hợp lệ do C++ sẽ nhân biết “\0” là kết thúc chuỗi nên không kiểm trađoạn sau

manipulation)

Những thông tin trao đổi giữa trình chủ và trình duyệt được lưu trữ trong nhữngbiến như biến trên URL, biến ẩn form, cookie…Bởi vì việc kiểm soát biến chưa

Trang 34

Chương 3: Giới thiệu sơ lược về các kĩ thuật tấn công

được quan tâm đúng mức nên hacker có thể lợi dụng sửa đổi giá trị biến để đánhcắp phiên làm việc của người dùng hay thay đổi giá trị một món hàng…

IV ĐỂ LỘ THÔNG TIN (informational)

Những tập tin và ứng dụng trên hệ thống chứa những thông tin quan trọng như mãnguồn một trang Web hay tập tin chứa mật khẩu của người dùng trên hệ thống luôn làmục tiêu của hacker Ngoài ra những lời chú thích trong mã nguốn cũng là nguồnthông tin hữu ích cho hacker

Hacker sử dụng trả lời HTTP từ hệ thống để xác định một tập tin hay ứng dụng cótồn tại hay không

Ví dụ 1.IV-1:

• HTTP 200 : tập tin tồn tại

• HTTP 404: tập tin không tồn tại

V.TỪ CHỐI DỊCH VỤ (Denial of service (DoS)

Một khối lượng lớn yêu cầu được gửi cho ứng dụng trong một khoảng thời gian nhấtđịnh khiến hệ thống không đáp ứng kịp yêu cầu dẫn đến hệ thống bị phá vỡ

Vì khuôn khổ và thời gian của luận văn là có hạn nên luận văn chỉ thực hiện tìm hiểumột số kĩ thuật phổ biến và khả năng phá hoại một hệ thống mạng với mức độ cao Vàtrong các chương ở phần thứ hai, luận văn sẽ trình bày kĩ hơn từng kĩ thuật sau :

• Thao tác trên tham số truyền

• Chèn mã lệnh thực thi trên trình duyệt

• Chèn câu truy vấn SQL

• Chiếm hữu phiên làm việc

Trang 35

Chương 3: Giới thiệu sơ lược về các kĩ thuật tấn công

Trang 36

Phần II: Các kĩ thuật tấn công và bảo mật ứng dụng Web

PHẦN THỨ HAICÁC KĨ THUẬT TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB

Trang 37

Chương 4: Thao tác trên tham số truyền

Chương 4 THAO TÁC TRÊN THAM SỐ TRUYỀN

Nội dung:

II Thao tác trong biến ấn form

III Thao tác trên cookie

Trang 38

Chương 4: Thao tác trên tham số truyền

CHƯƠNG 4:THAO TÁC TRÊN THAM SỐ TRUYỀN

DE

Thao tác trên tham số truyền là kĩ thuật thay đổi thông tin quan trọng trên cookie, URLhay biến ẩn của form Kĩ thuật Cross-Site Scripting, SessionID, SQL Injection, BufferOverflow…cũng cần dùng đến các tham số này để hoàn thiện các bước tấn công củahacker Có thể nói các tham số truyền là đầu mối cho mọi hoạt động của hacker trongquá trình tấn công ứng dụng Vì thế đây là nội dung chương đầu tiên được đề cập trongphần thứ hai, mục đích cũng là để hỗ trợ tốt hơn phần trình bày các chương kế tiếp

I THAO TÁC TRÊN URL

I.1 Khái niệm:

Khi nhập một form HTML thì kết quả sẽ được gửi đi theo hai cách: GET hayPOST Nếu dùng GET, thì tất cả các tên biến và giá trị của nó sẽ xuất hiện trongchuỗi URL

Ví dụ 4.I.1-1: Có một trang web ứng dụng cho phép thành viên đã được thay đổimật khẩu

http://www.nganhang.com/example?user=thang&newpass=123

Với:

+ username là tên người cần thay đổi mật khẩu

+ newpass là mật khẩu mới cho username

Tuy nhiên, bằng cách thay đổi tham số như sau:

Trang 39

Chương 4: Thao tác trên tham số truyền

sẽ được gửi đi và được so sánh với khoá và username trong bảng băm Nếutương ứng với bản ghi trong dữ liệu thì hợp lệ Còn nếu không thì server biếtrằng người dùng đã thay đổi URL

• Ngoài ra, với những thông tin có giá trị, cần mã hoá thông tin này trước khicho hiển thị trên trình duyệt để tránh hacker có thể sửa đổi tùy ý

II THAO TÁC TRÊN BIẾN ẨN FORM

II.1 Khái niệm

Thông tin có thể được chuyển đổi thông qua một biến ẩn của form, gọi là HiddenForm Field Biến ẩn form không hiển thị trên màn hình trình duyệt nhưng ngườidùng có thể tìm thấy nội dung của nó trong “ view source ”, vì thế đây là mộtđiểm yếu để hacker lợi dụng bằng cách lưu nội dung trang web xuống trình duyệt,thay đổi nội dung trang và gửi đến trình chủ

Trang 40

Chương 4: Thao tác trên tham số truyền

Ví dụ 4.II.1-1: Form gốc có nội dung như sau:

<form action="http://www.tancong.com/cuahang.pl" method="POST">

<input type="hidden" name="giaca" value="99.99">

Nhưng nếu hacker gán một giá trị khác cho trường “giaca” :

<form action="http://www.tancong.com/cuahang.pl" method="POST">

<input type="hidden" name="giaca" value="0.99">

Ngày đăng: 23/11/2012, 08:09

HÌNH ẢNH LIÊN QUAN

Hình 1.I-1. Kiến trúc một ứng dụng Web - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 1. I-1. Kiến trúc một ứng dụng Web (Trang 17)
Hình 1.I-1. Kiến trúc một ứng dụng Web - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 1. I-1. Kiến trúc một ứng dụng Web (Trang 17)
Hình 5.II-1. Quá trình thực hiện XSS - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 5. II-1. Quá trình thực hiện XSS (Trang 50)
Hình 5.II-1. Quá trình thực hiện XSS - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 5. II-1. Quá trình thực hiện XSS (Trang 50)
Hình 5.IV-2: Cách viết Action Scipt trong Flash - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 5. IV-2: Cách viết Action Scipt trong Flash (Trang 56)
Hình 5.IV-2: Cách viết Action Scipt trong Flash - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 5. IV-2: Cách viết Action Scipt trong Flash (Trang 56)
II. Giới thiệu mô hình cơ sở dữ liệu. - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
i ới thiệu mô hình cơ sở dữ liệu (Trang 59)
Đoạn mã trên kiểm tra chuỗi nhập Username và Password. Nếu tồn tại trong bảng User thì check=true ngược lại check=false. - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
o ạn mã trên kiểm tra chuỗi nhập Username và Password. Nếu tồn tại trong bảng User thì check=true ngược lại check=false (Trang 61)
trong bảng sẽ được chọn. - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
trong bảng sẽ được chọn (Trang 62)
hiệu để nhận thông tin bảng, trường… và sẽ được bàn sâu hơn trong phần 4. - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
hi ệu để nhận thông tin bảng, trường… và sẽ được bàn sâu hơn trong phần 4 (Trang 65)
Đầu tiên, để biết tên bảng và tên trường mà câu truy vấn sử dụng, sử dụng câu điều kiện “having” , như ví dụ sau: - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
u tiên, để biết tên bảng và tên trường mà câu truy vấn sử dụng, sử dụng câu điều kiện “having” , như ví dụ sau: (Trang 66)
Như vậy tkPassword là một trường của bảng User và được sử dụng trong câu truy vấn. - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
h ư vậy tkPassword là một trường của bảng User và được sử dụng trong câu truy vấn (Trang 67)
Với phương pháp trên, dễ dàng xác định được kiểu của từng trường trong bảng. - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
i phương pháp trên, dễ dàng xác định được kiểu của từng trường trong bảng (Trang 68)
• Bước 3: Dùng UNION để xem nội dung bảng foo - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
c 3: Dùng UNION để xem nội dung bảng foo (Trang 69)
Người đầu tiên trong bảng User là “admin”. - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
g ười đầu tiên trong bảng User là “admin” (Trang 70)
Để biết thông tin về các bảng, cột trong cơ sở dữ liệu, có thể truy vấn bảng đến - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
bi ết thông tin về các bảng, cột trong cơ sở dữ liệu, có thể truy vấn bảng đến (Trang 71)
nhưng nó vẫn có thể insert chuỗi vào bảng, và tương đương với: - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
nh ưng nó vẫn có thể insert chuỗi vào bảng, và tương đương với: (Trang 74)
III.7.4.3. Nhập tập tin văn bản vào bảng - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
7.4.3. Nhập tập tin văn bản vào bảng (Trang 80)
Hình 7.II-1: Sơ lược quá trình tấn công người dùng bằng kĩ thuật  ấn định session - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 7. II-1: Sơ lược quá trình tấn công người dùng bằng kĩ thuật ấn định session (Trang 89)
Hình 7.II-2: Mô tả chi tiết quá trình thực hiện tấn công người dùng bằng kĩ thuật ấn định phiên làmviệc. - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 7. II-2: Mô tả chi tiết quá trình thực hiện tấn công người dùng bằng kĩ thuật ấn định phiên làmviệc (Trang 90)
Hình 7.II-2: Mô tả chi tiết quá trình thực hiện tấn công người dùng bằng kĩ thuật ấn định phiên làm việc. - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 7. II-2: Mô tả chi tiết quá trình thực hiện tấn công người dùng bằng kĩ thuật ấn định phiên làm việc (Trang 90)
Hình 7.II.1-1: Tấn công thông qua tham số URL - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 7. II.1-1: Tấn công thông qua tham số URL (Trang 91)
Hình 7.II.1-1: Tấn công thông qua tham số URL - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 7. II.1-1: Tấn công thông qua tham số URL (Trang 91)
Hình 8.II-1: Sơ đồ tổ chức bộ nhớ - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 8. II-1: Sơ đồ tổ chức bộ nhớ (Trang 102)
Hình 8.II.2-1: stack •PUSH mộ t giá tr ị vào stack - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 8. II.2-1: stack •PUSH mộ t giá tr ị vào stack (Trang 104)
Hình 8.II.2-1: stack - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 8. II.2-1: stack (Trang 104)
Hình 8.II.2-3: pop một giá tri ra khỏi stack - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 8. II.2-3: pop một giá tri ra khỏi stack (Trang 105)
Cần phải thay đổi địa chỉ trở về trỏ đến shellcode để đổ một shell. Có thể hình - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
n phải thay đổi địa chỉ trở về trỏ đến shellcode để đổ một shell. Có thể hình (Trang 107)
Hình 9.III.1-1: Cơ chế thiết lập kết nối trước khi truyền số liệu - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 9. III.1-1: Cơ chế thiết lập kết nối trước khi truyền số liệu (Trang 114)
Hình 9.III.2-1: Tấn công DoS truyền thống - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 9. III.2-1: Tấn công DoS truyền thống (Trang 115)
Hình 9.III.3.2-1: Kiểu tấn công DoS vào băng thông - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 9. III.3.2-1: Kiểu tấn công DoS vào băng thông (Trang 117)
Hình 9.III.3.2-1: Kiểu tấn công DoS vào băng thông - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 9. III.3.2-1: Kiểu tấn công DoS vào băng thông (Trang 117)
Hình 9.III.3.2-2: Tấn công DDoS - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 9. III.3.2-2: Tấn công DDoS (Trang 118)
Hình 9.III.3.2-2: Tấn công DDoS - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 9. III.3.2-2: Tấn công DDoS (Trang 118)
Hình 9.III.3.2-3. Tấn công kiểu DRDoS - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 9. III.3.2-3. Tấn công kiểu DRDoS (Trang 119)
Với người quản trị, cấu hình lại trình chủ sao cho trình chủ không hỗ trợ SSI. - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
i người quản trị, cấu hình lại trình chủ sao cho trình chủ không hỗ trợ SSI (Trang 128)
Hình 13.II.2-1: Giao tiếp giữa ứng dụng và trình chủ - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 13. II.2-1: Giao tiếp giữa ứng dụng và trình chủ (Trang 147)
Hình 13.II.1-1: Kiến trúc phân tầng của ứng dụng Web Checker - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 13. II.1-1: Kiến trúc phân tầng của ứng dụng Web Checker (Trang 147)
Hình 13.II.1-1: Kiến trúc phân tầng của ứng dụng Web Checker - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 13. II.1-1: Kiến trúc phân tầng của ứng dụng Web Checker (Trang 147)
III.3.1. Màn hình chương trình - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
3.1. Màn hình chương trình (Trang 154)
Hình 13.III.3.1-1: Thành phần của màn hình chương trình Màn hình ứng dụng gồm có ba phần chính: - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 13. III.3.1-1: Thành phần của màn hình chương trình Màn hình ứng dụng gồm có ba phần chính: (Trang 154)
Hình 13.III.3.2-1: Màn hình thông báo kết quả - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 13. III.3.2-1: Màn hình thông báo kết quả (Trang 155)
Hình 13.III.3.2-1: Màn hình thông báo kết quả - Nghiên cứu một số vấn đề về bảo mật ứng dụng web
Hình 13. III.3.2-1: Màn hình thông báo kết quả (Trang 155)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w