Dosyaların Gizli Yüzü (Bir Dosyayı Başka Bir Dosya Uzantısıymış Gibi Göstermek)

12 Eyl 2023
79
30
Bir medyada paylaşım yapıcaksınız ve bir uyarı geldi "sadece fotoğraf yükleyebilirsiniz." Peki bu fotoğrafın içine shell veya payload gömsek nasıl olur?

İnstagrama bir fotoğraf ve bir php uzantılı dosya atın fotoğraf yüklenirken php yüklenmicek çünkü sadece fotoğraf kabul ediyor, yani bizi kısıtlıyor.

Peki bu kısıtlamadan kurtulmak için neler yapabiliriz? Aşağıda.


Bu uygulanan kısıtlama 2 türlü olabilir istemci taraflı veya sunucu taraflı olabilir. Eğer istemci taraflıysa Burp Suite ile kontrolleri aşabiliriz, sunucu taraflıysa iş biraz daha uzar.

**İstemci Taraflı**
İstemci taraflı kısıtlamaları kontrol etmemizin kolay olmasının sebebi bizim sistemimizde çalışmasıdır. Varsayalımki bir sosyal medya sitesine 2 gönderi atıcaksınız bu gönderilerin biri .png uzantılı diğeri ise .php uzantılı. .png olan uzantımız onay alıcaktır çünkü .png uzantısına izin veriliyor .php ise onaylanmıcaktır.
Bu sosyal medya sitesinin kaynak kodunu incelediğimizde ise ilk bakacağımız şeyler kullanılan scriptlerdir, işte bizim .php uzantısını yükleyememe sebebimiz buradaki scriptlerden biridir. Bu scripti devre dışı bırakmak için Burp Suite uygulamamızı açıyoruz ve siteye yeniden istek atıyoruz önümüze çıkan script isteğini düşürdükten sonra .php uzantılı dosyayı yükleyebilirsiniz.

**Sunucu Taraflı**
Sunucu taraflı kısıtlamarda da aynı örnek üzerinden devam edelim 2 gönderi atıcaz biri .png diğeri .php.
.png dosyamızı kabul etti fakat .php dosyamız yine kabul edilmedi bunun için başvuracağımız ilk yöntem .php uzantısını .php3 .php4 .php5 gibi php'nin eski sürümlerine çevirip yüklemektir. Bunun kabul olması genelde sunucu sahibinin .php'yi yasaklarken bu sürümleri unutmasıdır.

Sunucu taraflı kısıtlamaları atlatmanın bir başka yolu daha var gelin o yolada bi göz atalım.

Bu yolda kabul edilebilen bir dosyanın magic numberlarıyla oynucaz.
Tekrardan aynı örnekle devam edelim fakat bu sefer sadece .png dosyası yükleniyor. .php dosyasını yüklemek için değerlerle oynucaz dediğim gibi başlıyalım:
`hexeditor shel.php -b`
Bu komut bize shel.php dosyamızın hex değerlerini göstericektir.
Arama motoruna `png magic number` yazıyoruz ve oradaki değeri kopyalıyoruz.
Daha sonra terminale gelip 6 kere ctrl+a tuşuna basıcağız, bu tuşlara her bastığınızda 00 eklicek yani 1 bit ekliyor. 6 bit ekledikden sonra .png dosyamızın magic numarasını eklediğimiz yere yazıyoruz ve ctrl+x diyip çıkıyoruz.
Artık bilgisayarlar bu dosyayı bir .png dosyası olarak görücektir bunu `file dosyadi` diyerek görebiliriz.
 

V3YS0Z

Deneyimli Moderatör
3 Şub 2015
2,498
661
Türkiye Cumhuriyeti
Bir medyada paylaşım yapıcaksınız ve bir uyarı geldi "sadece fotoğraf yükleyebilirsiniz." Peki bu fotoğrafın içine shell veya payload gömsek nasıl olur?

İnstagrama bir fotoğraf ve bir php uzantılı dosya atın fotoğraf yüklenirken php yüklenmicek çünkü sadece fotoğraf kabul ediyor, yani bizi kısıtlıyor.

Peki bu kısıtlamadan kurtulmak için neler yapabiliriz? Aşağıda.


Bu uygulanan kısıtlama 2 türlü olabilir istemci taraflı veya sunucu taraflı olabilir. Eğer istemci taraflıysa Burp Suite ile kontrolleri aşabiliriz, sunucu taraflıysa iş biraz daha uzar.

**İstemci Taraflı**
İstemci taraflı kısıtlamaları kontrol etmemizin kolay olmasının sebebi bizim sistemimizde çalışmasıdır. Varsayalımki bir sosyal medya sitesine 2 gönderi atıcaksınız bu gönderilerin biri .png uzantılı diğeri ise .php uzantılı. .png olan uzantımız onay alıcaktır çünkü .png uzantısına izin veriliyor .php ise onaylanmıcaktır.
Bu sosyal medya sitesinin kaynak kodunu incelediğimizde ise ilk bakacağımız şeyler kullanılan scriptlerdir, işte bizim .php uzantısını yükleyememe sebebimiz buradaki scriptlerden biridir. Bu scripti devre dışı bırakmak için Burp Suite uygulamamızı açıyoruz ve siteye yeniden istek atıyoruz önümüze çıkan script isteğini düşürdükten sonra .php uzantılı dosyayı yükleyebilirsiniz.

**Sunucu Taraflı**
Sunucu taraflı kısıtlamarda da aynı örnek üzerinden devam edelim 2 gönderi atıcaz biri .png diğeri .php.
.png dosyamızı kabul etti fakat .php dosyamız yine kabul edilmedi bunun için başvuracağımız ilk yöntem .php uzantısını .php3 .php4 .php5 gibi php'nin eski sürümlerine çevirip yüklemektir. Bunun kabul olması genelde sunucu sahibinin .php'yi yasaklarken bu sürümleri unutmasıdır.

Sunucu taraflı kısıtlamaları atlatmanın bir başka yolu daha var gelin o yolada bi göz atalım.

Bu yolda kabul edilebilen bir dosyanın magic numberlarıyla oynucaz.
Tekrardan aynı örnekle devam edelim fakat bu sefer sadece .png dosyası yükleniyor. .php dosyasını yüklemek için değerlerle oynucaz dediğim gibi başlıyalım:
`hexeditor shel.php -b`
Bu komut bize shel.php dosyamızın hex değerlerini göstericektir.
Arama motoruna `png magic number` yazıyoruz ve oradaki değeri kopyalıyoruz.
Daha sonra terminale gelip 6 kere ctrl+a tuşuna basıcağız, bu tuşlara her bastığınızda 00 eklicek yani 1 bit ekliyor. 6 bit ekledikden sonra .png dosyamızın magic numarasını eklediğimiz yere yazıyoruz ve ctrl+x diyip çıkıyoruz.
Artık bilgisayarlar bu dosyayı bir .png dosyası olarak görücektir bunu `file dosyadi` diyerek görebiliriz.
Eline sağlık hocam...
 
Ü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.