Sabtu, 08 November 2025

"Login" PicoCTF Writeup

Analis Siber Purwakarta - Admin. Penulis akan kembali membagikan pengalaman menyelesaikan sebuah soal CTF yang disediakan oleh PicoCTF. Soal yang dibuat oleh BROWNIENMOTION ini bernama Login, dan menuntut kita agar dapat untuk mengevaluasi isi dari formulir login dari sisi aplikasi client.

Kesan awal ketika memasuki aplikasi ini sangat sederhana. Isinya hanyalah berupa formulir login HTML dan CSS, dengan file Javascript didalamnya. Kurang lebih struktur HTML dalam aplikasi ini adalah sebagai berikut:


Struktur HTML Dalam Aplikasi Client
Sumber: Dokumentasi Penulis


Jika kita mengakses file CSS maka yang akan ditemukan hanyalah sebuah style untuk mendesain aplikasi. Berbeda jika kita mengakses file Javascript, terdapat beberapa mekanisme dan informasi didalamnya seperti verifikasi nama username dan password.


Struktur CSS dalam Aplikasi Client
Sumber: Dokumentasi Penulis


Terdapat celah keamanan dalam Fungsi perulangan aplikasi client yang dapat kita baca pada baris 10-12. Fungsi perulangan tersebut memuat sebuah informasi berupa nama username dan password yang valid namun terenkripsi oleh algoritma Base64. Hal ini dapat diketahui dari penggunaan method btoa() yang dibalik menjadi atob() pada baris ke-12.


Isi program Javascript dalam Aplikasi Client
Sumber: Dokumentasi Penulis


Sandi "YWRtaW4" pada baris ke-12 bila kita dekripsikan maka akan memuat informasi berupa username dengan nama: admin. Bila kita menginput nama selain "admin" maka aplikasi akan merespon dengan memunculkan dialog box dengan isi pesan "Incorect Username".


Proses dekripsi username pada Aplikasi Client
Sumber: Dokumentasi Penulis

Begitu pula dengan password, pada aplikasi client ini password yang disandikan menjadi "cGljb0NURns1M3J2M3JfNTNydjNyXzUzcnYzcl81M3J2M3JfNTNydjNyfQ" yang terdapat pada baris ke-12. Password tersebut merupakan sebuah Flag untuk keseluruhan apikasi.



Hasil akhir dari soal CTF "Login" PicoCTF
Sumber: Dokumentasi Penulis

Kesan pertama bagi penulis untuk menyelesaikan soal CTF adalah menuntut kita untuk membaca beberapa asset-asset dan endpoint yang terdapat dalam aplikasi. Memahami jenis, dan cara menerapkan enkripsi juga penting, hal ini terdapat kaitannya dengan bagaimana caranya agar kita dapat mengekstrak atau menyadikan sebuah informasi.


Daftar Pustaka:
https://developer.mozilla.org/en-US/docs/Web/API/btoa

"Where are the robots?" PicoCTF Writeup

Analis Siber Purwakarta - Admin. Soal CTF kali ini bertujuan agar pemain menumukan sebuah program yang bernama .robots.txt. Program .robots.txt ini berisi sebuah perintah mengenai laman apa yang diperbolehkan dan apa saja yang dilarang untuk diakses oleh oleh sebuah web robots.

