在我的网站上运行Acunetix显示了下面的严重漏洞
URL编码的GET input username被设置为“onmouseover=prompt(994492) bad=”输入反映在双引号之间的标记元素中。
我试着弄清楚这能做些什么。我是编程新手,正在寻找一些技巧。可以输入什么作为被视为恶意的用户名?输入的代码不是只在客户端PC上运行,而不是在服务器上运行吗?
例如?解决方案?对不起,我只是包含了我认为是引用的内容。如果我的网站有被利用的危险,链接到我的网站不是很糟糕吗?
<form name="loginForm" action="LoginName.asp" method="post">
<fieldset>
<label for="username">User</label>
<input type="text" name="username" value=""/>
<label for="password">Password</label>
<input type="password" name="password"/>
</fieldset>
<input type="hidden" name="originalURL" value="">
<input type="submit" value="Login" class="form-btn" />
</form>它似乎不喜欢用户名或OriginalURL,并表示“恶意用户可能会将JavaScript、VBScript、ActiveX、超文本标记语言或闪存注入易受攻击的应用程序,以欺骗用户,以便从他们那里收集数据。攻击者可以窃取会话cookie并接管帐户,冒充用户。也有可能修改呈现给用户的页面内容。”
发布于 2012-01-12 02:13:08
您没有引用标记,但我猜您的“用户名”输入有一个格式不正确的input标记。例如,它可能缺少value属性上的结束",您看到的带引号的文本就是后面的文本。
输入的任何代码不会只在客户端PC上运行,而不在服务器上运行吗?
这完全取决于你如何处理它。如果您将它传递给解释它的其他东西(例如,解释SQL的数据库),那么您将以这种方式受到攻击。这种特殊类型的攻击称为SQL注入攻击(article | cartoon)。
发布于 2012-01-12 02:13:16
任何可以替换SQL代码的东西(搜索SQL注入)。可能会作为输出HTML写入屏幕的内容。您可以通过转义输入数据来控制这两种情况。
发布于 2012-01-12 02:14:13
在跨视距脚本、javascript注入和sql注入中查找对您的系统的一些利用。
在转发到服务器之前,应验证所有用户输入并将其视为不受信任的数据。
https://stackoverflow.com/questions/8824418
复制相似问题