Fakta:
- ada situs web
- situs web ini dapat diakses melalui www.example.org
- ada contoh EC2 yang sangat mungkin menyimpan situs web
- servernya adalah Apache
- OS server adalah Ubuntu
- Saya memiliki akses penuh ke server (dan hak sudo)
- server berantakan besar
Masalahnya adalah saya tidak tahu di mana - cukup cantumkan - cari index.html / index.php yang akan dimuat.
Bagaimana cara mencari tahu di mana menemukan kode PHP dan HTML situs web? Apakah ada pendekatan sistematis untuk masalah ini?
apache-2.2
ubuntu
php
Raffael
sumber
sumber
find / -name nameofsomefileonthewebsite.html
?Jawaban:
Pertama-tama Anda harus memeriksa situs web apa saja yang dihosting di server
Kemudian ketika Anda akan menemukan situs memeriksa file konfigurasi yang sesuai untuk opsi DocumentRoot. Sebagai contoh
Anda ingin tahu di mana berada situs web example.net
Anda juga harus memperhatikan arahan alias apa pun. Misalnya dengan pengaturan berikut
Ketika Anda akan mengakses http://example.net/some.file.html - apache akan melihat file di / vhosts / default / public_html /, pada saat yang sama dengan http://example.net/api/some.file .html file tersebut akan dilihat di / vhosts / default / public_api /.
Bagaimana dengan penulisan ulang / pengalihan, terutama yang terprogram (ketika pengalihan dipicu oleh beberapa kode php), saya pikir tidak ada cara mudah untuk menemukan kasus seperti itu.
sumber
Coba gunakan find
Kalau tidak dengan asumsi Apache telah diinstal dari repositori Ubuntu, lihat
/etc/apache2/sites-available
, yaituJika situs web memiliki apache VHOST yang ditentukan, yang mungkin menemukan file konfigurasi, maka cari di file itu karena
"documentroot"
ini akan memberi tahu Anda lokasi kode sumbersumber
-type f
hanya berlaku-iname "*index.html*"
pada perintah Anda. Seharusnya-type f \( -iname "*index.html*" -o -name "*index.php*" \)
Metode lain, yang dapat berguna untuk men-debug situs web (atau proses apa pun dalam hal ini) adalah menggunakan
lsof
(yang mungkin tidak ada di jalur, biasanya ditemukan di/sbin/lsof
)lsof -s [PID]
akan mencantumkan semua file yang telah ditangani prosesnya, dan dapat bermanfaat untuk melihat apa yang sedang digunakan (ini termasuk file html / php, serta file log dan pustaka yang dibutuhkan situs)sumber
Cari file sumber halaman
Salah satu pendekatan adalah menelusuri situs untuk menemukan halaman yang lebih unik - katakanlah newcontactform.php - idealnya yang tidak mungkin muncul di situs lain yang dihosting oleh server yang sama.
Anda kemudian dapat mencoba
jika gagal, ikuti
ini harus menghasilkan daftar kandidat yang dikelola secara kecil.
Anda kemudian dapat memeriksa file, melakukan diff dan jika perlu coba perubahan kecil (misalnya memasukkan komentar HTML) untuk memverifikasi bahwa file tersebut memang menghasilkan halaman.
Temukan konfigurasi
Terkadang file config terlihat jelas di output
ps
perintah. Kasus terburuk adalahps -ef | grep -e 'apache|httpd'
tetapi penggunaanps
opsi yang lebih kreatif mungkin perlu ditelusuri.Anda dapat mencari
httpd.conf
di lokasi khas untuk Ubuntu dan untuk proyek Apache httpd (yang mungkin berbeda) atau cukup gunakanlocate
danfind
seperti di atas.Terkadang file konfigurasi utama merujuk ke file konfigurasi lain untuk vhosts. Anda dapat mengatasi ini dengan mengidentifikasi file konfigurasi utama.
Kasus kronis
Terkadang, server lama menjalankan berbagai daemon server web. Dalam hal ini, perlu beberapa saat untuk menemukan semuanya dan mencari tahu di mana file konfigurasi mereka. Kombinasi teknik di atas pada akhirnya harus berhasil.
Anda dapat menemukan program apa yang sedang didengarkan di port 80 dll
netstat -lntp
. Seringkali, menemukan binari adalah pointer yang berguna ke pohon direktori yang berisi file konfigurasi.sumber
Anda dapat memeriksa Vhost untuk domain yang Anda cari di file konfigurasi (apache) server web - httpd.conf (kemungkinan besar terletak di / etc /) Cukup buka file dan gulir melalui itu sampai Anda menemukan petunjuk VirtulaHost untuk domain Anda dan di sana Anda akan melihat arahan DocumentRoot - yang merupakan direktori root dokumen situs web Anda, tempat di mana Anda akan menemukan file aplikasi.
sumber
Silakan pergi ke
cd / etc / apache2 / situs-tersedia /
Di sini Anda akan menemukan file konfigurasi Anda (mis .: 000-default.conf)
Silakan buka file ini / buka file konfigurasi Anda menggunakan
vi 000-default.conf
Di sana Anda akan menemukan DocumentRoot. Itu adalah kode situs web Anda
Ini adalah file conf Default juga Anda akan beberapa detail conf silakan periksa juga.
sumber