---
# System prepended metadata

title: Final Exam 0x06
tags: [Final Exam]

---

# 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



