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

Luận văn tìm hiểu các cơ chế để bảo mật hệ thống thương mại điện tử web security

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 (2.37 MB, 114 trang )

Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

Lời cảm ơn

Sau gần 3 tháng nỗ lực thực hiện, luận văn nghiên cứu “tìm hiểu các cơ chế để bảo
mật hệ thống thương mại điện tử - web security ” đã phần nào hoàn thành. Ngoài sự cố
gắng hết mình của bản thân, tôi đã 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 con xin cám ơn ba mẹ đã luôn động viên và tạo mọi điều kiện tốt để
con học tập và hoàn thành luận văn tốt nghiệp này.
Em xin cám ơn thầy cô trường Đại Học Kỷ Thuật Công Nghệ đã truyền đạt những
kiến thức quý báu cho em trong suốt quá trình học tập. Đặc biệt, em xin bày tỏ lòng
chân thành sâu sắc đến thầy Huỳnh Quốc Bảo, người đã tận tình hướng dẫn và giúp
đỡ 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 đỡ tôi trong quá trình học tập
và hoàn thành tốt luận văn tốt nghiệp này.

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 1 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

 


 

MỤC LỤC
TỔ CHỨC LUẬN VĂN....................................................................................... 8
CHƯƠNG 1: TÌM HIỂU ỨNG DỤNG WEB ........................................................ 9
1.1. Kiến trúc cơ bản của ứng dụng web ............................................................ 9
1.2. Hoạt động của ứng dụng web................................................................... 10
1.3. Kết nối với các cơ sở dữ liệu...................................................................... 12
CHƯƠNG 2 : TÌM HIỂU QUÁ TRÌNH TẤN CÔNG CỦA HACKER .................. 14
2.1. Các quy trình : .......................................................................................... 14
2.2. Kết luận..................................................................................................... 19
CHƯƠNG 3 : TÌM HIỂU TẤN CÔNG CHÈN THAM SỐ ................................... 20
3.1. HTML Form Field Manipulation – thao tác trên biến ẩn form ................... 21
3.1.1 Khái niệm ........................................................................................................ 21
3.1.2. Kĩ thuật phòng chống ..................................................................................... 22
3.2. URL Manipulation – thao tác trên URL :................................................... 23
3.2.1 Khái niệm ........................................................................................................ 23
3.2.2. Kĩ thuật phòng chống ..................................................................................... 24
3.3. HTTP Header Manipulation – thao tác trên HTTP header: ...................... 25
3.3.1 Khái niệm : ...................................................................................................... 25
3.3.2. Kĩ thuật phòng chống ..................................................................................... 29
3.4. Hidden Manipulation - Thao tác vùng ẩn.................................................. 29
3.4.1. Khái niệm ....................................................................................................... 29
3.4.2. Cách phòng chống .......................................................................................... 29
CHƯƠNG 4 : TẤN CÔNG TRÀN BỘ ĐỆM BUFFER OVERFLOW ATTACKS 31
4.1. Buffer Overflow Attacks ............................................................................ 31
4.2. Cách phòng chống................................................................................... 32

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 2 



Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

CHƯƠNG 5 : CHÈN MÃ THỰC THI TRÊN TRÌNH DUYỆT
CROSS SITE SCRIPTING .............................................................................. 33
5.1. Khái niệm XSS.......................................................................................... 33
5.2. Phương thức hoạt động XSS ...................................................................... 33
5.3. Truy tìm lổ hổng XSS của ứng dụng web................................................. 36
5.4. Các bước thực hiện tấn công XSS : ........................................................... 37
5.5. Cách phòng chống.................................................................................... 38
CHƯƠNG 6 : TẤN CÔNG PHIÊN LÀM VIÊC................................................... 40
6.1. Sự ra đời và khái niệm .............................................................................. 40
6.1.1. Sự ra đời của session ...................................................................................... 40
6.1.2. Khái niệm : ..................................................................................................... 40
6.2. Cơ chế tấn công phiên làm việc ................................................................. 41
6.2.1. Ấn định phiên làm việc( session fixation) ..................................................... 41
6.2.2. Đánh cắp phiên làm việc( session hijacking) ................................................ 43
6.3. Cách phòng chống :.................................................................................. 46
CHƯƠNG 7: CHÈN CÂU TRUY VẤN - SQL INJECTION................................. 48
7.1. Khái niệm SQL injection ........................................................................... 48
7.2 Các cách tấn công ..................................................................................... 48
7.2.1. Dạng tấn công vượt qua kiểm tra đăng nhập.................................................. 48
7.2.2. Tấn công dưa vào câu lệnh SELECT ............................................................. 52
7.2.3. Tấn công dựa vào câu lệnh kết hợp UNION.................................................. 53
7.2.4. Dạng tấn công sử dụng câu lệnh INSERT ..................................................... 54
7.2.5. Dạng tấn công sử dụng stored-procedures ..................................................... 55

