Apa yang bisa dilakukan seorang hacker dengan wp-config.php saya

11

Saya mencoba mengamankan blog wordpress saya. Saya membaca beberapa posting di web yang harus saya ubah table_prefixdan sembunyikan wp-config.php. Namun, saya tidak mengerti? Apa yang bisa dilakukan penyerang dengan saya wp-config.php?

Maksud saya ada konfigurasi db saya, tetapi penyerang membutuhkan saya DB_HOSTmisalnya, yang tidak mudah didapat, untuk terhubung ke db saya? (Dalam kasus saya ini:, define('DB_HOST', 'localhost');yang mana penyerang tidak dapat menggunakan untuk menghubungkan ke db saya )

Atau apakah saya kehilangan sth?

Saya sangat menghargai balasan Anda!

Kare
sumber
Saya kira, akan mudah baginya untuk menyuntikkan SQL. Berkilau bintangnya. Menunggu para ahli untuk menjawab ini.
Robert hue
Anda juga dapat mempostingnya di Programming Puzzles & Code Golf beta dan melihat apa yang muncul dari orang-orang. :)
Joshua Taylor
1
@JoshuaTaylor Harap tidak. Selain masalah etika yang jelas, bukan itu tujuan situs kami: Kami hanya menyukai pertanyaan yang dapat memiliki kriteria kemenangan yang obyektif untuk memutuskan solusi mana yang menang, bukan hanya "Hei, mari kita semua menulis kode dan bersenang-senang! Yaaa!"
Gagang pintu
@ Doorknob Yah, jelas itu akan menjadi kontes popularitas. Tetapi dengan sungguh-sungguh, saya berharap bahwa ":)" akan menyampaikan bahwa saya tidak serius. Jika ada yang mencoba memposting file wp-config mereka sebagai akibatnya, tolong terima permintaan maaf saya.
Joshua Taylor

Jawaban:

9

localhostmengacu pada mesin yang sedang dihidupkan. Sebagai contoh di situs saya sendiri tomjn.com localhost adalah 127.0.0.1seperti biasa. Ini tidak berarti hacker tidak tahu di mana untuk menghubungkan, itu berarti menggantikan hacker localhostdengan tomjn.com.

Tentu saja jika saya memiliki proxy yang duduk di depan ini tidak akan berfungsi, tetapi perlu diingat bahwa jika penyerang memiliki akses ke saya wp-config.php, akses yang sama akan membiarkan mereka melakukan hal-hal lain pada mesin itu.

Jadi sekarang penyerang memiliki detail basis data Anda, dan mereka dapat membaca wp-config.php. Mereka sekarang memiliki akses ke semua yang ada di basis data Anda, dan dapat mengubah apa pun di basis data Anda.

Bergantung pada keamanan pemasangan Anda, mereka dapat membuat pengguna sendiri, masuk, mengunggah plugin melalui zip dengan skrip PHP Shell, dan mulai mengeluarkan perintah atau menggunakan situs sebagai bagian dari bot net.

Mereka juga memiliki garam dan kunci rahasia Anda (jika Anda tidak memilikinya, buruk buruk buruk), jadi dengan kasar memaksa kata sandi pengguna Anda menjadi jauh lebih mudah. Mereka juga memiliki akses ke email mereka.

Cukup untuk mengatakan mendapatkan wp-config.phpadalah salah satu hal terburuk yang bisa terjadi. Banyak hal dapat dilakukan dengan itu tetapi akan butuh berbulan-bulan untuk mengetik setiap kemungkinan serangan yang dihasilkan dari ini.

Jika wp-config.phpdiperoleh, kemungkinan script serangan otomatis melakukannya, bukan orang yang sebenarnya. Ubah semua detail Anda, setel ulang semua kata sandi, dan tutup lubangnya.

