去年我在中国的一个网站上工作。该网站一直运行良好,但我刚刚收到中国网络安全局的电子邮件。
他们给我发了一个附件和几个 URL。其中之一是
http://mydomain.com/servlets/pdf?var=xss<audio src=pksovf onerror=pksovf(qrx)>
他们说上面的网址有风险。我检查了 url,它一直抛出 500 错误,因为 url 格式不正确。
如果页面抛出 500 错误,还有风险吗?我不这么认为,但我只是想确认一下。
去年我在中国的一个网站上工作。该网站一直运行良好,但我刚刚收到中国网络安全局的电子邮件。
他们给我发了一个附件和几个 URL。其中之一是
http://mydomain.com/servlets/pdf?var=xss<audio src=pksovf onerror=pksovf(qrx)>
他们说上面的网址有风险。我检查了 url,它一直抛出 500 错误,因为 url 格式不正确。
如果页面抛出 500 错误,还有风险吗?我不这么认为,但我只是想确认一下。
500 大致类似于桌面软件的崩溃。崩溃被认为是安全风险,因为它们可以被恶意输入利用,Web 服务器也是如此。
500 的意思是“我们没有预料到的事情发生了,我们没能处理好”。这意味着那里有些东西可以被利用 - 不能保证这一点,就像不能保证可以利用桌面软件中的崩溃一样,但是将这两种情况都视为潜在的安全漏洞是正确的。
可能是的。这取决于错误发生的位置。
如果您的后端在崩溃之前确实将此字符串插入了数据库中的某个位置,那么稍后可能会查询该字符串以在您的一个视图中呈现此字符串,这可能会非常危险,因为攻击者可能会在网页中插入任意 HTML 或 Javascript例如,将用户重定向到有害网站。
Also, this could easily result in an SQL injection
if a database was queried with this string at some point, given that it was not filtered.
To summarize, it depends on what your did with this string and where did your code crash.
Anyway, you should not have this kind of issues and should always check the validity of a user input. Getting a 500
HTTP return code is exceptional and means that something went wrong on the server side. You got to fix this anyway.