0

我使用ASP.NETand创建了一个网站SQL Server。现在我正在测试网站的漏洞。当我针对各种输入测试网络时,它拒绝了无效输入。然而,一些输入,例如:admin' or 1=1--当输入网站时,网站会一直加载,然后超时。这是否表明存在SQL Injection漏洞?

PS:我在使用参数化查询而不是连接字符串方面做了功课,我也知道用于自动化的各种工具,SQL Injection例如SQL Map.

4

2 回答 2

1

1=1--可能会导致选择数据库中的所有用户,如果你有这么多的用户,可能会导致挂起。否则会发生其他事情。

总的来说,我认为您应该使用 Sqlmap 等自动化 SQL 注入工具检查您的网站是否存在 SQL 注入。它是开源的并用 Python 编码。您还可以使用 Acunetix 扫描整个网站以查找所有类型的安全漏洞。

于 2013-01-08T01:31:11.987 回答
0

既然您说这是您创建的网站,您应该了解登录的 SQL 语句。

例如,如果 SQL 语句如下所示。

SELECT username, passwd  FROM table_name WHERE username='<userinput>' AND passwd='<userinput>';

这是您在登录表单中提供的内容。现在将上述内容作为查询,想一想可以使上述陈述成立的各种方法。

例如:

假设评论没有被转义。

'有效用户名' AND '1'='1'-- //

' OR '1'='1'-- //

如果注释字符被转义或不起作用:

' 或 '1'='1

这些是登录页面上 SQLi 的一些基本攻击向量。您可以参考此链接上的备忘单了解更多信息。

由于您是开发人员,因此查看代码是了解 SQLi 是否可行的更好方法。我只是想让你了解一下渗透测试者。

于 2014-07-06T18:35:26.640 回答