Sebuah cerita pendek tentang pelanggan yang tidak memadai dan menemukan kerentanan di situs dalam 1 menit .
Saya tidak berharap bahwa cerita khusus ini akan menjadi artikel pertama saya tentang HabrΓ©. Saya menulis ketika sedang panas!Semua yang Anda baca lebih lanjut bukanlah ajakan untuk bertindak atau upaya untuk "berkompromi" dengan siapa pun.5 April 2020.Saya melihat pesan di linkedin : βSelamat sore. Kami mencari pengembang untuk menyelesaikan proyek pada yii2 ... tel: + 79 ... whatsapp "Diposting di whatsapp :" Selamat siang. Saya dari linkedin, kirim TK, jika ada. βSebagai tanggapan, ia menerima pesan besar dengan tautan ke situs tersebut, papan di trello dan sebuah TK kecil. Trello yang
dipelajari . Menurut dewan, setidaknya 4 pengembang mengerjakan proyek. 6 April 2020
Karena karantina, menurut saya, orang-orang mulai menjadi gila. Inilah yang saya lihat di whatsapp ketika saya bangun:
Segalanya tampak tidak ada apa-apanya, baca dan lupa. Tetapi sesuatu di dalam tidak istirahat, ada perasaan ketidaklengkapan, yang saya benar-benar ingin singkirkan.Tidak ada yang tersisa selain masuk ke proyek "pelaku" dan menyingkirkan sensasi yang tidak menyenangkan di dalam: D.Hitung mundur telah dimulai.00:00 Sayamembuka situs.Saya melihat formulir pencarian dan mencoba memeriksa injeksi SQL yang sebelumnya saya tahu :' UNION SELECT
1,group_concat(username,0x7c,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
fRom user
Seperti yang diharapkan - itu tidak berhasil , tetapi patut dicoba.00:20Situs ini memiliki kesempatan untuk mendaftar dalam dua cara: sebagai pengguna dan sebagai perusahaan .Berdasarkan screenshot yang terlihat di trello , saya memutuskan untuk mendaftar dan bekerja dengan akun pribadi Perusahaan .Isi kolom di mana bagian depan memungkinkan garisSELECT * FROM users;
Hanya untuk meningkatkan "efek kehadiran" pengembang ketika mereka melihat ke dalam database.00:40Setelah pendaftaran berhasil, kami akan diarahkan ke halaman profil Perusahaan .Buka item menu "Muat Dokumen" (sangat mudah, bukan: D) dan coba muat file php .
Pertama saya mengunduh adminer.php , karena sudah dekat. File itu berhasil diunggah dan para pengembang dengan hati-hati menyiapkan untuk saya pengalihan ke halaman dengan tautan ke file.
Dibuka oleh tautan: /upload/certified/15861775921.php
dan berfungsi dengan baik.Itulah awal dari akhir!1:00Selanjutnya, muat php-web-shell paling sederhana melalui formulir yang sama.Pertama, Anda perlu memahami siapa kita dan di mana kita berada:pwd && whoami
Mari kita lihat daftar file direktori situs:ls /var/www/admin/data/www/_/
Kami melihat struktur standar kerangka Yii2 , yang kami harapkan di sana.Kami mendapatkan akses ke database, yang dapat dimasukkan ke adminer.php yang sebelumnya dimuat :cat /var/www/admin/data/www/_/config/db.php
Bahkan, saya terkejut bahwa kerentanan seperti itu masih ada. Dan bahkan lebih lagi karena mereka dapat ditemukan dengan mudah dan cepat.Omong-omong, ini adalah proyek dari satu perusahaan dari UEA, yang bergerak dalam penyediaan pengeboran dan produk industri untuk industri minyak, gas, dan pengeboran.Saya ditambahkan ke daftar hitam di whatsapp setelah pesan terakhir dan saya tidak bisa berbicara tentang kerentanan, jadi saya meninggalkan telur Paskah di server untuk pengembang.Jangan lupa untuk melakukan pengecekan tipe file di sisi server, dan umumnya lebih memperhatikan keamanan kode Anda!