7.3. Cách phòng tránh ..................................................................................... 56
7.3.1. Kiểm soát chặt chẽ dữ liệu nhập vào.............................................................. 56
7.3.2. Thiết lập cấu hình an toàn cho hệ quản trị cơ sở dữ liệu ............................... 58
CHƯƠNG 8 : TẤN CÔNG TỪ CHỐI DỊCH VỤ - DENY of SERVICES ............ 59
8.1. Khái niệm về Tcp bắt tay ba chiều: .......................................................... 59
8.2. Tấn công kiểu SYN flood .......................................................................... 60
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 3 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

8.3. Kiểu tấn công Land Attack........................................................................ 62
8.4. Kiểu tấn công UDP flood .......................................................................... 62
8.5. Flood Attack.............................................................................................. 62
8.6. Tấn công kiểu DDoS (Distributed Denial of Service)................................ 63
8.7. Tấn công DRDoS (Distributed Reflection Denial of Service) – Tấn công từ
chối dịch vụ phản xạ nhiều vùng. .................................................................... 65
8.8. Tấn công các nguồn tài nguyên khác....................................................... 67
8.9. Các cách phòng chống ............................................................................. 68
CHƯƠNG 9 : NHỮNG KẾT LUẬN TRONG QUÁ TRÌNH PHÒNG CHỐNG.... 70
9.1. Nhiệm vụ nhà quản trị mạng..................................................................... 70
9.2 .Nhiệm vụ người thiết kế ứng dụng web .................................................... 71
9.3. Nhiệm vụ người sử dụng ứng dụng web................................................... 72
CHƯƠNG 10: GIỚI THIỆU CÁC GIẢI PHÁP BẢO MẬT HỆ THỐNG MẠNG . 73
10.1. Firewall (Bức tường lửa) ......................................................................... 73
10.1.1. Giới thiệu về firewall ................................................................................... 73

10.1.2. Phân loại Firewall......................................................................................... 73
10.1.3. Sản phầm của Firewall................................................................................ 74
10.1.4. Chức năng chính của Firewall ..................................................................... 76
10.1.5 Các kỹ thuật dùng trong Firewall.................................................................. 77
10.2 Intrusion detection system (Hệ thống phát hiện xâm nhập) .................... 83
10.2.1 Khái niệm: ..................................................................................................... 83
10.2.2. Mô hình hoạt động. ...................................................................................... 84
10.2.2.1 Chi tiết về IDS ........................................................................................ 85
10.2.2.2 Đánh giá về mức độ an toàn của hệ thống:............................................. 86
10.2.2.3 Khả năng phát triển trong tương lai:....................................................... 86
10.3. Intrusion Prevension System ( Hệ thống ngăn chặn xâm nhập) ............. 87
10.3.1 Khái niệm: ..................................................................................................... 87
10.3.1.1 Chức năng:.............................................................................................. 87
10.3.1.2. Mô hình lý luận: .................................................................................... 88
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 4 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

10.3.2 Mô hình hoạt động: ....................................................................................... 88
10.3.3. Các thành phần của IPS:............................................................................... 89
10.3.3.1. Phân tích sự hoạt động liên thành phần:................................................ 89
10.3.3.2. Đánh giá về mức độ an toàn của hệ thống: .......................................... 90
10.3.3.3 Khả năng phát triển trong tương lai:....................................................... 90
CHƯƠNG 11: DEMO THỰC TẾ CÀI ĐẶT VÀ CẤU HÌNH TƯỜNG LỬA
“IPCOP” ........................................................................................................... 91

11.1. Giới thiệu ................................................................................................ 91
11.2.Triển khai IPCOP firewall/ IDS................................................................. 94
11.3. Quản trị IPCOP firewall/IDS ................................................................ 103
KẾT LUẬN ..................................................................................................... 113
TÀI LIỆU THAM KHẢO.................................................................................. 114 

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 5 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

GIỚI THIỆU