Tom J Nowell
sumber
2
Ini tidak berarti hacker tidak tahu di mana untuk menghubungkan, itu berarti menggantikan hacker localhostdengan tomjn.com. > Itu dengan asumsi Anda memiliki port ke database yang dapat diakses oleh dunia luar. Bukankah Anda akan aman jika Anda menutup port dalam aturan firewall, hanya mengizinkan komputer di jaringan lokal (termasuk komputer yang menjalankan wordpress itu sendiri) untuk terhubung ke database?
IQAndreas
1
Masih akan menjadi lokasi yang benar, tetapi ya port-portnya relevan, saya terutama membidik catatan asli dalam pertanyaan
Tom J Nowell
2

Jika Anda hanya menerima akses ke database dari localhost(ini tidak tercapai dengan mendefinisikan DB_HOSTsebagai localhost)? Tidak terlalu banyak dengan sendirinya (kasus terburuk adalah penyerang mengambil alih akun admin), tetapi dalam kombinasi dengan kerentanan lain mungkin akan berguna bagi penyerang untuk memiliki akses ke konfigurasi Anda.

Kredensial Masuk

Orang-orang menggunakan kembali nama pengguna dan kata sandi mereka. Seorang penyerang akan memeriksa apakah nama pengguna dan kata sandi database Anda (atau variasi mereka) berfungsi untuk instalasi wordpress Anda, untuk hoster Anda, untuk email Anda, dll.

Paling tidak seorang penyerang mendapat ide tentang jenis kata sandi yang Anda gunakan (benar-benar acak, hanya huruf kecil / angka, panjang, dll).

Awalan Tabel

Jika ada injeksi SQL, penyerang harus tahu nama tabelnya. Tergantung pada database, ini mungkin sangat mudah, atau mungkin melibatkan menebak. Jika itu melibatkan menebak, yang terbaik adalah memiliki awalan tabel.

Kunci dan Garam

Saya menemukan artikel ini menunjukkan bahwa Anda benar-benar tidak ingin ini bocor (pada dasarnya, siapa pun dapat mengambil alih akun admin Anda), walaupun saya tidak tahu seberapa mutakhirnya.

Database Charset

Beberapa suntikan SQL bergantung pada rangkaian karakter, jadi sebaiknya penyerang mengetahui hal ini.

Ringkasan

Jika Anda tidak mengizinkan akses luar ke database, jika Anda tidak menggunakan kembali kata sandi, dan jika Anda tidak memiliki suntikan SQL di mana pun, kekhawatiran utama akan menjadi kunci dan garam.

tim
sumber
Artikel itu cukup mutakhir. Anda tidak ingin garam dan kunci Anda bocor. Itu adalah informasi pribadi. Jika Anda bahkan curiga mereka telah tersedia, maka segera ubah ke beberapa set data acak lainnya. Tidak ada kerugian nyata untuk mengubahnya, itu hanya akan mengeluarkan Anda dari situs web dan Anda harus masuk kembali. Anda dapat memperoleh serangkaian kunci dan garam acak baru dari sini: api.wordpress.org/secret-key/1.1/salt
Otto
1

Saya berasumsi Anda bertanya tentang akses baca, karena akses tulis pada dasarnya adalah akses untuk menyuntikkan kode sendiri untuk melakukan apa pun yang ia suka dengan situs Anda.

Asumsi Anda bahwa info DB tidak sensitif adalah salah. Mari kita asumsikan situs Anda di-hosting di godaddy. AFAIK godaddy menggunakan server mysql khusus yang mungkin hanya dapat diakses dari server mereka sendiri, tetapi jika saya tahu detail Anda seberapa sulit bagi saya untuk membuat akun godaddy dan menulis skrip yang mengakses DB Anda? Dalam hal DB lokal lebih sulit untuk dieksploitasi tetapi pada server hosting bersama Anda mungkin memiliki 100 situs berbagi server dengan Anda, dapatkah Anda mempercayai mereka cukup aman sehingga Mr Evil tidak dapat membobolnya dan menggunakannya untuk menyerang situs Anda?

Mark Kaplun
sumber