Administrator
Administrator
  • Mesaje: 4965
    Membru din: 07 Aug 2024, 18:53
  • Reacții: 125352
  • Mesaje utile: 47
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • *Descriere:

    Metin2 Mailbox SQL Injection Fix - MAILBOX_BACKUP

    Acest fix rezolva o vulnerabilitate SQL Injection din sistemul Mail box, in functia MAILBOX_BACKUP. Problema apare deoarece titlul, mesajul si numele expeditorului sunt introduse direct in query-ul SQL fara EscapeString.

    - protejeaza query-ul de caractere SQL speciale;
    - securizeaza campurile title, message si sender;
    - previne erori SQL la mesaje care contin apostrof;
    - reduce riscul executarii unor query-uri neasteptate.


    *Link download / Code:

    Deschide db/src/ClientManager.cpp si cauta functia:

    Cod: Selectaţi tot

    void CClientManager::MAILBOX_BACKUP()

    In aceasta functie cauta query-ul INSERT INTO mailbox construit cu snprintf.


    Inainte de construirea query-ului trebuie securizate cu EscapeString urmatoarele valori:

    Cod: Selectaţi tot

    title
    message
    who

    Nu trimite aceste valori direct in query folosind %s fara escaping.


    Pentru implementare, foloseste acelasi mod de lucru cu EscapeString care exista deja in:

    Cod: Selectaţi tot

    log.cpp

    Dupa escaping, in query-ul INSERT INTO mailbox trebuie folosite valorile escape-uite in locul string-urilor originale.


    Problema poate fi verificata simplu trimitand un mail care contine caracterul:
    Fara fix, acest caracter poate strica query-ul generat de MAILBOX_BACKUP si poate produce erori SQL.


    Nota: Materialul original nu contine snippet-ul complet pentru implementarea cu EscapeString, ci doar indica faptul ca trebuie aplicata aceeasi metoda folosita deja in log.cpp. De aceea, codul exact trebuie adaptat la implementarea CDBManager si structura Mailbox din sursa ta.

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    See full signature

    Înapoi la “FIX-uri”

    Informații

    Utilizatori ce navighează pe acest forum: Smoke și 2 vizitatori

    Discord ID copiat: