我使用ASP.NET
and创建了一个网站SQL Server
。现在我正在测试网站的漏洞。当我针对各种输入测试网络时,它拒绝了无效输入。然而,一些输入,例如:admin' or 1=1--
当输入网站时,网站会一直加载,然后超时。这是否表明存在SQL Injection
漏洞?
PS:我在使用参数化查询而不是连接字符串方面做了功课,我也知道用于自动化的各种工具,SQL Injection
例如SQL Map
.
我使用ASP.NET
and创建了一个网站SQL Server
。现在我正在测试网站的漏洞。当我针对各种输入测试网络时,它拒绝了无效输入。然而,一些输入,例如:admin' or 1=1--
当输入网站时,网站会一直加载,然后超时。这是否表明存在SQL Injection
漏洞?
PS:我在使用参数化查询而不是连接字符串方面做了功课,我也知道用于自动化的各种工具,SQL Injection
例如SQL Map
.
1=1--可能会导致选择数据库中的所有用户,如果你有这么多的用户,可能会导致挂起。否则会发生其他事情。
总的来说,我认为您应该使用 Sqlmap 等自动化 SQL 注入工具检查您的网站是否存在 SQL 注入。它是开源的并用 Python 编码。您还可以使用 Acunetix 扫描整个网站以查找所有类型的安全漏洞。
既然您说这是您创建的网站,您应该了解登录的 SQL 语句。
例如,如果 SQL 语句如下所示。
SELECT username, passwd FROM table_name WHERE username='<userinput>' AND passwd='<userinput>';
这是您在登录表单中提供的内容。现在将上述内容作为查询,想一想可以使上述陈述成立的各种方法。
例如:
假设评论没有被转义。
'有效用户名' AND '1'='1'-- //
' OR '1'='1'-- //
如果注释字符被转义或不起作用:
' 或 '1'='1
这些是登录页面上 SQLi 的一些基本攻击向量。您可以参考此链接上的备忘单了解更多信息。
由于您是开发人员,因此查看代码是了解 SQLi 是否可行的更好方法。我只是想让你了解一下渗透测试者。