几年前,SQL注入在世界范围内很流行,但现在,SQL注入仍然是最流行的攻击方法之一,
开发人员为此头疼。当然主要是因为注入攻击的灵活性,一个目的,多条语句,多种编写方法
。SQL注入可以分为工具和手工两种。由于自动化,工具通常比手动注入效率高得多,但与手
动注入相比,它们受到限制,因为它们没有针对性。
所有的输入都可能是有害的,有参数的地方都可能存在SQL注入。但是由于浏览器的限制,ht
tp头中的一些隐藏链接、API调用和参数往往被忽略。那么如何进行全面的SQL注入挖掘呢?
在渗透测试中,无论注入工具多么强大,都会有局限性,手动注入可以解决这个弱点。当然,
手动注入需要渗透者对数据库的语法有一定的了解。但是由于SQL注入的灵活性和多样性,如
果详细讨论的话,恐怕可以写成单本书了。在这里,作者将选择最具代表性的例子进行论证。
tp头中的一些隐藏链接、API调用和参数往往被忽略。那么如何进行全面的SQL注入挖掘呢?
在渗透测试中,无论注入工具多么强大,都会有局限性,手动注入可以解决这个弱点。当然,
手动注入需要渗透者对数据库的语法有一定的了解。但是由于SQL注入的灵活性和多样性,如
果详细讨论的话,恐怕可以写成单本书了。在这里,作者将选择最具代表性的例子进行论证。
注入遇到的一个常见情况是注入得到的加密密文无法求解。为了解决这个问题,这里解释几种
可行的方法。(1)使用国外的搜索引擎,往往会有意想不到的收获,最常见的是Google。(2)用
Whois查出管理员邮箱,然后发邮件通知管理员更改密码。邮件内容无非是“我们是XXX检测
中心,你的网站有风险。请立即更改管理员密码……”。(3)分析Cookie。有时加密的密文会出
现在cookies中。这种情况下,cookies中的密文可以直接被管理员的密文替换。(4)在特定的注
入环境中,原始密文有时可以被新密文替换。当然这种方法的执行条件比较苛刻,实践中很少
遇到。(5)使用密码检索功能。使用秘密安全问题来检索密码是很常见的。在这种情况下,可以
注入秘密安全问题的答案,然后使用密码检索功能成功登录目标帐户。(6)逻辑缺陷。比如一些
登录功能、修改功能、密码检索功能等都是以密文的形式直接在数据包中传输的。这时可以用
密文代替,这样就可以登录并更改密码了。
可行的方法。(1)使用国外的搜索引擎,往往会有意想不到的收获,最常见的是Google。(2)用
Whois查出管理员邮箱,然后发邮件通知管理员更改密码。邮件内容无非是“我们是XXX检测
中心,你的网站有风险。请立即更改管理员密码……”。(3)分析Cookie。有时加密的密文会出
现在cookies中。这种情况下,cookies中的密文可以直接被管理员的密文替换。(4)在特定的注
入环境中,原始密文有时可以被新密文替换。当然这种方法的执行条件比较苛刻,实践中很少
遇到。(5)使用密码检索功能。使用秘密安全问题来检索密码是很常见的。在这种情况下,可以
注入秘密安全问题的答案,然后使用密码检索功能成功登录目标帐户。(6)逻辑缺陷。比如一些
登录功能、修改功能、密码检索功能等都是以密文的形式直接在数据包中传输的。这时可以用
密文代替,这样就可以登录并更改密码了。