Situs saya tampaknya dibajak ... tetapi hanya ketika dikunjungi dari situs lain ... bagaimana?

16

Situs web saya adalah altoonadesign.com jika Anda mengetiknya langsung di peramban, Anda akan dibawa ke situs yang benar. Namun jika Anda melakukan pencarian untuk "desain altoona" dan mengklik tautan ke situs saya, Anda akan diarahkan ke situs jahat.

Saya mencoba ini di google pada chrome dan di IE. pada komputer yang berbeda selalu dengan hasil yang sama. mengetikkan url langsung membawa Anda ke situs saya yang sebenarnya, mengklik tautan di hasil pencarian mengarahkan Anda ke situs jahat.

Saya tidak yakin bagaimana ini terjadi, bagaimana cara membatalkannya, atau bagaimana mencegahnya di masa depan?

memperbarui

mengklik tautan dari sini akan membawa Anda ke situs jahat juga, jadi sepertinya mengklik tautan adalah apa fungsinya, tetapi mengetiknya secara langsung tidak mengarahkan Anda ... bagaimana itu?

JD Isaacks
sumber

Jawaban:

13

Saat melihat sumber halaman Anda, ada beberapa kode di bagian bawah yang tidak terlihat seperti yang Anda taruh di sana:

<div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/passware-myob-key-crack.html'>Passware MYOB Key crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/newstarsoccer-crack.html'>NewStarSoccer crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/pcsentinels-busted-crack.html'>PCSentinels Busted crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/3dmark2001-crack.html'>3DMark2001 crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/acdsee50powerpack-crack.html'>ACDSee50PowerPack crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://keygen-0day.ws/database/My%20TypeArtist%201.000B/'>My TypeArtist 1.000B</a></div></body> 
<!-- InstanceEnd --></html> 
<script>check_content()</script>check_content()</script>

Saat menggunakan fiddler, dan mengakses situs Anda melalui google, saya dapat melihat bahwa itu masuk ke domain Anda ke-1, dan kemudian dialihkan sebelum seluruh halaman dimuat.

Periksa kode php Anda, mereka mungkin memasukkan beberapa kode redirect di halaman Anda.

Ed B
sumber
20

Saya sebenarnya tidak mengikuti tautan Anda (tidak ada keinginan untuk memenuhi eksploitasi nol hari), tetapi yang sering terjadi ketika server diretas adalah kode itu dimasukkan ke file PHP apa pun untuk memeriksa tajuk pengarah dan mengarahkan ulang jika kunjungan berasal dari mesin pencari atau dari mana saja bukan dari situs saat ini.

Hal ini dilakukan untuk mencegah pemilik situs dari meretas peretasan, karena Anda biasanya akan mengunjungi situs tersebut secara langsung daripada menemukannya melalui mesin pencari.

Andrew Aylett
sumber
4
+1 untuk menjelaskan "mengapa". Cukup pintar.
BalusC
Terima kasih, dapat merekomendasikan cara saya melacak dan memperbaikinya. haruskah saya mulai memeriksa semua file di situs saya? Terima kasih!
JD Isaacks
Jika Anda memiliki cadangan (atau kontrol sumber) terbaru, gunakan itu :). Jika tidak, mulailah mencari file yang baru-baru ini dimodifikasi, file yang dimodifikasi oleh pengguna server web atau file yang mengandung "pengarah". Kemungkinan kode setidaknya akan dikaburkan sedikit, jadi pencarian mungkin tidak berfungsi. Selanjutnya, cari titik masuk - Anda tidak ingin membiarkannya terbuka :). Saya berasumsi Anda menggunakan PHP, dan kemungkinan besar menyertakan yang tidak dicentang.
Andrew Aylett
4

Pertama dan terutama ini adalah pertanyaan pemrograman , saya sama sekali tidak tahu apa yang dilakukan di Serverfault.

Ada kerentanan dalam aplikasi web php Anda dan Anda perlu menemukannya dan menambalnya. Pertama-tama saya akan pergi dan memastikan bahwa semua perpustakaan PHP Anda mutakhir. Kerentanan dalam phpmailer atau smarty dapat membuat peretas masuk ke situs Anda.

Selanjutnya saya akan memindai situs Anda dengan sesuatu seperti Acunetix ($) atau NTOSpider ($$$). Alternatif open source yang bagus adalah wapiti dan w3af . Pemindai ini dapat menemukan kerentanan seperti penyalahgunaan eval()yang dapat menyebabkan jenis serangan ini.

Selanjutnya Anda harus mengunci php menggunakan phpsecinfo , pastikan display_errors=off. Jika Anda memiliki backend MySQL, pastikan untuk menonaktifkan file_priv(hak istimewa file) untuk akun MySQL yang digunakan oleh PHP.

Berikut adalah beberapa sumber yang bagus untuk menulis kode PHP aman:

http://phpsec.org/library/

http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

Juga hindari FTP seperti wabah, ada banyak worm yang menyebar sekarang dengan mengendus mesin lokal Anda untuk login FTP dan kemudian menginfeksi situs Anda. Pastikan juga Anda menjalankan anti-virus di semua mesin dengan akses ke server, meskipun hanya yang gratis seperti AVG.

Benteng
sumber
Rook, Cacat awal hampir pasti masalah pemrograman. Tetapi jika server telah diatur dan keamanan telah dikeraskan dengan benar, kesalahan perangkat lunak mungkin tidak dapat dieksploitasi. Saya juga ingin tahu bagaimana Anda bisa 100% yakin cacat ada dalam perangkat lunak yang dikembangkannya dan tidak dalam konfigurasi OS atau sesuatu alat lain. Jika cadangan di mana berjalan dengan benar maka 'memperbaiki' masalah dapat dengan mudah diselesaikan dengan pemulihan cepat.
Zoredache
@Zoredache hak Anda bahwa masalah itu bisa berupa masalah dengan konfigurasi atau kerentanan di layanan lain. Namun banyak eksploitasi bekerja terlepas dari konfigurasi atau pengaturan keamanan, seperti injeksi sql. Bahkan dengan AppArmor dan SELinux, sistem masih dapat dieksploitasi dengan mudah.
Benteng