0x00
IntroDalam soal kali ini, kita diberikan link ke sebuah website dan source file dari website tersebut.
0x01
Check UpBerdasarkan deskripsi, aplikasi ini merupakan aplikasi Sistem Deteksi Penyakit.
Lalu, terdapat form yang digunakan untuk melakukan pendeteksian penyakit berdasarkan gejala yang diinput
0x02
Source ExtractionPada source file yang diberikan, kita bisa lihat struktur file seperti berikut
Terdapat file yang cukup menarik, pada file [configure_db.sh]
kita tahu bahwa aplikasi ini menggunakan neo4j
yang merupakan Graph Database.
Selain itu, kita juga diberikan file hasil dumping [hostpitalgraph.dump]
0x03
Load the DumpSelanjutnya kita import file dump dengan menggunakan platform neo4j AuraDB
Setelah berhasil diimport, kita buka databasenya
Terlihat bahwa terdapat 4 Node Utama:
0x04
Cypher the NodesHmm... Sepertinya flag yang kita cari disimpan dalam Node Flag
Dan ternyata setelah diperiksa, memang benar
Hanya saja ini merupakan dummy data.
Jadi, sepertinya untuk mencari flag aslinya, kita perlu melakukan injection pada database aslinya
Tapi, bagaimana caranya???
0x05
Another NodeSetelah sekian lama frustrasi, tiba-tiba teringat pada nama challenge "Dead or Alive". Mungkin ini merupakan petunjuk.
Setelah memeriksa ulang semua Node, saya akhirnya menemukan titik terang pada Node Disease
Ternyata, flag dapat ditampilkan jika user menerima diagnosa penyakit "Death".
0x06
Try SuicideCara saya untuk dapat menerima diagnosa penyakit "Death" adalah dengan menginput semua gejala yang ada dalam form.
Dan akhirnya kita menderita "Death" :)
0x07
Inspect the FlagLakukan Inspect Element dan temukan Flagnya
~~ Voilaa... Flagnya adalah ctfzone{C4n_Th3_D34D_Pl4y_CTF?}