Nói về bài này, mình tốn khá nhiều thời gian để chuẩn bị cho nó, bởi vì mình bị thiếu kiến thức nền tảng về URL parse,XML parse, XML và SSRF.
Lưu ý: tất cả các ví dụ là mình lấy từ PortSwigger, Hacktricks và chính bản thân tự nghĩ và biến tấu thêm.
Lưu ý: các ký tự đặc biệt cần thay thế để tránh nhầm lẫn khi XML parse → %, ‘, “. Đặc biệt khi lồng nhiều entities vào nhau, cần sử dụng các html entity thay thế để XML parse đúng. ****
<aside>
💡 Tool: xxexploiter
</aside>
XML or extensible markup language: là một ngôn ngữ đánh dấu tương tự html. Tuy nhiên thì nó lại thích hợp để lưu trữ và vận chuyển dữ liệu hơn. Điều này khá giống json hoặc csv format.
XMLHttpRequest object thường được sử dụng để gửi request chứa dữ liệu định dạng XML đến server.
Như cái tên, thì đây là một tiêu chuẩn cho các dạng ngôn ngữ đánh dấu (html, xml,…). DTD định nghĩa cấu trúc element, attribute cho markup language.
Cơ bản XML không cần thiết phải có DTD, tuy nhiên để tránh các lỗ hổng như XSS và định nghĩa những tag có sẵn, thuận tiện cho việc sử dụng. Người ta đã tạo 1 DTD cho XML.