Ngày nay, nhờ có internet, cuộc sống con người được cải thiện rất nhiều, trao đổi
thông tin nhanh hơn và thuận tiện hơn. Thương mại điện tử trên thế giới đang có xu
hướng phát triển mạnh. Kỹ thuật số giúp con người tiết kiệm đáng kể các chi phí như
chi phí vận chuyển trung gian, chi phí giao dịch… và đặc biệt là giúp tiết kiệm nguồn
nhân lực và thời gian để con người có thể đầu tư vào các hoạt động khác. Do đó, lợi
nhuận con người kiếm được gia tăng gấp bội. Không những thế, thương mại điện tử còn
giúp con người có thể tìm kiếm tự động theo nhiều mục đích khác nhau, tự động cung
cấp thông tin theo nhu cầu và sở thích của con người… Giờ đây, con người có thể ngồi
tại nhà để mua sắm mọi thứ theo ý muốn.
Khi Internet được phổ biến rộng răi, các tổ chức, cá nhân đều có nhu cầu giới
thiệu thông tin của ḿình trên xa lộ thông tin cũng như thực hiện các phiên giao dị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ày cà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ượng cho nhiều

người tấn công với các mục đích khác nhau. Như phá hoại , đánh cắp thông tin mật , ăn
cắp tài khoản ,làm mất uy tín của công ty … gây nhiều tổn hại nặng nề .Đôi khi, cũng
chỉ đơn giản là để thử tài hoặc đùa bỡn với người khác nhưng không lường trước được
hậu quả.

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 6 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quố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ượng cá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ện thô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ủa Internet, 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à an
toàn dữ liệu cho các máy tính được kết nối vào mạng Internet.

Công nghệ Web đang phát triển nhanh chóng , tuy nhiên theo thị hiếu, chỉ chủ
yếu chú trọng đến yếu tố thẩm mĩ, yếu tố tốc độ , sự tiện dụng … nên dẫn đến nhiều
khuyết điểm về sự bảo mật và độ an toàn . 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ống cũng như của những người lập trình ứng dụng và cả đối với người sử 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 để qua đó đề xuất các phương án khắc phục. Song song đó,
luận văn sẽ DEMO bằng một chương trình mã nguồn mở dựa trên cơ chế của firewall
và IDS rất hữu ích cho những người quản trị bảo mật hệ thống.


SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 7 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

TỔ CHỨC LUẬN VĂN
Luận văn được chia thành 11 chương
Chương đầu tiên tìm hiểu và giới thiệu các ứng dụng web cơ bản, các vấn đề cơ bản
làm nền tảng cho các kiến thức tấn công các lổi bảo mật
Từ chương 2 đến chương 8 : Tìm hiểu quá trình và các phương pháp tấn công của
hacker, từ đó tìm ra các biện pháp phòng chống khắc phục .
Chương 9 đến chương 10: Rút ra kết luận quá trình bảo mật phòng chống chung và
giới thiệu các giải pháp, công nghệ bảo mật như firewall, IDS, IPS… cho những nhà
quản trị hệ thống
Chương cuối là thực hiện Demo triển khai và cấu hình firewall IPCOP trên hệ thống
mạng máy tính ảo. Thử nghiệm các phương pháp tấn công, sau đó dùng hệ thống IDS
tích hợp sẵn IPCOP để phát hiện tấn công đó.

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 8 


Đề tài: “Web-security”
Bảo


GVHD: ThS. Huỳnh Quốc

CHƯƠNG 1: TÌM HIỂU ỨNG DỤNG WEB
Web application là một ứng dụng, thường bao gồm một tập hợp các script cư
trú ở Web server và tương tác với database hay các nguồn nội dung động khác
(dynamic content). Ứng dụng này nhanh chóng được sử dụng rộng rãi vì nó cho phép
nhà cung cấp dịch vụ và khách hàng chia sẻ và vận dụng thông tin theo các độc lập
nền thông qua cơ sở hạ tầng của Internet. Một vài ví dụ về web application như: công
cụ search, Webmail, shopping cart và portal system.
1.1. Kiến trúc cơ bản của ứng dụng web
Về cơ bản, một ứng dụng web bao gồm vài thành phần, các thành phần này là
một web server, nội dung ứng dụng có trên 1 web server, và tiêu biểu là nơi lưu trử dử
liệu cuối cùng cho các giao diện và truy cập ứng dụng. Đây là mục tiêu rất cơ bản của
ứng dụng.
Kiến trúc ứng dụng web được tạo bởi các thành phần sau :
-

Web server

-

Nội dung ứng dụng (Application content)

-

Lưu trữ dử liệu (datastore)
1.1.1. Web server

Web server là dịch vụ chạy trên máy tính phục vụ nội dung web. Dịch vụ này
tiểu biểu lắng nghe trên các cổng 80 cho giao thức http hoặc trên cổng 443 ( https).

