# Final Exam 0x06 Link challenge: ``` https://battle.cookiearena.org/arenas/final-exam-0x06 ``` Challenge có 4 flag nhưng do mình gà nên mới solve được 2/4 :baby_chick: Dưới đây là write up bài mình làm được ( Hope to finish it soon :imp: ) (8/5/2024) ## K06FE FLAG 01 > Flag số 1 nằm trong chức năng xem profile của tài khoản admin. Hãy thực hiện đăng nhập vào tài khoản admin và lấy Flag` ![image](https://hackmd.io/_uploads/SJIQ2wOMR.png) Đầu tiên mình sign up và login để xem các chức năng của nó ![image](https://hackmd.io/_uploads/r1rnhwuzA.png) Mình có được mail của admin, sau đó dạo 1 vòng các tính năng Profile với Change Password: ![image](https://hackmd.io/_uploads/H1kWpDuM0.png) ![image](https://hackmd.io/_uploads/S1fz6w_G0.png) Ở đây mình thắc mắc, vì sao mình vừa tạo acc mà userId đã = 2 rồi, liệu 0 với 1 có phải là admin không nên mình chuyển sang Burp để kiếm tra phán đoán đó.. ![image](https://hackmd.io/_uploads/rkTPpPOfR.png) Việc bây giờ là thay đổi id của mình sang thành 1 để xem có thành công không .. Server trả về 200 tức là được ![image](https://hackmd.io/_uploads/ByOjaD_zA.png) Và đây userID=1 chính là Admin cần tìm.. get flag thôi ![image](https://hackmd.io/_uploads/S161Av_fA.png) ``` CHH{n0_On3_c4N_Ch4ng3_y0uR_p4s5} ``` ## K06FE FLAG 02 > Flag 2 nằm trong cơ sở dữ liệu. Hãy tìm cách để đọc Flag` Sau khi vào được admin thì có thêm chức năng Admin Dashboard và flag ở trong csdl thì mình đoán là Vul parameter sẽ ở ô Search **Information Gathering** ![image](https://hackmd.io/_uploads/BJQ8JOdfR.png) * Đầu tiên mình test với 2 tham số đó là ' và " và nhận ra ' thì sẽ thông báo sai syntax còn " vẫn trả ra * CSDL được dùng ở challenge này là MariaDB. Đầu tiên mình sẽ xác định số cột của nó bằng **ORDER BY** ![image](https://hackmd.io/_uploads/H1HDx__MA.png) Do 4 không được nên mình cho ORDER BY 3 thì đã được tuy không hiện thị dữ liệu :v ![image](https://hackmd.io/_uploads/rJKpluOf0.png) Xác định phải xác định xem cột nào thì chèn được dữ liệu vào: ``` ' 1' UNION SELECT NULL,NULL,NULL-- - ``` ![image](https://hackmd.io/_uploads/SJggGOuzC.png) Theo mình tìm hiểu được thì syntax của MariaDb cũng giống với MySQL nên mình sẽ dựa vào đây để xác định bảng và cột của nó. ``` 1' UNION SELECT table_name,NULL,NULL from information_schema.tables where table_schema=database()-- - ``` ![image](https://hackmd.io/_uploads/SkdDzuuf0.png) Ta được 3 bảng như trên, ban đầu mình nghĩ table name là Card image :-1: nhưng sau khi quan sát kĩ: Chọn từng bừng ảnh hoặc quan sát ở Burp thì mình phát hiện ra tên của 3 bảng ấy: ![image](https://hackmd.io/_uploads/B1zfQOOf0.png) Đã có được tên bảng, tiếp theo là lấy tên cột: ``` 1' UNION SELECT column_name,NULL,NULL from information_schema.columns where table_name="flag"-- - ``` Kết quả trả về 1 cột có tên là flag2 ![image](https://hackmd.io/_uploads/H1qlNduz0.png) Okay, đã có tên cột là flag2 và bảng là flag.. get Flag thôi :v: ![image](https://hackmd.io/_uploads/B1i5VduMR.png) ``` CHH{S4n1tiZ3_1NpUt_pL3A5e} ``` ## K06FE FLAG 03 s