Heim > Fragen und Antworten > Hauptteil
Ich bin nicht der stärkste JS-Benutzer, aber ich brauche es und habe Code für meine Webseite geschrieben, der auf Apache und PHP funktioniert. In meiner Ajax-Anfrage habe ich den folgenden Code:
if (dataX['var1'] == '1.1' || dataX['var1'] == '2.1') { window.location.href = '<domain>' }
Wenn ich XSStrike verwende, um mein System auf potenzielle Schwachstellen zu prüfen, erhalte ich Meldungen, die möglicherweise injizierbar sind.
Kann mir jemand helfen, das Problem zu beheben? Benötige ich ein Einfrieren oder ähnliches, um das Problem zu beheben? Entschuldigung, ich weiß nicht, wie ein Angreifer das ausnutzen kann. Vielen Dank für jede hilfreiche Hilfe. viel Glück.
Was habe ich versucht? Ich habe versucht, auf diesem Kanal zu fragen? !
P粉7390793182023-09-21 11:34:55
如果<domain>
可以包含任意不受检查的字符串,那么如果攻击者之前成功保存了他们想要的任意字符串作为“domain”,他们将获得访问您页面范围的权限。在这种情况下,他们可以做的事情除了重定向到他们的服务器外,还是非常可疑的,因为由于页面更改,<domain>
中的代码不会被执行。
我不确定一个位置
window.location.href = '';executeSomethingNasty()或者只改变哈希的变化
window.location.href = window.location.href+'#stayonthepage';executeSomethingNasty()