progrez.cloud

SOAL ITRACE YANG LUPA DI UPLOAD

16 Maret 2023

Hooorassss, ITRACE Lovers.......


ITRACE 6/7 telah usai, setelah melihat scoreboard ada yang terlewatkan, yarp satu soal lupa di upload HAHAHAH


karena website itrace telah ditutup jadi tidak bisa dicapture. oh iya soalnya masih bisa di akses

nc 103.174.114.204 2023


ketika diakses soal tersebut meminta kita memasukan angka dari angka 0 - 2023 untuk mendapatkan flag.

iseng donk, coba memasukan angka 1 dan hasilnya ANDA BELUM BERUNTUNG



Sebagai seorang VVibu yang budiman tentunya sangat kesal melihat pesan tersebut.

dilihat dari soal tampaknya soal tersebut memaksa kita untuk mencoba semua angka yang kemungkinan dari angka 0 - 2023 yang dimana salah satu angka merupakan angka yang menuju ke roma, eeeh maksud saya untuk mendapatkan flag.


Oke kita coba dengan metode brute force.

pertama-tama kita simulasikan dulu, disini saya menggunakan bash script untuk melakukan looping.


for i in {0..10}
do
  echo $i
done



loh, mana flagnya?

sabarr.. ini simulasinya saja, mari kita lanjutkan untuk menggabungkan looping diatas dengan soal yang diberikan


for i in {0..10}; do
  vvibu=$(echo "$i" | nc 103.174.114.204 2023)
  echo $vvibu
done


eeehhh flagnya?

santai.. ini tahap pengujian apakah scriptnya jalan atau tidak, itu diloop hanya 10x sedangkan cluenya dari angka 0 - 2023, kita naikan angkanya menjadi 15x loop


for i in {0..15}; do
  vvibu=$(echo "$i" | nc 103.174.114.204 2023)
  echo $vvibu
done


setelah angkanya dinaikan 15x loop, flagnya terdapat pada angka 13 yaeyyyyyy!!!

kita coba masukan angka ajaibnya yaitu 13



loh loh loh, kok hanya ITRACE{ yang lainnya mana?

disini saya asumsikan bahwa untuk mendapatkan flag bukan hanya pada angka 13 saja tetapi pada angka yang lain juga. Jahitan kode belum selesai.. mari kita rapikan!


for i in {0..2023}; do
  VVibu=$(echo "$i" | nc 103.174.114.204 2023)
  if echo "$VVibu" | grep -q "ANDA BELUM BERUNTUNG"; then
    continue
  else
    echo "VVibu Was Here: $VVibu"
  fi
done


Sebagai VVibu yang baik, alangkah baiknya dijelaskan sedikit tentang jahitan kode diatas :v

Kode di atas merupakan sebuah loop untuk memanggil program nc (netcat) sebanyak 2024 kali dengan menggunakan bilangan bulat sebagai parameter yang dikirim ke server dengan IP address 103.174.114.204 pada port 2023. Kemudian, kode akan mengecek respon dari server dan mencari pesan "ANDA BELUM BERUNTUNG". Jika pesan tersebut ditemukan, maka loop akan dilanjutkan ke iterasi selanjutnya. Namun, jika pesan tersebut tidak ditemukan, maka kode akan mencetak pesan "VVibu Was Here:" diikuti dengan pesan respon dari server.



Ternyata angka ajaibnya adalah angka 13, 37 dan 137



FLAG : ITRACE{B451C_L00PING_W1TH_B45H}


Bonus


Dari penyelesaian soal diatas, mungkin isi kode soal seperti ini :


#!/bin/bash
for (( ; ; ))
do
 echo -e "33[38;5;200mMasukkan angka antara 0 hingga 2023 untuk mendapatkan Flag33[0m"
 read itrace
 if ! echo "$itrace" | grep -q '^[0-9]+$'; then
  echo "Input harus berupa angka"
 elif (( $itrace < 0 || $itrace > 2023 ))
 then
  echo "Angka yang dimasukkan tidak ada dalam range"
 else
  echo "Angka yang dimasukkan adalah $itrace"
  if (( $itrace == 13 ))
  then
   echo "KAMU HEBAT!"
   echo -e "33[32mITRACE{33[0m"
  elif (( $itrace == 37 ))
  then
   echo "KAMU HEBAT!"
   echo -e "33[32mB451C_L00PING_33[0m"
  elif (( $itrace == 137 ))
  then
   echo "KAMU HEBAT!"
   echo -e "33[32mW1TH_B45H}33[0m"
  else
   echo -e "33[31mANDA BELUM BERUNTUNG33[0m"
  fi
  break
 fi
done


See You Next Time