Home Top Ad

Penjelasan dan penyelesaian Ctf anoncyberteam bypassing php strcmp()

Share:
Assalamualaikum, maaf maaf nih Mimin jarang upload di blog h3h3, oke untuk pembahasan kali ini adalah ctf.

A : bang ctf itu apa ??

Q: ctf atau capture the flag adalah salah satu jenis dari kompetisi hacking yang dimana mengharuskan seorang / tim untuk mengambil sebuah file / string yang sudah disembunyikan sistem yang dimana disebut dengan istilah “Flag”.

Gimana ngerti gk penjelasan nya ???, Mudah mudahan kalian ngerti ya hehe, oke untuk ctf/challange sekarang yaitu dari tim anoncyber yg mengadakan challange kalau berhasil akan mendapatkan reward yaitu masuk tim official nya gan, btw gw belum masuk :((

Ctf nya adalah { ekivalen } simple php condition 👊😎, oke bagi yg mau menyelesaikan nya silahkan kunjungi web anoncyber team ya !!

https: //anoncyberteam*or*id/

Ganti * menjadi tanda titik (.)

Oke lanjut ke tutorial untuk tampilan awal seperti ini gan
Terus gimana bang cara menyelesaikan nya ?, Eit bentar dulu di situ ada button kirim sama baca kode saya, yg pertama kita harus lihat dulu kode nya dengan klik baca kode ku, oke gw pencet ya !1!1!
Oke setelah saya buka ternyata banyak koding koding anjay :"v, kita akan cari kodingan php nya gan gw scroll dan ada kode Php nya

Oke kita setelah di lihat ternyata ada yg kejanggalan gaess yaitu di kode ↓↓

$ekivalen = "???????";
        if(isset($_GET["password"])){
            $password = $_GET["password"];
            if(strcmp($password, $ekivalen) == 0){

Oke di kodingan itu ada string strcmp dan sebuah nilai 0 dan kita akan mem bypass nya, wah bang strcmp itu apa ??, Oke gw jelasin strcmp atau (string comparation) merupakan salah satu fungsi yang terdapat pada php yang berfungsi untuk membandingkan dua buah string dan akan menghasilkan sebuah bilangan bulat (int), namun jika nilai yang dibandingkan sama maka akan menghasilkan sebuah nilai 0, namun jika nilai string1 dan string2 yang kita bandingkan memiliki perbedaan maka akan menghasilkan selain dari 0, dan bilangan tersebut bisa berupa 1,2,3 atau yang lainya selain dari 0 (nol). 

Terus bang hubungan nya sama nilai 0 apaan?, Oke gw jawab di kodingan itu ada 2 string yang sama, yg mana bang ??, Itu yg get["passwrod"] sama yg satu lagi get["password"] dengan demikian kita bisa dengan mudah dengan mem bypass nya.

Wah bang dengan cara gimana tuh mem bypass nya ??, Mudah kok gan hanya menambahkan permintaan seperti ini di akhir kalimat "?password[]=" kalian bisa mengisi = dengan apa saja misal lol,toto, atau apa saja oke !1!1

Contoh :
ekivalen/?password[]=lol, dan demikian boom kita mendapatkan flag nya broo 👊😎

Oke sekarang kita ke sesi penjelasan nya ^_^

Katakanlah kita memiliki contoh kode ini ↓↓

$username = $_POST['username'];

 $password = $_POST['password'];

 $real_password = "original password here"; 

if (strcmp($password, $real_password) == 0) {
 echo "flag{}";
 }

jika kita memberikan permintaan posting seperti ini password[]=lol maka $ password menjadi sebuah array. Sekarang membandingkan ini, alih-alih melempar kesalahan, ia mengembalikan NULL dan dalam PHP NULL == 0, yang berarti perbandingan string dilewati dan saya mendapatkan bendera :)

Saran ya gan daripada kalian nge deface gajelas terus ngerusak hanya buat famous mending kalian upgrade skill dengan yang bermanfaat misal memecahkan ctf atau menjadi bug Hunter

Sekian dari saya babang Azhar

 wassalamu'alaikum

No comments

About Me

My photo
Saya hanya seorang Bocil nub berumur 15 tahun yg gemar pelajaran IT 😉

Search This Blog

Komentar