progrez.cloud

Write-Up Header [aupCTF 2023]

26 Juni 2023

0x00 Challenge


Dari judul soal kali ini, kemungkinan besar kita akan bermain dengan http header.


Kita diberikan sebuah link ke laman web yang akan menampilkan sebuah function yang ditulis dalam bahasa pemrograman Python.



Jika dilihat dari struktur kodenya, sepertinya menggunakan framework Django.


0x01 Da Header


Jika kita perhatikan, terdapat suatu kondisi yang jika terpenuhi, maka flagnya akan ditampilkan. Tepatnya pada sintaks berikut:

if request.META.get('HTTP_GETFLAG') == 'yes':
	context = {
		'flag': '[REDACTED]',
	}
	return render(request, 'aa/flag.html', context)

Pada dokumentasinya dijelaskan bahwa request.META.get('HTTP_GETFLAG') == 'yes' akan mengecek apakah terdapat HTTP Header Getflag yang bernilai yes.


0x02 CURLy Time


Jadi, yang perlu kita lakukan adalah menambahkan HTTP Header Getflag dengan nilai yes saat mengirimkan request ke laman web tersebut.


Dengan curl:

curl -H "Getflag:yes" https://challs.aupctf.live/header/


0x03 Ge'da Flag


Jika request dilakukan dengan benar dan sungguh-sungguh, ditambah do'a yang berniat penuh. Maka, kita akan dapati flag nya secara utuh.



Voilaa ~
Flagnya adalah aupCTF{cust0m-he4d3r-r3qu3st}