SQLmap介绍

介绍
检测和利用SQL注入
比方说,你在审计一个Web应用程序,发现一个网页,通过接受动态用户提供的值GET,POST或Cookie参数通过HTTP或User-Agent请求头。现在,您要测试这些漏洞是否受到SQL注入漏洞的影响,如果受此漏洞影响,则可以利用它们从后端数据库管理系统中检索尽可能多的信息,甚至可以访问基础文件系统和操作系统。 。

在一个简单的世界中,请考虑目标网址为:

http://192.168.136.131/sqlmap/mysql/get_int.php?id=1
假使,假设:

http://192.168.136.131/sqlmap/mysql/get_int.php?id=1+AND+1=1
与原始页面相同,并且(条件评估为True):

http://192.168.136.131/sqlmap/mysql/get_int.php?id=1+AND+1=2
与原始版本不同(条件评估为False)。这可能意味着您在页面的id GET参数中处于SQL注入漏洞的前面index.php。此外,在将SQL语句发送到后端数据库管理系统之前,不会对用户提供的输入进行任何检查。

这是动态内容Web应用程序中的一个常见缺陷,它不依赖于后端数据库管理系统也不依赖于Web应用程序编程语言。这是应用程序代码中的缺陷。在开放Web应用安全项目额定此类漏洞的的最常见的在他们和严谨的Web应用程序漏洞十佳从2013年名单。

现在,您已经找到了易受攻击的参数,可以通过处理idHTTP请求中的参数值来利用它。

回到场景,我们可以SELECT对get_int.php网页中使用用户提供的值的SQL 语句的可能语法进行有根据的猜测。在伪PHP代码中:

$query = “SELECT [column name(s)] FROM [table name] WHERE id=” . $_REQUEST[‘id’];
如您所见,在参数值(例如)之后附加语法有效的SQL语句,该语句的计算结果为True,这将导致Web应用程序返回与原始请求相同的网页(其中没有SQL语句添加)。这是因为后端数据库管理系统已经评估了注入的SQL语句。前面的示例描述了一个简单的基于布尔的盲SQL注入漏洞。但是,sqlmap能够检测到任何类型的SQL注入缺陷并相应地调整其工作流程。idid=1 AND 1=1

在这种简单的情况下,不仅可以附加一个或多个有效的SQL条件,而且还可以附加(取决于DBMS)附加的SQL查询。例如: […]&id=1;ANOTHER SQL QUERY#。

sqlmap可以自动识别和利用这种类型的漏洞的过程。将该原始地址传递http://192.168.136.131/sqlmap/mysql/get_int.php?id=1给sqlmap时,该工具将自动:

确定易受攻击的参数(id在此示例中)
确定可以使用哪些SQL注入技术来利用易受攻击的参数
指纹识别后端数据库管理系统
根据用户的选择,它将对整个服务器进行广泛的指纹识别,枚举数据或接管数据库服务器
…并且根据提供的选项,它将枚举数据或完全接管数据库服务器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值