Đôi khi các webserver cũng chạy trên các cổng không chuẩn. Microsoft’s Internet
Imformation Server(IIS) và Apache là ví dụ về các webserver hiên nay. Nó được chú

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 9 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

Hầu hết việc truyền thông các web servers sử dụng Hyper Text Tranfer
Protocol (giao thức truyền siêu văn bản - HTTP) và các yêu cầu được tiền tố đặt trước
là “ http://”. Các thông tin của HTTP được tìm thấy trong RFC 2616 và RFC 1945
Ý tưởng ứng dụng web chạy trên giao thức SSL webserver sẽ được truy cập
bằng giao thức HTTPS( Hyper Text Transfer Protocol Secure) với tiếp đầu ngữ là “
https://”. Thông tin tìm thấy từ RFC 2818

1.1.2. Application Content ( nội dung ứng dụng )
Nội dung ứng dụng là một chương trình tác động để lấy các yêu cầu và sử dụng
các tham số được gởi bởi trình duyệt để thực hiện một chức năng nào đó. Nội dung
của ứng dụng tồn tai trên webserver. Nội dung ứng dụng là một nội dung không cố
định hay đúng hơn là nội dung lập trình logic hay nội dung mà thực hiện các hành
động khác nhau dựa trên tham số được gởi từ client. Theo cách này, các chương trình
sẽ được thực thi hoặc được biên dịch khác nhau rất lớn.
Ví du, PHP là một trình biên dịch được ghi vào trong hệ nhị phân máy chủ web
và sự tác động các kịch bản PHP là khi được biên dịch bởi máy chủ web của chính nó.
CGI là một chương trình lưu trú trong một thư mục đặ biệt của máy chủ web và khi
những yêu cầu được tạo ra trang đó, máy chủ web thực thi các lệnh.

Trong một số trường hợp, các chương trình trong thư mục CGI sẽ trở thành
kịch bản PERL. Những trường hợp này máy chủ web sẽ thực hiện phiên dịch PERL
mà nó sẽ xử lý từng đặc điểm các chức năng trong kịch bản đó.
1.1.3.The Data Store ( lưu trữ dử liệu)
Data Store là đặc trưng của cơ sở dử liệu, nhưng nó có thể là mọi thứ, flat files,
lệnh xuất dử liệu, về cơ bản mọi thứ mà ứng dụng truy cập để nhận hoặc lưu trử dử
liệu. Data store có thể lưu trú trên một máy tính hoàn toàn khác nhau so với web server
chỉ chạy trên nó. Web server và data store không cần thiết phải trên cùng một network,
chỉ cần tiếp cận nhau qua một kết nối mạng.
1.2. Hoạt động của ứng dụng web
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 10 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

Hình bên dưới minh họa mô hình ứng dụng Web ba tầng. Tầng đầu tiên thông
thường là trình duyệt Web hoặc giao diện người dùng. Tầng thứ hai là công nghệ kỹ
thuật tạo nội dung động như Java servlets (JSP) hay Active Server Pages (ASP). Còn
tầng thứ ba là cơ sở dữ liệu chứa nội dung và dữ liệu người dùng (như username,
password, mã số bảo mật xã hội, chi tiết thẻ tín dụng).

Hình 1-1: kiến trúc một ứng dụng web

Quá trình hoạt động bắt đầu với yêu cầu được tạo ra từ người dùng trên trình
duyệt, gửi qua Internet tới trình chủ Web ứng dụng (Web application Server). Web
ứng dụng truy cập máy chủ chứa cơ sở dữ liệu để thực hiện nhiệm vụ được yêu cầu:

cập nhật, truy vấn thông tin đang nằm trong cơ sở dữ liệu. Sau đó ứng dụng Web gửi
thông tin lại cho người dùng qua trình duyệt.

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 11 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

1.3. Kết nối với các cơ sở dữ liệu
Một ứng dụng phải được viết trong một ngôn ngữ chủ được hổ trợ bởi hệ thống
đặc biệt.Mổi DBMS(Database Managerment System) có cách sở hữu những ứng dụng
được cho phép sử dụng nó. Ưu điểm của SQL làm dể dàng các nhà phát triển để chuẩn
hóa dử liệu định nghĩa và dử liệu thao tác và hầu hết các nhà quản trị cơ sở dử liệu
chon SQL là ngôn ngữ truy vấn của họ.
Tuy nhiên , ứng dụng và sự phân chia cơ sở dử liệu chỉ đạt được ưu điểm của
mô hình lập trình Client-Server. Giao diện ứng dụng với cơ sở dử liệu bằng phương
pháp kết nối cơ sỏ dử liệu APIs cung cấp với ngôn ngữ lập trình được sử dụng để phát
triển ứng dụng. Những bộ kết nối cơ sở dử liệu APIs là có thể lưu trữ những thông tin
kết nối cơ sở dử liệu và ủy nhiệm thư, và chúng có khả năng để gởi câu truy vấn SQL
đến cơ sở dử liệu, nhận kết quả từ câu truy vấn và trả chúng lại cho ứng dụng.
Có 3 cách phổ biến nhất của giao diện ứng dụng web với cơ sở dử liệu sau cùng
là :
-

