Postingan

Menampilkan postingan dengan label CS: General Skill

Magikarp Ground Mission

Gambar
 1. soal answer: picoCTF{xxsh_0ut_0f_\/\/4t3r_21cac893}

Similar Problem Writeup

1. Static ain't always noise  ini tinggal buka filenya dengan command [cat static] atau [strings static] pada terminal tanpa tanda kurung kotak, lalu flagnya langsung ketemu 2. The Numbers (Cryptography) setelah mendownload file akan didapat gambar. gambar itu isinya angka-angka yang sesuai urutan alfabet. carilah itu alfabet dari setiap angka dan ketemulah flagnya. 3. crackme-py (Reverse Engineering) ini didapatkan file python. tugas kita adalah merekonstruksi kodenya agar variabel dengan string yang dienkripsi dengan algoritma yang telah dituliskan dalam program dapat ter-dekripsi. kita print hasil dekripsinya lalu flagnya langsung ketemu. 4. Credstuff(Cryptography) setelah didownload dapat file dengan ekstensi [.tar] yang berjenis POSIX archive file. setelah diekstrak dengan command tar(selanjutnya cari [tar --help] aja, lupa saya commandnya apa), didapat dua file username.txt dan password.txt. setelah  itu kit abuka username pake notepad dan search nama yang ditentuka...

PW Crack 3

Gambar
  1. soal 2. pembahasan ini didapet tiga file, yang dua kaya yg PW Crack 1 dan 2 terus ini ketambahan kode dengan ekstensi .bin yang isinya password yang udah dijadiin hash code. pas tak buka file pythonnya kan ada line di mana dia membaca si file ekstensi .bin tadi, yang sama program ini isi file itu langsung dipake buat mencocokkan kode hash user dari password yang dimasukkan. nah itu aku print aja biar tau password dalam bentuk hashnya. ketemulah itu si hashnya. nah selanjutnya kan disediain kemungkinan password (ada 7 buah, berbentuk array di line terakhir dari file .py). nah itu tinggal cari aja yg hashnya sama dengan hash yang udah kita temuin tadi. untuk menghemat waktu, aku bikin script python baru yang ngeloop tiap indeks dari array kemungkinan password tadi. convert dari ASCII ke hashnya juga udah ada di file level3.py, tinggal copy paste yg perlu dan didapatlah ini: ya dan akhirnya ketemulah si kemungkinan password dengan hash yang sama dengan "user authentication wkwk...

PW Crack 2

Gambar
  1. soal 2. pembahasan didapat dua file python dan flag yg ekstensi .enc kaya PW Crack 1. ini cuma bedanya sandinya pake hexadecimal jadi harus diconvert dulu ke ASCII. aku convert pake python soalnya enak aja gitu. ketemulah passwordnya itu. setelah memasukkan ke console pas kode pythonnya dirunning, ketemulah flagnya. btw ini lampiran pas cari ASCII nya done!

PW Crack 1

Gambar
1. soal 2. penyelesaian didapat dua file: yang file python dibuka, terus ngeliat line code nya udah dikasi tau passwordnya (berarti ini membutuhkan pemahaman akan bahasa python). terus masukin passwordnya dan done. (ini gapapa kan ya ga tak sensor apa-apanya, gada yg liat blog ini juga kan, semoga gapapa)

HashingJob App

Gambar
  1. soal 2. penyelesaian langsung pakai converter hash md5 di internet. ini gabisa langsung copy dari converternya jadi aku ngetik satu-satu, kudu cepet karena ada timeoutnya. emang gabisa dicopy kah? jd butuh kejelian mata dan kecepatan tangan dengan sungguh-sungguh :!

Glitch Cat

Gambar
  1. soal 2. pembahasan habis masuk lewat netcat, kita dikasih string yang karakter-karakternya ada dalam heksadesimal karena 0x sekian. tp udah di dalem char()jadi sekalian convert dari heksadesimal>desimal>ASCII. ini aku gakepikiran kalau bisa langsung convert semua, se-tanda plus-plusnya pake python. ak tau dari nonton writeup di yutub. oke abis itu langung ketemu flagnya

Convertme.py

Gambar
  1. soal 2. penyelesaian abis download, kita dapet file python. sangat straightforward, dirun, dapet angka desimal yg tiap kita run selalu berubah-berubah, cari kalkulator dan done. dari source code ini alhamdulillah dapet ilmu baru gimana cara mengenerate angka random di python haha. import modul random dg import random  terus apa ya ini namanya bukan command tp bukan syntax. namanya line code? ini:  num = random . choice ( range ( 10 , 101 ). update 9 Juli 2023. kalau gapunya kalkulator, kita ganti line code ini: jadi ini: jadi itu akan menjadikan semua masukan dari user sama dengan num (nilai random acak sebagai persyaratan if). kita masukin nilai acak pun hasilnya bakal sama dengan num sehingga bakal masuk ke percabangan if.

First Grep

Gambar
1. soal 2. pembahasan filenya diunduh, dan keunduh ini: terus kita liat tipe filenya apa pake command file  nama file. diketahuilah jenis filenya file ASCII. maka straightforward, kita pake command cat fungsinya adalah  ini . terus kita pakai grep untuk ngambil kata kunci "pico" untuk dapetin flagnya: done!

Big Zip

Gambar
 1. soal 2. penyelesaian Aku belum install unzip di WSL ku, aku install dulu dg command sudo apt install unzip. abis itu gas command -p di unzip ini emang ditujukan untuk ngepipe. di manualnya unzip ada banyak command lain. cari aja! btw ini berarti dalam satu file(?) isinya semua ini? ini di akhir ada flagnya. jadi pas ngesearch kata "pico" pake grep, yang muncul semua ini dengan kata "pico" yang berisi flagnya cuma muncul sekali di bawah. ini berarti file zipnya gimana aslinya? aku coba buka manual, munculnya gini: ini begitu masuk file zipnya, ada satu folder yg namanya big-file-zip. aku buka, isinya ini. di dalem folder-folder itu ada text lain dan satu folder tambahan yang kalau foldernya dibuka isinya folder dan text lagi sampai 4 kali buka kayanya tadi. nah itu berarti flagnya ada di mana ya? ada di file text yang langsung kebuka itu atau ada di suatu tempat dg ekstensi .txt yang ada di folder di folder di folder di folder? aku coba buka file .txt yg di luar,...

Plumbing

Gambar
  1. soal di hint ke dua, disertakan link menuju manualnya pipe.  ini linknya . 2. penyelesaian jadi aku coba masuk ke port itu dan connect ke host yg disediakan pake netcat. jadi command-nya gini: nc jupiter.challenges.picoctf.org 14291, keluarnya deretan gini: kukira penyelesaian tergamoangnya, gimana cara ngecopy semua ini dan dijadiin ke format txt, abis itu disearch mana flagnya. tapi ternyata setelah liat writeup, beliau menggunakan pipe " | " ini yang berfungsi untuk menggabungkan command dalam sekali eksekusi, coba lihat di manual pipa di atas. setelah itu, kita masuk buat ke dokumennye dan pake command "grep" untuk mencari kata spesifik. di sini kata spesifiknya adalah picoCTF. terus udah abis itu flagnya ketemu. ini command lengkap dan outputnya: (abaikan command kedua)

fixme1.py

Gambar
  1. soal ini isi filenya: 2. penyelesaian penyelesaiannya sgt straightforward. coba tebak di mana yg eror? woh, ini saya lagi merasa gabisa ngapa-ngapain, otak pas-pasan dan telat ngapa-ngapain untuk menunjang karir saya huhu..

2Warm

Gambar
  1. Soal 2. pembahasan soal ini teramat sangat strightforward, cari converter dan udah. tp aku pengen sekalian melatih pikiran, jadilah ku sok-skan ngerjain pake python. tp gajadi ey, aku bingung cara menjadikan variabel kunci dengan suatu nilai awal(variabel independen) agar bisa juga jadi variabel yg nilainya tergantung proses sebelumnya(variabel dependen). di bayanganku sekarang sih ini masih bisa diwujudkan pakai rekursi, tapi aku masih kesulitan mengimplementasikannya. ini beberapa kode gagal yg kubuat: akhirnya chat sama chatGPT :"| dan jadilah ini: saat ini aku menyadari betapa tidak bisanya aku huhu kaga. ini mah km bikin scratch nya fungsi itu. emang blm bisa aja, gapapa. /meyakinkan diri

Nice Netcat...

Gambar
  1. Soal 2. Penyelesaian ini tadi pertama aku masuk ke port di netcatnya. terus ada angk-angka gini: ini karena ada petunjuk "doesn't speak English", ada kemungkinan angka-angka itu mewakili sebuah huruf. karena range angkanya tidak sampe 127, ada kemungkinan ini kode ASCII. lalu aku keinget python bisa men-decodec ASCII pake modul chr(). aku masuk VS Code dan coba buat kode untuk ngubah tiap karakter ke huruf dengan ngeloop tiap-tiap angkanya. aku jadiin angka itu array. tapi aku belum tau cara langsung ngejadiin angka dg urutan menurun yg dienter gitu jadi array, aku ngekomain manual, satu-satu. jadinya gini: arr =[ 112 , 105 , 99 , 111 , 67 , 84 , 70 , 123 , 103 , 48 , 48 , 100 , 95 , 107 , 49 , 116 , 116 , 121 , 33 , 95 , 110 , 49 , 99 , 51 , 95 , 107 , 49 , 116 , 116 , 121 , 33 , 95 , 97 , 102 , 100 , 53 , 102 , 100 , 97 , 52 , 125 , 10 ] itu aslinya nyambung ya, tapi kertasnya gacukup dan aku belum terlalu menguasai text editor di blogger ini jadinya males ngulik y...

What's a Netcat?

Gambar
  1. soal 2. Penyelesaian one simple straightforward step: nc itu command untuk menandakan kita memakai netcat. kita menghubungi host jupiter.challenges.picoctf.org melalui port 25103 (penjelasan update soon sejalan dengan pemahamanku)

Lets Warm Up

Gambar
  1. Soal 2. Penyelesaian ini langsung pake modul dari python. pertama kita cari dari hexadesimal ke desimal karena ASCII juga ada codec(?)desimalnya. setelah ketahuan kalau desimalnya 112, pake modul chr() dari python, didapatkan ASCII huruf p. Selesai!

Wave a Flag

Gambar
 Soal soal ini disertai dengan file tanpa ekstensi bernama "warm"  Finding The Flag 1. penyelesaian 1. kita lihat dulu jenis filenya apa. ternyata adalah ELF. maka bisa kita lihat string-stringnya, dan ketemulah flagnya 2. penyelesaian 2 bisa kita bedah isi filenya menjadi kode hex dengan command "hd warm". (ini pas penulisan commanddnya tidak ter-screenshot). nanti akan muncul semua kode hex yang membentuk file ini dan salah satunya adalah si flag.