Cyber Security Academy · Pelajaran

Cabaran Web dan Kripto

Menyelesaikan teka-teki web dan kripto yang biasa.

Pelajaran 2 daripada 413 langkah

Cabaran Web dan Kripto ialah pelajaran Cyber Security Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cyber Security Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cyber Security Academy merangkumi sejumlah 4 pelajaran.

Dua Tonggak: Sesawang dan Kriptografi

Sesawang dan kriptografi ialah dua pintu masuk yang paling biasa ke CTF.

  • Cabaran sesawang memberikan anda aplikasi sesawang yang sedang berjalan dan meminta anda mencari kelemahan dalam cara aplikasi itu mengendalikan data masukan, pengesahan atau kepercayaan.
  • Cabaran kriptografi memberikan anda teks sifer, skema dan kadangkala kod sumber, lalu meminta anda mendapatkan semula teks biasa atau kunci dengan mengeksploitasi kelemahan dalam cara kriptografi digunakan.

Kedua-duanya menghargai pemerhatian yang bersistem. Pelajaran ini merangkumi teka-teki berulang dalam setiap bidang.

Langkah Pertama terhadap Sasaran Sesawang

Sebelum mengeksploitasi apa-apa, petakan aplikasi itu. Lihat kod sumber, periksa respons dan siasat kandungan tersembunyi.

# Inspect raw response headers and body
curl -i http://target/

# Look for hidden paths the UI does not link to
gobuster dir -u http://target/ -w wordlist.txt

# Common files worth checking by hand
# /robots.txt  /.git/  /backup.zip  /admin

Suntikan SQL

Suntikan SQL berlaku apabila data masukan pengguna digabungkan ke dalam pertanyaan pangkalan data tanpa memisahkan kod dan data.

Log masuk yang membina pertanyaan seperti SELECT * FROM users WHERE name='INPUT' boleh dimanipulasi oleh data masukan yang menutup rentetan dan mengubah logik:

# A classic auth-bypass payload supplied as the username
' OR '1'='1' -- 

# UNION-based extraction once the column count is known
' UNION SELECT username, password FROM users -- 

Pembetulan Sebenar untuk Suntikan

CTF mengajar anda memecahkan suntikan supaya anda dapat mempertahankannya. Pertahanan yang betul ialah pertanyaan berparameter (pernyataan prasedia), yang memastikan data pengguna tidak masuk ke dalam struktur pertanyaan sama sekali.

# Vulnerable: input becomes part of the SQL text
query = "SELECT * FROM users WHERE name='" + name + "'"

# Safe: input is bound as a parameter, never parsed as SQL
cursor.execute("SELECT * FROM users WHERE name = ?", (name,))

Penskripan Rentas Tapak (XSS)

XSS berlaku apabila aplikasi memantulkan atau menyimpan data masukan yang dikawal penyerang lalu pelayar melaksanakannya sebagai skrip. Dalam CTF, cabaran XSS selalunya melibatkan bot yang melawat muatan anda sambil menyimpan bendera dalam kuki.

  • Dipantulkan — muatan dalam permintaan dipaparkan semula terus.
  • Disimpan — muatan disimpan dan dijalankan untuk pelawat kemudian.
  • Berasaskan DOM — JavaScript sebelah klien menulis data masukan ke dalam halaman secara tidak selamat.

Pertahanannya ialah pengekodan keluaran yang peka konteks serta dasar keselamatan kandungan. Prob ujian seperti <script>alert(1)</script> mengesahkan sama ada data masukan diloloskan.

SSRF dan Lintasan Laluan

Dua asas sesawang yang lain:

  • Pemalsuan Permintaan Sebelah Pelayan (SSRF) — anda memperdaya pelayan supaya membuat permintaan bagi pihak anda, selalunya kepada alamat yang hanya boleh dicapai secara dalaman seperti http://127.0.0.1 atau titik akhir metadata awan, untuk mencapai bendera.
  • Lintasan laluan — anda keluar daripada direktori yang ditetapkan menggunakan jujukan seperti ../ untuk membaca fail di luar akar sesawang, contohnya ../../../../etc/passwd.

Kedua-duanya berpunca daripada mempercayai data masukan pengguna untuk memilih sumber. Pertahanannya ialah senarai benarkan yang ketat serta menormalkan dan mengesahkan laluan sebelum digunakan.

Pengekodan Bukan Penyulitan

Perangkap kriptografi yang paling biasa bagi pemula ialah mengelirukan pengekodan dengan penyulitan. Pengekodan boleh diterbalikkan oleh sesiapa sahaja tanpa kunci, jadi ia langsung tidak memberikan kerahsiaan.

Belajar mengenal pasti format ini hanya dengan melihatnya:

  • Base64 — huruf, digit, + /, selalunya dengan pelapik =.
  • Hex — hanya 0-9 a-f.
  • ROT13 / Caesar — struktur yang boleh dibaca, dengan huruf yang dialihkan.