Program .robots.txt ini bersifat publik, jadi siapapun bisa mengakses program tersebut. Program .robots.txt terdiri dari dua bagian yaitu User Agent, dan Dissalow (robotstxt.org, (2007). User Agent merupakan bagian yang dapat diakses oleh prgram .robots.txt, sementara Dissalow merupakan bagian dimana .robots.txt tidak dapat diakses (robotstxt.org, (2007).

Soal tersebut dibuat oleh Zaratec/Danny, deskripsi awal dari soal ini menyuruh kita agar menemukan program .robots.txt dalam sebuah aplikasi website. Soal ini memiliki sebuah klu yang mempertanyakan letak program .robots.txt.

Berdasarkan dokumentasi yang terdapat dalam situs robotstxt.org letak program .robots.txt ini berada dalam direktori tingkat atas sebuah web server, dan menggunakan penamaan secara lowercase (robotstxt.org, (2007).  Misalkan, jika kita mengakses situs example.com maka untuk mengakses program .robots.txt dalam situs tersebut kita perlu menambahkan /robots.txt dalam url menjadi example.com/robots.txt.

Maka berdasarkan dokumentasi tersebut kita cukup dengan menambahkan /robots.txt dalam url aplikasi ctf ini. Keseluruhan url untuk mengakses program robots.txt adalah seperti berikut: https://jupiter.challenges.picoctf.org/problem/60915/robots.txt. Pada program robots.txt tersebut tertulis jelas sebuah informasi bahwa program robots.txt dalam aplikasi CTF ini tidak mengizinkan sebuah web robots untuk mengakses laman /8028f.html.


Keterangan Dissalow: /8028f.html
Sumber: Dokumentasi Penulis


Seperti yang dijeaskan sebelumnya, program .robots.txt ini juga berisi sebuah informasi mengenai halaman lain dalam aplikasi ini yaitu /8029f.html. Yang dimana jika kita mengakses halaman tersebut maka kita akan mendapatkan sebuah Flag dari soal CTF ini. 


Flag CTF
Sumber: Dokumentasi Penulis

Soal CTF Where are the robot ini mengajarkan kita sebagai Pentester untuk lebih detail lagi untuk memanen sebuah informasi dalam fase pengintaian. Skenario real dalam CTF ini mungkin akan lebih susah, dikarenakan pengembang aplikasi mungkin akan menambahkan sebuah otorisasi bagi siapa saja yang dapat mengakses halaman-halaman website milik mereka yang tercantum dalam program .robots.txt.


Daftar Pustaka

robotstxt.org (2007). The Web Robots Page. http://www.robotstxt.org/

Minggu, 02 November 2025

SSRF Hackerone report journaling (1)

Analis Siber Purwakarta - Admin. Pada kesempatan kali ini, penulis akan membagikan hasil jurnaling dari beberapa laporan mengenai kerentanan SSRF yang didapatkan melalui laporan kerentanan yang sudah terpublish di platform Hackerone. Jurnaling ini dibuat untuk merangkum dan mengetahui bagaimana seorang peretas dapat mengeksploitasi kerentanan SSRF.

  1. Hackerone #2262382 Server Side Request Forgery (SSRF) via Analytics Reports
    1. Disclosed: December 8, 2023
    2. Reporter: h--1
    3. Jenis: SSRF via Request Template Element Parameter
    4. Target: Hackerone
      1. Ringkasan : Kerentanan ini dilatar belakangi oleh kurangnya output sanitization pada sebuah pesan error pada aplikasi milik Hackerone. Dengan merancang sebuah malicious request, seorang peretas dapat mengakses internal AWS services, dan mengambil sebuah kredensial sementara.
  2. Evernote #1189367 Full read SSRF in www.evernote.com that can leak aws metadata and local file inclusion
    1. Disclosed: December 6, 2021
    2. Reporter: neolex
    3. Jenis: SSRF via URL parameter endpoint
    4. Target: Evernote
      1. Ringkasan: Kerentanan ini dipicu dari sebuah endpoint url parameter yang berfungsi sebagai sebuah path yang berfungsi juga untuk memuat beberapa file seperti Javascript, ataupun CSS, dan terenkripsi dengan Base64, namun developer tidak melakukan  validasi request sehingga kerentanan SSRF pun terjadi.
  3. Snapchat #530974 Server-Side Request Forgery using Javascript allows to exfill data from Google Metadata
    1. Disclosed: November 30, 2020
    2. Reporter: nahamsec
    3. Jenis: SSRF via Custom Webpage (DNS Rebinding)
    4. Target: SnapChat
      1. Ringkasan: Kerentanan ini dilakukan dengan cara membuat sebuah skrip custom webpage yang dirancang dengan tujuan untuk melakukan DNS Rebinding. Dengan memanfaatkan DNS Rebinding peretas mampu mengakses internal web endpoint seperti Google Metadata Service