Cabaran Web dan Kripto
Menyelesaikan teka-teki web dan kripto yang biasa.
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 /adminSuntikan 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.1atau 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 -pSifer 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
ncukup kecil, faktorkannya secara langsung untuk mendapatkan semula kunci persendirian. - Eksponen kecil tanpa pelapik — dengan
e=3dan 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.txtAliran 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.
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
- Kategori dan Pemikiran CTF
- Cabaran Web dan Kripto
- Asas Kejuruteraan Balik dan Eksploitasi Binari
- Alat dan Penulisan Penyelesaian