# Decode base64
echo 'ZmxhZ3toZWxsb30=' | base64 -d

# Decode hex
echo '666c6167' | xxd -r -p

Sifer Klasik dan XOR

Banyak cabaran kriptografi menggunakan sifer sejarah yang lemah atau sifer moden yang digunakan secara cuai:

  • Caesar / Vigenere — sifer anjakan yang boleh dipecahkan melalui analisis kekerapan atau dengan mencuba semua 25 anjakan.
  • XOR satu bait — seluruh mesej dioperasikan dengan XOR menggunakan satu bait; cuba semua 256 kunci dan pilih keluaran yang boleh dibaca.
  • XOR kunci berulang — dipecahkan dengan mencari panjang kunci, kemudian menyelesaikan setiap bait kunci sebagai XOR satu bait.

Pengajarannya: sifer tersuai atau klasik tidak menawarkan keselamatan sebenar terhadap penganalisis.

Perangkap RSA

RSA hanya selamat apabila parameternya dipilih dengan betul. Cabaran kriptografi CTF gemar memberikan anda contoh yang rosak:

  • Modulus kecil — jika n cukup kecil, faktorkannya secara langsung untuk mendapatkan semula kunci persendirian.
  • Eksponen kecil tanpa pelapik — dengan e=3 dan mesej yang pendek, teks sifer mungkin merupakan kubus sempurna yang boleh dipulihkan melalui punca kubus integer.
  • Faktor sepunya — jika dua kunci awam berkongsi nombor perdana, pembahagi sepunya terbesar bagi modulusnya akan mendedahkannya serta-merta.

Pertahanan dalam dunia sebenar: gunakan pustaka yang telah disemak dengan kunci besar dan pelapik yang betul (OAEP), dan jangan bina sendiri.

Pemecahan Cincangan

Apabila cabaran memberikan anda cincangan kata laluan, matlamatnya ialah mendapatkan semula masukan asal. Anda tidak boleh menterbalikkan cincangan, tetapi anda boleh meneka masukan dan membandingkannya.

# Identify the hash type first
hashid 5f4dcc3b5aa765d61d8327deb882cf99

# Dictionary attack with hashcat (mode 0 = raw MD5)
hashcat -m 0 hash.txt rockyou.txt

# John the Ripper alternative
john --wordlist=rockyou.txt hash.txt

Aliran Kerja Boleh Diulang

Satukan semuanya dengan gelung yang konsisten untuk kedua-dua kategori:

  • Perhatikan — baca gesaan, lihat sumber, kenal pasti pengekodan atau skema.
  • Buat hipotesis — kenal pasti keluarga kelemahan yang mungkin.
  • Uji secara kecil-kecilan — hantar satu muatan uji dan perhatikan respons tepat.
  • Eksploitasi — tingkatkan muatan uji yang berjaya menjadi muatan penuh yang menghasilkan bendera.
  • Dokumentasikan — catat muatan dan penaakulan semasa masih segar.

Gelung ini mengelakkan anda terperangkap dalam penerokaan yang tidak berkesudahan dan menghasilkan laporan penyelesaian hampir tanpa usaha.

Semakan Pantas

Uji pemahaman anda tentang asas web dan kripto.

Imbas Kembali

Anda telah mempelajari teka-teki web dan kripto yang kerap muncul:

  • Web: petakan dahulu, kemudian lakukan siasatan untuk mencari suntikan SQL, XSS, SSRF dan lintasan laluan — semuanya berpunca daripada kepercayaan yang tidak selamat terhadap masukan pengguna, dan semuanya diperbaiki dengan memisahkan kod daripada data.
  • Kripto: bezakan pengekodan daripada penyulitan, pecahkan sifir klasik dan XOR yang lemah, eksploitasi kesilapan parameter RSA, dan pecahkan cincangan menggunakan senarai perkataan.
  • Satu gelung perhatikan, buat hipotesis, uji, eksploitasi, dokumentasikan berfungsi untuk kedua-duanya.

Seterusnya, anda beralih kepada kejuruteraan balikan dan eksploitasi binari.

Percuma untuk bermula

Pelajari Cyber Security Academy dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
76
Pelajaran
303

Soalan Lazim

Adakah pelajaran “Cabaran Web dan Kripto” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Cyber Security Academy, termasuk “Cabaran Web dan Kripto”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Cyber Security Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Cabaran Web dan Kripto”?

Menyelesaikan teka-teki web dan kripto yang biasa. Anda berlatih Cyber Security Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Cyber Security Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Cyber Security Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Cabaran Web dan Kripto” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cyber Security Academy ini?

Ya. Setiap pelajaran Cyber Security Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Kategori dan Pemikiran CTF
  2. Cabaran Web dan Kripto
  3. Asas Kejuruteraan Balik dan Eksploitasi Binari
  4. Alat dan Penulisan Penyelesaian
← Kembali ke Cyber Security Academy