0x00 ChallengeDari 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 HeaderJika 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 TimeJadi, 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 FlagJika 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}