XSS - Cross Site Scripting, tránh gọi tắt CSS trùng với Cascading Style Sheet. XSS là lỗ hổng của
Web Application cho phép hacker chạy client side scripts(đặc biệt Javascript) của họ khi có người khác truy cập trang web.

Trong một cuộc tấn công XSS điển hình, hacker sẽ đưa mã javascript
độc hại của mình vào các trang web hợp pháp. Khi người dùng truy cập vào
liên kết đặc biệt có chứa phần mã độc, trang web sẽ thực hiện các
javascript độc hại đó. Một lỗ hổng XSS nếu khai thác thành công sẽ cho
phép kẻ tấn công lừa đảo, ăn cắp tài khoản và thậm chí là cài đặt
worms.
Ví dụ: Chúng ta hãy tưởng tượng, một hacker đã phát hiện ra lỗ hổng XSS trong
Gmail
và tiêm script độc hại vào. Khi người dùng truy cập vào các trang web,
nó sẽ thực thi kịch bản độc hại. Mã độc này có thể được sử dụng để
chuyển hướng người dùng đến trang gmail giả hoặc đánh cắp cookie. Sử
dụng cookie này bị đánh cắp, ông có thể đăng nhập vào tài khoản của bạn
và thay đổi mật khẩu.\
Sẽ dễ dàng hơn để tìm hiểu về XSS nếu bạn có khả năng:
- Giỏi về HTML,javascript(Xem thêm).
- Biết về HTTP client-Server Architecure.(Xem thêm)
- Biết thêm về một vài server side programming (php, asp, jsp).
Thực hành để hiểu hơn về XSS:
Hacker sẽ dùng
google
dork để tìm các site có lỗi hổng XSS, bằng các từ khóa dạng
như: “?search=” hay “.php?q=”. Sẽ có rất nhiều kết quả để họ làm mục
tiêu và thực hiện tấn công.
Ở đây, Tech Blog dùng một trang ngắn tự viết để thể hiện việc tấn
công, chèn mã ví dụ. Các bạn có thể tự viết đoạn mã như sau, lưu thành
file php và chạy ở localhost để test.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TECHBLOG.VN: BASIC XSS TEST LAB</title>
</head>
<body>
<form method="post" action="#">
<input type="text" name="query" value="" />
<input type="submit" value="GO" />
<br />
<?php echo $_POST['query']
;?>
</body>
</html>
Bắt đầu khai thác, thử nhập 1 giá trị bất kỳ và nhấn nút
GO, trang sẽ hiện kết quả ngay bên dưới.

Như định nghĩa của XSS, vậy ta hãy thử nhập vào một đoạn mã javascript thử xem thế nào. Ở đây tôi dùng:
<script>alert('TECH BLOG TEST XSS')</script>
Và nếu may mắn,
website bị dính lỗ hổng XSS, chúng ta sẽ có kết quả như sau:

Chúc mừng bạn đã thành công, chạy đc mã javascript trên website mục
tiêu. Đó là ví dụ đơn giản nhất để minh họa về XSS và cách thức hoạt
động của XSS mà tôi có thể trình bày. Trong bài viết cơ bản này, hãy tạm
dừng ở đây để tìm hiểu thêm về một số khái niệm khác.
Các kiểu XSS cơ bản: Được phân chia thành 2 loại, Non-Persistent XSS và Persistent XSS (Dai dẳng và hông dai dẳng – tức thời).
Persistent XSS: Chỉ các cuộc tấn công mà mã độc được đưa lên và
lưu trữ trong database. Nó hoạt động mọi khi có người truy cập vào
trang thể hiện mã.
Ví dụ: Khi đăng ký thành viên, phần giới
thiệu về bản thân, nếu hacker nhập vào mã XSS, và website không kiểm tra
kỹ dữ liệu đầu vào, thì mỗi khi truy cập trang thành viên của hacker
đó, bạn sẽ bị khai thác.
Non-Persistent XSS: Chỉ các cuộc tấn công tức thời, mã độc được
gắn ngay trên URL, hoặc bằng cách nào đó mà không lưu trữ trong
database. Chỉ có tác dụng duy nhất một lần.
Tạm dừng ở đây, hy vọng sẽ có nhiều bạn đọc ủng hộ và chờ đón các phần tiếp theo trong loạt bài về XSS tại TechBlog.
#Nguồn : TechBlog.vn
Unknown
Thứ Ba, 15 tháng 12, 2015