Native database APIs
ODBC

JDBC

Sử dụng Native Database APIs
Ngôn ngữ lập trình ứng dụng web như ASP, PHP … có APIs để cung cấp khả
năng thực hiện hoặt động cơ sở dử liệu với các máy chủ cơ sở dử liệu phổ biến như :
Oracal, DB2, MySQL và SQL server…Người phát triển ứng dụng sẽ lựa chọn gọi
APIs thích hợp khi kết nối cơ sở dử liệu sau cùng, giống sự cho phép bởi ngôn ngữ lập
trình.
Sử dụng ODBC
Quản lý kết nối cơ sở dử liệu với APIs của ngôn ngữ lập trình thì quá cồng kềnh. Đôi
lúc một ứng dụng có thể cần để tương tác các hệ thống cơ sở dử liệu khác từ các nhà
cung cấp khác nhau, cũng đôi lúc mọt ứng dụng chuyển tới một nền tảng khác trên các
ngôn ngữ lập trình khác nhau.Trong nhưng trương hợp như vậy, cơ sở dử liệu đang xử
lý qua cơ sở dử liệu bản ngữ APIs gặp nhiều vấn đề. Chuẩn Open Database
Connectivity (ODBC) được đề xuất để tạo ra một phương pháp cho việc thiết kế giao
diện với bất kỳ hệ thống cơ sở dử liệu nào. Giờ đây những người điều khiển cơ sở dử
liệu đang phù hợp với tiêu chuẩn ODBC cung cấp một giao diên chung để tương tác
với cơ sở dử liệu. Để thiết lập một kết nối cơ sở dử liệu yêu cầu một người điều khiển
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 12 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

Sử dụng JDBC
Java database Connectivity(JDBC) là tương đương khung ứng dụng Java của ODBC,
khái niêm JDBC gần giống ODBC khác nhau duy nhất giữa những khung thật tế là

JDBC được tiêu chuẩn hóa cung với khung J2EE và được sử dụng chỉ riêng các ưng s
dụng web bằng java. Máy chủ ứng dụng Java phổ biến như là BEA Weblogic, Allaire
JRun, Tomcat, và Resin sử dụng JDBC để cung cấp kết nối cơ sở dử liệu cho nhưng
ứng dụng.

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 13 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

CHƯƠNG 2 : TÌM HIỂU QUÁ TRÌNH TẤN CÔNG CỦA
HACKER

2.1. Các quy trình :

Theo tác giả George Kurtz trong cuốn sách Hacking Exposed thì Hacking có 3
giai đoạn gồm 9 bước

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 14 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc


Hình 2-1 : Quy trình các bước tấn công

Quá trình tấn công của một HACKER có thể đc khái quát qua 3 giai đoạn sau :
Giai đoạn 1 : Thu thập thông tin
Giai đoạn 2 : Phân tích và hành động
Giai đoạn 3 : Dừng và xoá dấu vết

Giai đoạn 1 : Thu thập thông tin
Bước 1: FootPrinting (In dấu ấn)
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 15 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

Trước khi 1 hacker bắt đầu làm công việc của anh ta , 3 yếu tố cần thiết phải
được làm đầy đủ: FootPrinting, Scanning (quét mạng), Enumeration (điểm danh
mạng).
Đây là bước mà kẻ tấn công thâu tóm càng nhiều thông tin càng tốt về đối
tượng
Domain Name, Địa chỉ IP, Networking Prototcols in use ( vd : IP , IPX ,
DecNet ... )…
Các thông tin cá về người quản trị: Số điện thoại, quê, nhà, chức vụ, các chi
nhánh của công ty…
Đây là một bước quan trọng: Cho hacker nhiều thông tin, đôi khi với những
thông tin này hacker đã có thể làm chủ hệ thống

Bước 2: Sanning ( Quét mạng )
Khi đã có nhưng thông tin đó rồi, thì tiếp đến là đánh giá và định danh những
những dịch vụ mà mục tiêu có. Việc này bao gồm:
-

Quét cổng, xác định hệ điều hành

-

Tìm hiểu kĩ hơn về hệ thống đối tượng

-

Xác định hệ thống có đang chạy ko

-

Tìm hiểu các dịch vụ đang chạy hay đang lắng nghe

-

Tìm hiểu các lỗ hổng

-

Kiểm tra các cổng

-

Xác địng các dịch vụ sử dụng giao thức TCP và UDP


-

Tìm hiểu về hệ điều hành của hệ thống

Các công cụ được sử dụng ở đây như nmap, WS pingPro, siphon, fscam và còn
rất nhiều nữa.
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 16 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

Bước 3: Enumeration (Điểm danh mạng )
Bước thứ ba là tìm kiếm những tài nguyên đựoc bảo vệ kém, hoạch tài khoản
người dung mà có thể sử dụng để xâm nhập. Nó bao gồm các mật khẩu mặc định, các
script và dich vụ mặc định. Rât nhiều người quản trị mạng không biết đến hoặc không
sửa đổi lại các giá trị này.
Đến bước này , các attacker bắt đầu kiểm soát server sơ bộ , xác định các
account trên server , mức độ bảo vệ, tài nguyên chia sẻ…
Tools: Dùng các công cụ quét, nbtstat, net view, UserInfo, UserDump…

Giai đoạn 2: Phân tích và hành động
Bước 4: Denial of Service (Tấn công từ chối dịch vụ)
Đến bước này , hacker đã đủ các thông tin cần thiết để sử dụng các kỹ thuật tấn
công DoS đánh hệ thống. Tuy nhiên với hầu hết hacker sẽ không mong muốn là dừng
lại ở đây.

Cung cụ thực hiện : Synflood, IP Smurf …
Bước 5: Gaining Access (Đột nhập hệ thống)
Với các thông tin tìm được ở bước trước sử dụng các cách để phát hiện mật
khẩu của một tài khoản nào đó
Các tool thường được sử dụng ở bước này là NAT, podium, hoặc Lopht.
Bước 6: Privilege Escalation (Nâng quyền hệ thống)

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 17 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

Ví dụ trong trường hợp hacker xâm nhập đựợc vào mạng với tài khoản guest,
thì họ sẽ tìm cách kiểm soát toàn bộ hệ thống. Hacker sẽ tìm cách crack password của
admin, hoặc sử dụng lỗ hổng để leo thang đặc quyền. John và Riper là hai chương
trình crack password rất hay được sử dụng.
Có thể sử dụng Sniffer để bắt các gói tin, từ đó phân tích tìm ra mật khẩu
Đây là một giai đoạn thực sự khó vì việc nâng quyền đòi hỏi sự can thiệp không
chính tắc vào hệ điều hành hoặc vào Hệ thống phần mềm
Bước 7: Pilfering (Khai thác hệ thống)
Thêm một lần nữa các máy tìm kiếm lại đựơc sử dụng để tìm các phương pháp
truy cập vào mạng. Những file text chứa password hay các cơ chế không an toàn khác
có thể là mồi ngon cho hacker.
Thông tin lấy từ bước trên đủ để hacker định vị server và điều khiển server .
Nếu bước này không thành công , thì chỉ còn mổi cách là DoS
Các tools sử dụng : net use, net view, telnet, ftp…


Giai đoạn 3: Dừng và xoá dấu vết
Bước 1: Creating Backdoors (Tạo cổng hậu)
Hacker để lại "Back Doors", tức là một cơ chế cho phép hacker truy cập trở lại
bằng con đường bí mật không phải tốn nhiều công sức, bằng việc cài đặt Trojan hay
tạo user mới (đối với tổ chức có nhiều user). Công cụ ở đây là các loại Trojan,
keylog…

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 18 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

Bước 9: Covering Tracks (Xoá dấu vết)
Vì hệ thống luôn ghi nhận những hành động những gì đã xảy ra. Sau khi đã có
những thông tin cần thiết, hacker tìm cách xoá dấu vết, xoá các file log của hệ điều
hành làm cho người quản lý không nhận ra hệ thống đã bị xâm nhập hoặc có biêt cũng
không tìm ra kẻ xâm nhập là ai.. Đây là bước cực kì quan trọng
Công cụ : Clear logs , hide tools, Zap , Event log GUI , rootkits , file streaming
.
2.2. Kết luận
Việc thu thập thông tin là vô cùng quan trọng cho việc tấn công vào
một hệ thống máy đích. Cho dù hacker

tấn công theo phương diện nào thì


