Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
LỜI MỞ ĐẦU
Trong thời đại ngày này nay internet đã rất trở nên quen thuộc và là một công cụ hữu
ích để một đất nước giới thiệu hình ảnh hay đơn giản chỉ là một trang web cá nhân của
một ai đó giới thiệu về mình. Tất cả đã kéo theo sự phát triển không ngừng của các ứng
dụng web. Và dần dần khái niệm ứng dụng web đã trở nên phổ biến .Khi mà trên
internet ,ứng dụng web đã trở lên phổ biến ,ứng dụng một cách rộng rãi thì các cuộc tấn
công ứng dụng web cũng phát triển hết sức phức tạp. Điều này đã đặt ra vấn đề cấp thiết
cần làm như thế nào để bào đảm an toàn thông tin cho ứng dụng web, thông tin của
người sử dụng. Các khái niệm chuyên môn về ứng dụng web và tấn công ứng dụng web
cũng dần trở nên phổ biến hơn trong các tài liệu chuyên ngành . Các công cụ hỗ trợ
người lập trình web, người quản trị mạng cũng xuất hiện giúp tìm kiếm lỗ hổng của ứng
dụng web nhưng nó không theo kịp sự phát triển nhanh đến mức chóng mặt theo xu
hướng nhanh hơn đẹp hơn của các ứng dụng web, và tất nhiên nó không thể ngăn chặn
hoàn toàn các cuộc tấn công ứng dụng web, khi mà các cuộc tấn công ngày càng đa dạng
khai thác triệt để những lỗi của ứng dụng web, của người quản trị, hay người lập trình
ứng dụng web.
Thống kê cho thấy 75% cuộc tấn công internet là tấn công ứng dụng web,nó gây ra
những thiệt hại vô cùng to lớn, vì vậy việc tìm hiểu về tấn công ứng dụng web là rất cần
thiết nhằm có cách phòng chống tấn công và bảo mật ứng dụng web hiệu quả trở thành
một yêu cầu cấp thiết..
Do đây là một xu thế tất yếu của thời, nên việc tìm hiểu và nghiên cứu về ứng dụng
web sẽ giúp ích rất nhiều cho các nhà lập trình web mới, hay các quản trị viên mới còn
ít kinh nghiệm trong việc quản trị hệ thống mạng của mình, phòng tránh , hay khắc phục
SV :Nguyễn Văn Đại
1
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
những lỗi của ứng dụng web. Đồ án này được thực hiện nhằm mục đích giới thiệu rõ
hơn về ứng dụng web nhằm tránh những nhầm lẫn và đồng thời tìm hiểu về những tấn
công ứng dụng web phổ dụng nhằm có cách phòng chống ,bảo mật cho ứng dụng web
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ỨNG
DỤNG WEB
1.1 khái niệm về ứng dụng web(website widget hay web
application)
Mang tính kỹ thuật nhiều hơn có thể giải thích các ứng dụng Web truy vấn máy
chủ chứa nội dung (chủ yếu trên cơ sở dữ liệu lưu trữ nội dung) và tạo tài liệu Web động
để phục vụ yêu cầu của máy khách (chính là người dùng website). Tài liệu được tạo
trong kiểu định dạng tiêu chuẩn hỗ trợ trên tất cả mọi trình duyệt (như HTML,
XHTML). JavaScript là một dạng script client-side cho phép yếu tố động có ở trên từng
trang (như thay đổi ảnh mỗi lần người dùng di chuột tới). Trình duyệt Web chính là chìa
khóa. Nó dịch và chạy tất cả script, lệnh… khi hiển thị trang web và nội dung được yêu
cầu
Dưới góc độ chức năng, ứng dụng Web là các chương trình máy tính cho phép
người dùng website đăng nhập, truy vấn vào ra dữ liệu qua mạng Internet trên trình
duyệt Web yêu thích của họ. Dữ liệu sẽ được gửi tới người dùng trong trình duyệt theo
kiểu thông tin động (trong một định dạng cụ thể, như với HTML thì dùng CSS) từ ứng
dụng Web qua một Web Server.
Để hiểu hết được ý nghĩa của khái niệm này chúng ta cùng đi sâu vào tìm hiểu
tiếp mô hình cấu trúc chức năng và nhiệm vụ của ứng dụng web.
SV :Nguyễn Văn Đại
5
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
1.2 Cấu trúc,chức năng,giao diện&nguyên tắc hoạt động cơ
bản của ứng dụng web
1.2.1 Cấu trúc cơ bản của một ứng dụng web
Mô hình của một ứng dụng web đơn giản chính là mô hình MVC (Model - View -
Controller).
Tầng Model: chứa các code connect tới database,truy vấn và thêm xóa sửa dữ liệu.
Tầng View: chứa các code tạo giao diện tương tác với người dùng, dữ liệu được vẽ ra
nhu thế nào
7
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
công nghệ phía máy chủ như PHP. Ajax, một kỹ thuật phát triển web sử dụng kết hợp
nhiều công nghệ khác nhau, là một ví dụ về công nghệ hiện đang tạo ra ngày càng nhiều
trải nghiệm tương tác hơn.
1.2.3 Chức năng cơ bản của các ứng dụng web
Ứng dụng web phổ biến nhờ vào sự có mặt vào bất cứ nơi đâu của một chương
trình. Khả năng cập nhật và bảo trì ứng dụng Web mà không phải phân phối và cài đặt
phần mềm trên hàng ngàn máy tính là lý do chính cho sự phổ biến của nó. Ứng dụng
web được dùng để hiện thực Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki,
diễn đàn thảo luận, Weblog, MMORPG, Hệ quản trị quan hệ khách hàng và nhiều chức
năng khác..
Web cũng là kênh bán hàng thông minh cho hàng nghìn tổ chức, doanh nghiệp,
lớn có, nhỏ có. Với hơn một tỷ người dùng Internet ngày nay (nguồn: Computer Industry
Almanac 2006), thương mại điện tử Mỹ sử dụng khoảng 102 tỷ đô la trong năm 2006
cho giao dịch (nguồn: comScore Networks 2007).
Tất cả dữ liệu như vậy cần phải được đóng gói, lưu trữ, xử lý và truyền vận theo
một cách nào đó, có thể sử dụng ngay hoặc vào một ngày nào đó sau này. Các ứng dụng
Web, trong lĩnh vực đăng ký, đệ trình, truy vấn, đăng nhập, bán hàng và hệ thống quản
lý nội dung chính là các website widget cho phép thực hiện tất cả công việc mong muốn.
Web chính là là yếu tố cơ bản giúp doanh nghiệp tăng cường hình ảnh trực tuyến
của mình trên thế giới mạng, tạo ra và duy trì nhiều mối quan hệ đem lại lợi nhuận lâu
dài với khách hàng tiềm năng và khách hàng hiện tại.
Không nghi ngờ gì là các ứng dụng Web đã trở thành thứ hiện hữu ở khắp mọi nơi trên
thế giới. Nhưng do tính kỹ thuật cao và yếu tố tổng hợp phức tạp tự nhiên nên chúng
không được nhiều người biết đến chính xác, thậm chí bị hiểu nhầm trầm trọng trong
cuộc sống bận rộn hằng ngày.
Website ngày nay khác xa so với kiểu đồ họa và văn bản tĩnh của thế kỷ mười
chín hay thời kỳ trước đó. Các trang Web hiện đại cho phép người dùng lấy xuống nội
SV :Nguyễn Văn Đại
9
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
Hình 3. Mô tả hoạt động của một ứng dụng web
Các bước hoạt động của một ứng dụng web đơn giản
Bước 1 : Browser tạo một HTTP Request gửi tới ứng dụng web
bước 2: Controller chính của Struts là class ActionServlet sẽ bắt request này, phân tích
URL của nó, và dựa vào file struts-config.xml để gửi request này tới Action class tương
ứng
Bước 3: Action class là một class của Struts Framework. Ứng dụng của chúng tathường
extends từ class này và viết code để sử lý những business tương ứng. Chẳng hạn ta sẽ có
một LoginAction để xử lý việc user login, logout.
Bước 4: Action class có thể truy xuất, cập nhật database nếu cần thiết.
Bước 5: Khi Action class thực hiện việc xử lý business xong, nó sẽ gửi yêu cầu
forward/redirect, cùng với dữ liệu (nếu có) về controller.
SV :Nguyễn Văn Đại
10
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
Bước 6: Controller chuyển control đến trang JSP tương ứng ở tầng view. Nếu trang JSP
này có sử dụng dữ liệu, controller sẽ cung cấp cho nó (đây chính là dữ liệu mà action đã
tạo ra và đua cho controller
Bước 7: Sau khi trang JSP đã chuẩn bị xong, Controller tạo một HTTP Response gửi về
cho browser, để browser hiển thị ra màn hình.
1.2.5 Vấn đề bảo mật ứng dụng web
Khi mà ứng dụng web phát triển rất nhanh về mọi mặt, khả năng ứng dụng một
cách rộng rãi thì vấn đề bảo mật cho ứng dụng web cũng được chú trọng hơn. Mặc dù
không thể phủ nhận những cải tiến nâng cao đáng kể hiện nay, nhưng vấn đề về bảo mật
trong ứng dụng Web vẫn không ngừng tăng lên. Nguyên nhân có thể xuất phát từ các
đoạn mã không phù hợp. Nhiều điểm yếu nghiêm trọng hay các lỗ hổng cho phép hacker
xâm nhập thẳng và truy cập vào cơ sở dữ liệu tách lấy dữ liệu nhạy cảm. Nhiều cơ sở dữ
liệu chứa thông tin giá trị (như chi tiết cá nhân, thông tin tài chính) khiến chúng trở
Server, Oracle, MySQL) đều có thể truy cập qua một số cổng cụ thể (như cổng 80, 443).
Nếu muốn, một người nào đó có thể kết nối trực tiếp tới cơ sở dữ liệu một cách hiệu quả
khi vượt qua cơ chế bảo mật của hệ điều hành. Các cổng này để mở nhằm cho phép liên
lạc với hoạt động giao thông mạng hợp pháp, và do đó cũng hình thành nên lỗ hổng lớn
nguy hiểm.
Các ứng dụng Web thường truy cập dữ liệu cuối như cơ sở dữ liệu khách hàng,
điều khiển dữ liệu có giá trị và do đó rất khó để có thể tuyệt đối an toàn. Lúc này truy
cập dữ liệu thường không kèm script cho phép đóng gói và truyền tải dữ liệu. Nếu một
hacker nhận ra điểm yếu trong một script, anh ta có thể dễ dàng mở lại lưu lượng sang
khu vực khác và chia lẻ bất hợp pháp chi tiết cá nhân người dùng, dù đôi khi không hề
chủ tâm làm điều đó
Hầu hết ứng dụng Web đều là tự tạo, do đó ít có được các kiểm tra trình độ hơn
so với phần mềm cùng loại. Do đó các ứng dụng tùy biến thường dễ bị tấn công hơn.
Có thể nói ứng dụng Web là một cổng vào (gateway) của cơ sở dữ liệu, nhất là các ứng
dụng tùy biến. Chúng không được phát triển với mức bảo mật tốt nhất vì không phải qua
các kiểm tra bảo mật thông thường. Nói chung, bạn cần trả lời câu hỏi: “Phần nào trên
website chúng ta nghĩ là an toàn nhưng lại mở cửa cho các cuộc tấn công?” và “Dữ liệu
nào chúng ta đem vào một ứng dụng khiến nó thực hiện một số điều không nên
làm?”.Đó là công việc của phần mềm rà soát lỗ hổng Web.
Hiện nay , hacker có rất nhiều cách tấn công một ứng dụng web từ các kĩ thuật cơ
bản cho đến những kĩ thuật đòi hỏi kĩ thuật và công nghệ cao cao. Các công cụ(tool) hỗ
trợ ra đời ngày càng nhiều , hỗ trợ rất nhiều cho người quản trị mạng , tìm ra những lỗ
hổng để có bản vá lỗi kịp thời nhưng đồng thời nó cũng là một con dao hai lưỡi. Hacker
SV :Nguyễn Văn Đại
13
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
có thể dùng những tool này để phát hiện những lỗ hổng của một ứng dụng web và từ đó
sẽ có cách tấn công tương ứng vào lỗ hổng này gây ra rất nhiều tổn thất
Vì vậy việc nghiên cứu về các kĩ thuật tấn công và những tool cơ bản hiện nay là một
nhu cầu tất yếu trong việc nghiên cứu bảo mật ứng dụng web.
- Web hosting là nơi không gian trên máy chủ có cài dịch vụ Internet như ftp,www,
nơi đó bạn có thể chứa nội dung trang web hay dữ liệu trên không gian đó. Lý do bạn
phải thuê Web Hosting để chứa nội dung trang web, dịch vụ mail, ftp, vì những máy
tính đó luôn có một địa chỉ cố định khi kết nối vào Internet (đó là địa chỉ IP) , còn như
nếu bạn truy cập vào internet như thông thường hiện nay thông qua các IPS (Internet
Service Provider - Nhà cung cấp dịch vụ Internet) thì địa chỉ IP trên máy bạn luôn bị
thay đổi, do đó dữ liệu trên máy của bạn không thể truy cập được từ những máy khác
trên Internet.
2.1.2 Thuật ngữ ,khái niệm về các công cụ liên quan đến ứng
dụng web
CGI: Giải pháp đầu tiên để làm các trang Web động là Common Gateway
Interface (CGI). CGI cho phép tạo các chương trình chạy khi người dùng gửi các yêu
cầu. Giả sử khi cần hiển thị các các mục để bán trên Web site – với một CGI script ta
có thể truy nhập cơ sở dữ liệu sản phẩm và hiển thị kết quả. Sử dụng các form HTML
đơn giản và các CGI script, có thể tạo các “cửa hàng” ảo cho phép bán sản phẩm cho
khách hàng qua một trình duyệt. CGI script có thể được viết bằng một số ngôn ngữ từ
Perl cho đến Visual Basic.
Tuy nhiên, CGI không phải là cách an toàn cho các trang Web động. Với CGI,
người khác có thể chạy chương trình trên hệ thống. Vì thế có thể chạy các chương
trình không mong muốn gây tổn hại hệ thống. Nhưng dù vậy, cho đến hôm nay thì
CGI vẫn còn được sử dụng.
Applet:Tháng 5/1995, John Gage của hãng Sun và Andressen (nay thuộc
Netscape Communications Corporation) đã công bố một ngôn ngữ lập trình mới có tên
Java. Netscape Navigator đã hỗ trợ ngôn ngữ mới này, và một con đường mới cho các
trang Web động được mở ra, kỷ nguyên của applet bắt đầu.
SV :Nguyễn Văn Đại
16
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
Applet cho phép các nhà phát triển viết các ứng dụng nhỏ nhúng vào trang Web.
Khi người dùng sử dụng một trình duyệt hỗ trợ Java, họ có thể chạy các applet trong
JavaServer Page (JSP) là một công nghệ lập trình Web của Sun, cùng với nó là
một công nghệ khác của Microsoft - Active Server Pages (ASP), JSP là công nghệ đòi
hỏi một trình chủ hiểu được Java. Microsoft đã nghiên cứu các nhược điểm của servlet
và tạo ra ASP dễ dàng hơn để thiết kế các trang web động. Microsoft thêm các bộ công
cụ rất mạnh và sự tích hợp rất hoàn hảo với các Web server. JSP và ASP có những nét
tương đương vì chúng đều được thiết kế để phân tách qua trình xử lí khỏi quá trình biểu
diễn. Có sự khác biệt về kỹ thuật, song cả hai đều cho phép các nhà thiết kế Web tập
trung vào cách bố trí (layout) trong khi các nhà phát triển phần mềm thì tập trung vào
các kỹ thuật lập trình logic.
Flash:Năm 1996, FutureWave đã đưa ra sản phẩm FutureSplash Animator. Sau
đó FutureWave thuộc sở hữu của Macromedia, và công ty này đưa ra sản phẩm Flash.
Flash cho phép các nhà thiết kế tạo các ứng dụng hoạt họa và linh động. Flash không đòi
hỏi các kỹ năng lập trình cao cấp và rất dễ học. Cũng giống như các nhiều giải pháp
khác Flash yêu cầu phần mềm phía client. Chẳng hạn như gói Shockwave Player plug-in
có thể được tích hợp trong một số hệ điều hành hay trình duyệt.
DHTML:Khi Microsoft và Netscape đưa ra các version 4 của các trình duyệt của
họ, thì các nhà phát triển Web có một lựa chọn mới: Dynamic HTML (DHTML).
DHTML không phải là một chuẩn của W3C; nó giống một bộ công cụ thương mại hơn.
Trong thực tế nó là một tập hợp gồm HTML, Cascading Style Sheets (CSS), JavaScript,
và DOM. Tập hợp các công nghệ trên cho phép các nhà pháp triển sửa đổi nội dung và
cấu trúc của một trang Web một cách nhanh chóng. Tuy nhiên, DHTML yêu cầu sự hỗ
trợ từ các trình duyệt. Mặc dù cả Internet Explorer và Netscape hỗ trợ DHTML, nhưng
các thể hiện của chúng là khác nhau, các nhà phát triển cần phải biết được loại trình
duyệt nào mà phía client dùng. DHTML thật sự là một bước tiến mới, nhưng nó vẫn cần
một sự qui chuẩn để phát triển. Hiện nay DHTML vẫn đang trên con đường phát triển
mạnh.
SV :Nguyễn Văn Đại
18
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
XML:Kể từ khi ra đời vào giữa năm 1990, eXtensible Markup Language (XML)
yêu cầu hoặc các dữ liệu được cung cấp trong thông điệp. HTTP Header có thể có nhiều
dòng và thường bắt đầu với tên trường, chấm dứt với một ký tự đại tràng, tiếp theo là giá
trị trường. Tên trường và các giá trị có thể là bất kỳ ứng dụng cụ thể chuỗi , nhưng tập
lõi các lĩnh vực được chuẩn hóa bởi Internet Engineering Task . Một số tham số được sử
dụng cả trong trình khách mà trình chủ.
- (Có bảng danh sách các tham số ở cuối đồ án .)
2.1.3.3 SESSION
HTTP là giao thức hướng đối tượng phi trạng thái, nó không lưu trữ trạng thái
làm việc giữa trình chủ và trình khách . Điều này gây khó khăn cho việc quản lý một số
ứng dụng web bởi vì trình chủ không biết rằng trước đó trình khách đã ở trạng thái nào.
Để giải quyết vấn đề này , người ta đưa ra khái niệm SESSION(phiên làm việc) vào giao
thức HTTP.
SessionID là một chuỗi để chứng thực phiên làm việc . Một số trình chủ sẽ cấp
phát session cho người dùng khi họ xem trang web trên trình chủ
-Để duy trì phiên làm việc sessionID thường được lưu trữ vào :
+Biến trên URL
+Biến ẩn from
+Cookie
-Phiên làm việc chỉ tồn tại trong khoảng thời gian cho phép, thời gian này được quy định
tại trình chủ hoặc bởi ứng dụng thực thi.Trình chủ tự động giải phóng phiên làm việc để
khôi phục tài nghuyên hệ thống.
2.1.3.4 COOKIE
SV :Nguyễn Văn Đại
20
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
Là một phần dữ liệu nhỏ có cấu trúc được chia sẻ giữa trình chủ và trình duyệt
người dùng.
Các cookie được lưu trũ dưới dạng 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 những người dùng đã ghé thăm trang web và
những vùng họ đã ngang qua trang. Những thông tin nay có thể bao gôm thông tin
1. Domain: Tên miền của trang web đã tạo cookie ( trong ví dụ trên
2. 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.
3. Path: Phạm vi các địa chỉ có thể truy xuấtcookie.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ấtbởitất cả địa chỉ thuộcmiềntrang
web tạo cookie.
4. 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.
5. 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ó khi trình duyệt bị đóng.
6. Name:Tên biến (trong trường hợp này là Apache)
7. 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ền
.
- Các cookie của Netscape (NS) đặt trong một tập tin Cookies.txt, với đường dẫnCác
cookie của Netscape (NS) đặt trong một tập tin Cookies.txt, với đường dẫn
là: C:\Program Files\Netscape\Users\UserName\Cookies.tx
-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à
SV :Nguyễn Văn Đại
22
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
được đặt trong [C:]\Documents and Setting\[username]\Cookies (Win2000), đối
vớ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 ”.
• Bạn cần biết về cài đặt cookie vì cookie có thể cho phép các trang web theo dõi
trữ trong cookie hay tham số URL, biến ẩn của form.
3 LỢI DỤNG THIẾU SÓT TRONG VIỆC KIỂM TRA DỮ
LIỆU HỢP LỆ (INPUT VALIDATION)
Hacker lợidụ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.
3.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)
SV :Nguyễn Văn Đại
24
Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân
Do ngôn ngữ phía trình duyệt ( JavaScript, VBScript..) đuợc thực thi trên trình
duyệt nên hacker có thể sửa đổi mã nguồn để có thể vô hiệu hóa sự kiểm tra.
3.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ấp
phát khiến cho ứng dụng không thực thi được câu lệnh dự định kế tiếp mà thay vào đó
phải thực thi một đoạn mã bất kì do hacker đưa vào hệ thống. Nghiêm trọ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.
3.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.
3.4 Kí tự Meta (Meta-characters Sử dụng những kí tự đặc biệt
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ật XSS, ‘ -- trong SQL….để thực thi câu lệnh.
3.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.
3.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ười