2016-05-03 27 views
1

Ich sende Daten an die Client-Seite im JSON-Format mit Rawurlencode-Methode. Es zeigt Cross Site Scripting schlechte Validierung in Rawurlencode-Methode in HPfortify.Wie dieses Problem zu beseitigen. Jeder Rat wird sehr geschätzt.HP Fortify Problem - Cross-Site-Scripting zeigen schlechte Validierung in PHP

mein Code -

$json_encoded = rawurlencode($json); 
$json_encoded = (preg_match("/[%\da-zA-Z-_]+/",htmlspecialchars($json_encoded,ENT_QUOTES, 'UTF-8')) ? $json_encoded : 0); 
echo $json_encoded; 

ich Fehler bei echo $ json_encoded (XSS schlechte Validierung) erhalten.

+0

Ich habe ** htmlspecailchars() ** und ** regulären Ausdruck ** für mehr Validierung verwendet, aber die Angriffs-Sache ist immer noch da. – maheshkumawat23

Antwort

0

es wird immer dieses Problem melden, wenn Sie eine Nicht-Standard-Validierungsfunktion verwenden, Sie benutzerdefinierten Regelsatz (Data Flow) für diese Funktion zu schreiben, aus zukünftigem Scan-Bericht entfernen und gute Sache ist, wird es entfernen Alle Probleme mit dieser Funktion rufen auf.

URLencodierung ist nicht die richtige Lösung von XSS-Problemen, so wie es richtig hervorhebt. (obwohl Sie dies in JSON-Antwort senden, so dass XSS Exploit ist eigentlich nicht möglich)

Ich bin nicht sicher, was htmlspecialchars Funktion tut, bitte beziehen Sie sich auf OWASP cheat sheet, um sicherzustellen, dass Sie richtigen Weg der Validierung verwenden.

+0

Der benutzerdefinierte Regelsatz, über den Sie sprechen .. Muss ich ihn für die HP fortify oder einfache Funktion schreiben, die meine Daten validiert. – maheshkumawat23

+0

Sie müssen es für Fortify schreiben, lesen Sie bitte die Dokumentation von HP fortify über das Schreiben von benutzerdefinierten Regelwerken und die Verwendung benutzerdefinierter Regelwerke beim Scannen. – SecurityNinja