Heim  >  Fragen und Antworten  >  Hauptteil

So beheben Sie den Checkmarx-Fehler „…nicht vertrauenswürdige Daten wurden direkt in die Ausgabe eingebettet…“

In einer Front-End-Anwendung mit jQuery habe ich einen stark vereinfachten Code wie diesen (einschließlich Zeilennummern):

...
129: var buttonId = $('some-element').closest('...').siblings('...').attr('id');
130: $('#' + buttonId).focus();
...

In Checkmarx erhalte ich diesen Fehler:

Die {method_name} der Anwendung verwendet $ in {file_name} Zeile 130, um nicht vertrauenswürdige Daten in die generierte Ausgabe einzubetten. Diese nicht vertrauenswürdigen Daten werden ohne ordnungsgemäße Bereinigung oder Verschlüsselung direkt in die Ausgabe eingebettet, sodass Angreifer bösartigen Code in die Ausgabe einschleusen können.

Also – was soll ich hier tun? ... da das ID-Attribut nur eine ID ist, wissen Sie ... also weiß ich nicht, welche Bereinigung oder Codierung daran durchgeführt werden soll.

P粉330232096P粉330232096241 Tage vor304

Antworte allen(1)Ich werde antworten

  • P粉258083432

    P粉2580834322024-02-22 09:19:53

    我刚刚遇到了类似的问题。

    尝试替换:

    $('#' + buttonId).focus();
    

    与:

    jQuery('#' + buttonId).focus();
    

    不知何故,对于这种情况,扫描仪不知道变量 $jQuery 变量相同。

    尝试一下;o)

    Antwort
    0
  • StornierenAntwort