我希望一些指导对像我这样的其他新手来说是有益的,所以请,请帮助我完成以下列表:
要测试的应用程序中的“位置”列表:
用户名
密码
电子邮件
搜索字段
文本字段
用户可用的任何其他字段
要执行的测试列表:
...?
!谢谢!
#1 楼
从应用程序级别,您需要检查代码如何处理参数。是否已对此参数进行任何验证(长度,数据类型检查)最佳实践
使用参数化查询
使用过程
仅授予对SP的执行权限。没有针对用户的DDL操作
替代方法我建议您查看代码的编写方式
您可以检查sqlmap-自动SQL注入和数据库接管工具。 http://sqlmap.sourceforge.net/
用于SQL注入的Microsoft源代码分析器(CTP,2008年7月)-http://blogs.msdn.com/b/benjones/archive/2008/07 /19/microsoft-source-code-analyzer-for-sql-injection-ctp-july-2008.aspx
#2 楼
这种测试可能非常有趣,并且可以暴露其核心关注范围之外的各种缺陷。确保您不会破坏数据。我不是专家,但是我确实有一些建议,希望对您有所帮助。有多种方法可以尝试将SQL查询和命令注入到Web应用程序中。文本输入字段是最明显的字段,但是根据您网站的工作方式,您也许可以操纵URL进行注入攻击。如果您可以上传到Web应用程序,请不要忘记尝试将文件名设置为注入攻击。
必须熟悉相关的数据库;如果不是很复杂,请向设计者索取ERD(实体关系图)。如果它非常复杂(很多表,视图和索引),则要求在关键字段上提供一些指导。
我通常尝试的攻击类型包括尝试删除表,尝试删除或更改实体,或者尝试快速使用复杂的查询来访问数据库,以使数据库服务器超负荷运行。您将需要在所使用的环境(MySQL与MS SQL)中对SQL语法进行介绍。
最后,我倾向于使用多种方法使文本上可能存在的过滤器不明智盒子;在尝试使用普通的SQL语法后,使用HTML或UTF编码而不是字符文字可能会发现大量错误。像这样:
<alert"!xss!</<
与使用文字相反:服务器将原本无害的字符转换为危险的字符串。
如前所述,这种测试通常会发现与数据库无关的错误。例如,我曾经上传一个带有编码的“ drop table”查询的文件,该查询打乱了页面,因此无法显示我的上传历史记录。
希望有帮助。
#3 楼
我认为这个问题更适合http://security.stackexchange.com。在那里回答了以下与您的问题类似的问题:什么是一些不错的网站安全性扫描解决方案
testing-sql-注入使用sqlmap
尝试查找如何利用我的sql代码
测试php形式注入
悬挂光标测试
评论
我不同意您的评估,安全测试是(或应该)是质量检查的主要部分。另外,为什么要答案而不是评论?
– Paul Muir
2014年5月30日12:27
#4 楼
我必须说,我喜欢BrMcMullin的回答。这是使用工具可以教给您很多知识的领域。有很多优秀的开源软件和免费的开源软件,但是,我对它们中的大多数并不熟悉(该公司为获得一些不错的漏洞管理软件而掏腰包)。您可以随时访问penTestIT之类的网站获取一些建议。就个人而言,由于我可以使用它,因此在进行其他一些测试时,通常会在后台进行自动化操作。因为它向您展示了它在做什么,所以对您有帮助。之后,我将按照BrMcMullin所说的去做。在这方面,我所需要打开的只是浏览器,提琴手和一些好音乐。看一下查询从何处获取信息。通常,还会使用选择框和单选按钮,这些输入的数据不会像文本字段一样被检查。
我几乎可以保证,在您找到第一个sql之后注入错误,您将不断尝试新的想法。这很有趣,也是让您的创意源源不断的好方法。
评论
我在Google搜索“ SQL注入测试”时发现了这个有用的链接:owasp.org/index.php/Testing_for_SQL_Injection_(OWASP-DV-005)OWASP具有所有非常有用的信息。