# 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`

Đầu tiên mình sign up và login để xem các chức năng của nó

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:


Ở đâ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 đó..

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

Và đây userID=1 chính là Admin cần tìm.. get flag thôi

```
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**

* Đầ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**

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

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-- -
```

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()-- -
```

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:

Đã 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

Okay, đã có tên cột là flag2 và bảng là flag.. get Flag thôi :v:

```
CHH{S4n1tiZ3_1NpUt_pL3A5e}
```
## K06FE FLAG 03
s