việc thu thập vẫn là cần thiết. Vấn đề là việc thực hiện sẽ theo từng bước như
thế nào. Có thể trong những bước đă nêu hacker không cần phải đi qua theo
thứ tự hay qua hết, nhưng việc nắm rõ thông tin của máy đích luôn là điều kiện
tiên quyết để dẫn đến thành công trong việc tấn công.
Tùy vào nội dung thông tin mà hacker thu thập được mà hacker sẽ
quyết định tấn công theo kỹ thuật nào. Do đó, việc bảo mật cho một hệ thống
cần đòi hỏi sự kết hợp không chỉ của riêng nhà quản trị hệ thống mà còn của
nhà thiết kế ứng dụng và sự hợp tác của cả những khách hàng sử dụng ứng
dụng.

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 19 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

CHƯƠNG 3 : TÌM HIỂU TẤN CÔNG CHÈN THAM SỐ

Đây là cách thức tấn công bằng cách đưa tham số trực tiếp vào địa chỉ URL để
truy cập thông tin không dành cho người dùng (người dùng thao tác qua giao diện trên
trình duyệt không thể thấy được các thông tin này). Câu lệnh SQL truy cập CSDL nền
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 20 


Đề tài: “Web-security”
Bảo


GVHD: ThS. Huỳnh Quốc

- Biến ẩn form
- Thao tác trên URL
- thao tác trên HTTP header

3.1. HTML Form Field Manipulation – thao tác trên biến ẩn form
3.1.1 Khái niệm
Khi người dùng thao tác trên trang web, thì thông tin được chọn đó sẽ lưu vào
giá trị của biểu mẫu, và sẽ được gửi về ứng dụng như một HTTP request (GET hay
POST). HTML cũng có thể lưu giá trị trong Hidden Field, những giá trị được lưu
trong Hidden Field sẽ không được hiển thị trên màn hình.
Người dùng có thể thay đổi thuộc tính tất cả các loại biểu mẫu để nhập bất cứ
giá trị nào họ muốn. Chẳng hạn như họ chỉ cần lưu trang web đó lại, chọn “view
source” để xem và sửa nội dung sau đó chọn “save” và chạy trang web đó lại trên
trình duyệt.
Ví dụ1: Ứng dụng dùng một biểu mẫu để nhập vào tên người dùng và mật
khẩu sau đó gửi tới một CGI để xác thực bằng HTTP trên SSL. Một số người phát
triển ứng dụng sẽ giới hạn chiều dài của tên người dùng và mật khẩu nhập vào bằng
cách thiết lập giá trị “maxlength” để ngăn chặn bị đầy buffer do hacker có thể nhập
vào một chuỗi rất dài. Tuy nhiên với cách phòng ngừa như trên thì hacker chỉ cần lưu
trang này web lại, bỏ đi giới hạn chiều dài và chạy lai trên trình duyệt.
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 21 


Đề tài: “Web-security”
Bảo


GVHD: ThS. Huỳnh Quốc

Còn Hidden Form Filed cho thấy sự tiện lợi khi dùng để lưu dữ liệu trên trình duyệt
và là một trong những cách thông dụng nhất để lưu trữ dữ liệu từ trang này qua trang
khác trong cùng một ứng dụng.
Ví dụ2: Cùng ứng dụng có form để nhập tên người dùng và mật khẩu như trên
thì sau khi đăng nhập có thể sẽ có một thẻ HTML như sau:
<input name="quyen_quan_tri" type="hidden" value="N">
Với tình huống này hacker có thể thay đổi giá trị value thành “Y”, thì ứng
dụng sẽ xem như người dùng mới đăng nhập này là người quản trị ứng dụng. Hidden
form field còn được dùng cho nhiều mục đích khác nữa, nên sẽ vẫn có chỗ hở mà
hacker có thể lợi dụng.
3.1.2. Kĩ thuật phòng chống
Người thiết kế ứng dụng có thể dùng một biến session để tham chiếu đến thông
tin được lưu trữ trên cache của server. Khi ứng dụng cần kiểm tra thông tin người
dùng, ứng dụng sẽ so sánh giá trị session với giá trị trong bảng session trên server và
sẽ chỉ đến thông tin của người dùng đó trong cache hay cơ sở dữ liệu.
Nếu không thể thực hiện theo cách trên ta có thể thực hiện cách sau:
- Ghép tên và giá trị của form hidden field thành một chuỗi đơn. Khi đó
khoá sẽ được giấu kĩ. Chuỗi này có thể gọi là Outgoing Form Message. Sử dụng thuật
toán mã hoá MD5 hoặc một kiểu hash một chiều khác để tổng hợp chuỗi Outgoing
Form Message. Gọi là Outgoing Form Digest và lưu nó vào một hidden field.
- Khi giá trị trong biểu mẫu được submit, các thao tác như trên được
thực hiện lại với cùng một khoá mà ta định trước ta có chuỗi Incoming Form Message
rồi mã hoá thành Incoming Form Diggest. Sau đó đem so sánh với Outgoing Form

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 22 



Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc

3.2. URL Manipulation – thao tác trên URL :
3.2.1 Khái niệm
Kiểu tấn công URL Manipulation cũng gần giống như kiểu lợi dụng Hidden
Form Field để tấn công. Khi nhập một form HTML thì kết quả sẽ được gửi đi theo hai
cách : GET hay POST. 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 trong chuỗi URL.
Ví dụ:
Có một trang web cho phép thành viên đã được thay đổi mật khẩu. Với trường
hợp bình thường., thì thay đổi của người dùng sẽ được ghi nhận khi ấn nút submit. Và
mệnh lệnh được gửi theo HTTP request

/>
Nhưng với một hacker có thể lợi dụng điều này để thay đổi mật khẩu của
admin bằng cách thay đổi tham số như sau:
/>
Như thế những tham số mới này sẽ được gửi về ứng dụng để xử lý.

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 23 


Đề tài: “Web-security”
Bảo

GVHD: ThS. Huỳnh Quốc


Không chỉ có các trang web HTML mới bị tấn công kiểu này. Hầu hết tất cả
liên lạc trên internet đều dùng hyper link. Khi một người dùng nhấp chuột lên một
hyperlink để chuyển sang một trang khác hoặc ngay trong trang đó thì có nghĩa anh ta
đã gửi một yêu cầu GET. Rất nhiều yêu cầu sẽ có chuỗi truy vấn với các tham số như
một biểu mẫu. Do đó hacker có thể xem và thay đổi chúng.
3.2.2. Kĩ thuật phòng chống
Khi cần gửi tham số từ máy khách lên máy chủ, thì nên kết hợp với một
session token để kiểm tra. Session token có thể là một tham số hoặc một cookie và
Session token cũng đã có chế độ bảo mật riêng của nó.
Trong ví dụ trên, trước khi xử lý việc thay đổi mật khẩu thì Session token sẽ
được kiểm tra xem người gửi yêu cầu có trong phiên làm việc của người đang thay
đổi của mật khẩu hay không. Điều đó có nghĩa là người gửi yêu cầu có phải là admin
hay không, nếu không phải thì không được phép thay đổi mật khẩu.
Giải pháp tốt nhất là tránh sử dụng tham số trong chuỗi truy vấn ( đối với cả
hidden field). Có hai lý do là hacker có thể tấn công vào các tham số này. Hai là với
nhiều tham số thì không nên cho người dùng thấy giá trị ví dụ là mật khẩu vì có thể có
một người khác đang đứng sau người dùng cũng sẽ thấy được mật khẩu và ngoài ra
trình duyệt cũng thường lưu lại các địa chỉ này.
Nếu không dùng hai cách trên thì ta có thể dùng cách mã hoá các tham số, cách
này có ưu điểm bảo mật hơn nhưng đồng thời cách cài đặt và sử lý phức tạp hơn hai
cách trên rất nhiều.

SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 24 


Đề tài: “Web-security”
Bảo


GVHD: ThS. Huỳnh Quốc

3.3. HTTP Header Manipulation – thao tác trên HTTP header:
3.3.1 Khái niệm :
HTTP Header là thông tin điều khiển từ các yêu cầu HTTP của web client đến
web server, và các phản hồi từ web server đến web client. Mỗi header thông thường
bao gồm một dòng đơn của ASCII text với tên và dữ liệu. Sau đây là 1 ví dụ về
header:

Host: www.someplace.org
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Lynx/2.8.4dev.9 libwww-FM/2.14
Referer: />Content-type: application/x-www-form-urlencoded
Content-length: 49

Thông thường các HTTP header được sử dụng bởi các trình duyệt và các phần
mềm web server. Hầu hết các ứng dụng web thì không quan tâm đến nó. Tuy nhiên
vẫn có một vài nhà thiết kế web dùng HTTP header trong ứng dụng mạng của mình,
điều đó có thể vô tình tạo ra một lỗ hổng trong trang web. Nhờ đó hacker có thể lợi
dụng để phá hoại bằng cách chỉnh sửa nội dung của các HTTP header. Cho dù những
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 25 


×