
Pada artikel ini, kita akan membahas operasi beberapa identitas WEB menggunakan wargame
Natas sebagai contoh. Setiap level memiliki akses ke kata sandi level selanjutnya. Semua kata sandi juga disimpan di file / etc / natas_webpass /. Sebagai contoh, kata sandi untuk natas5 disimpan dalam file / etc / natas_webpass / natas5 dan hanya-baca untuk pengguna natas4 dan natas5.
Informasi OrganisasiTerutama bagi mereka yang ingin mempelajari sesuatu yang baru dan berkembang di bidang informasi dan keamanan komputer, saya akan menulis dan berbicara tentang kategori berikut:
- PWN;
- kriptografi (Crypto);
- teknologi jaringan (Jaringan);
- membalikkan (Reverse Engineering);
- steganografi (Stegano);
- pencarian dan eksploitasi kerentanan WEB.
Selain itu, saya akan membagikan pengalaman saya dalam forensik komputer, analisis malware dan firmware, serangan pada jaringan nirkabel dan jaringan area lokal, melakukan pentest dan menulis eksploitasi.
Agar Anda dapat mengetahui tentang artikel baru, perangkat lunak, dan informasi lainnya, saya membuat
saluran di Telegram dan
grup untuk membahas masalah apa pun di bidang ICD. Juga, saya pribadi akan mempertimbangkan permintaan pribadi Anda, pertanyaan, saran dan rekomendasi
secara pribadi dan akan menjawab semua orang .
Semua informasi disediakan hanya untuk tujuan pendidikan. Penulis dokumen ini tidak bertanggung jawab atas kerusakan yang disebabkan seseorang sebagai akibat dari menggunakan pengetahuan dan metode yang diperoleh sebagai hasil dari mempelajari dokumen ini.
level 0
Kami melihat kode sumber halaman dan memeriksa komentar.

Kami menemukan kata sandi.
Sangat sering, ketika mengembangkan situs, pengembang mengomentari berbagai informasi tambahan untuk diri mereka sendiri, termasuk data otorisasi.
level 1
Kami melihat kode sumber halaman lagi, tetapi acara klik kanan mouse ditugaskan untuk acara javascript, yang mencegah menu konteks muncul.

Untuk melihat halaman, Anda dapat menggunakan tombol pintas peramban, maka acara menekan tombol kanan mouse tidak akan berfungsi.

Kami menemukan kata sandi.
Sebagai opsi (terkadang prioritas), Anda dapat mengunduh seluruh halaman dan melihat kode.
wget --http-user=natas1 --http-password=gtVrDuiDfck831PqWsLEZy5gyDz1clto http://natas1.natas.labs.overthewire.org

level 2
Kami melihat kode sumber halaman lagi, perhatikan bahwa gambar memuat pada halaman.

Mari kita pergi ke direktori tempat gambar itu diunduh. Kami mengamati bahwa direktori ini tidak diindeks dan tersedia untuk pengguna.

Kami mengambil kata sandi.

Untuk menghindari melihat file dalam direktori, pengaturan server (dalam hal ini /etc/apche2/httpd.conf) harus memiliki larangan pengindeksan file. Atau dalam direktori ini harus berupa file index.html.
level 3
Kami melihat kode sumber halaman lagi, tidak ada yang menarik di sana. Item kedua setelah melihat kode sumber adalah memindai file dan direktori. Tentukan pengguna dan kata sandi untuk otentikasi http sebagai parameter utilitas dirb.

File robots.txt berisi daftar direktori dan file yang tidak boleh dilihat oleh robot mesin pencari (misalnya, google dan yandex).

Ayo pergi ke direktori tersembunyi di situs, cari file dan ambil kata sandinya.


Sebagai analog, Anda dapat menggunakan utilitas dirsearch, atau burpsuite.
level 4
Server menginformasikan dari mana mereka pergi dan mengatakan halaman mana yang harus dituju. Dia dapat memeriksa data ini hanya di header protokol HTTP.

Di browser, pilih bilah alat β jaringan β permintaan terakhir dan βubah dan kirimβ. Anda harus mengubah bidang Perujuk - ini menunjukkan dengan tepat dari mana kita dapatkan.

Tetap mengambil kata sandi.

Tindakan ini burpsuite.
Penting untuk terus meninjau bidang HTTP mana yang dilihat oleh Server Web. Ini adalah data pengguna yang paling jarang difilter.
level 5
Layanan melaporkan bahwa kami belum masuk. Artinya, ia menyimpan data otorisasi kami. Satu-satunya tempat ini dapat ditransmisikan adalah sesi cookie.

Mari kita lihat cookie (untuk kenyamanan, sebaiknya instal ekstensi di browser), dan ubah nilai parameter login menjadi 1.

Muat ulang halaman dan kumpulkan kata sandi.

Kerentanan ini diklasifikasikan sebagai Otentikasi Rusak dan Manajemen Sesi.
level 6
Layanan ini memberi kami kode sumber untuk dianalisis.

Rahasia yang harus kita masukkan sudah termasuk (terhubung dari file).

Pergi ke alamat file ini di server dan dapatkan
sebuah rahasia. Karena file-file ini mengandung kode php, mereka
hanya ditampilkan jika Anda mengunduhnya.

Kirim rahasia, dapatkan kata sandi.
level 7
Dengan mengklik kedua tautan, kami perhatikan bagaimana tautannya. Nama file di server dilewatkan di halaman parameter GET.

Mari kita coba tentukan path ke file / etc / passwd sebagai parameter.

Dan mereka memberi tahu kami di mana mendapatkan kata sandi.

Kerentanan diklasifikasikan sebagai LFI.
level 8
Kode sumber layanan disediakan. String yang dikodekan dan metode pengkodean disimpan.

Hal ini diperlukan untuk memecahkan kode dalam urutan terbalik:
- mengkonversi dari tampilan hex ke representasi biner;
- balik garis;
- decode base64.
<?php $secret = "3d3d516343746d4d6d6c315669563362"; echo base64_decode(strrev(hex2bin($secret)))."\n"; ?>

Kirim rahasia dan dapatkan kata sandi.

level 9
Dari analisis kode sumber, menjadi jelas bahwa data pengguna ditransfer ke baris perintah untuk mencari data dalam file.

Karena data tidak disaring, Anda dapat mengumpulkan pipa dan menjalankan perintah OS lainnya. Jika Anda meneruskan string ke permintaan, misalnya: "|| ls # ", maka permintaan penuh akan menjadi" grep -i || ls # dictionary.txt. " Semuanya setelah || - akan dieksekusi dengan kesalahan, dan setelah # - itu akan dikomentari, yaitu, kita hanya mendapatkan output dari perintah ls.

Jadi, kami membaca file: β|| cat /etc/natas_webpass / natas10 # ".

Kerentanan diklasifikasikan sebagai Injeksi Perintah OS.
level 10
Dari analisis kode sumber, menjadi jelas bahwa data pengguna ditransfer ke baris perintah untuk mencari data dalam file.

Tugasnya sama dengan di level 9, hanya sekarang ada filter. T.O. tanda-tanda akan hilang dari permintaan: ";", "|", "&". Anda dapat membaca file dengan sah! Misalkan kata sandi kita memiliki simbol "z": "z / etc / natas_webpass / natas11 #".

Untuk dilanjutkan. Anda dapat bergabung dengan kami di
Telegram .