- 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.
İ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.