sqlmap笔记

1、基本知识

介绍
sqlmap是一款命令行界面开源的渗透测试工具(自动化sql注入),sqlmap可以自动化地侦测和实施SQL注入攻击以及渗透数据库服务器。sqlmap配有强大的侦测引擎,适用于高级渗透测试用户,不仅可以获得不同数据库的指纹信息,还可以从数据库中提取数据,此外还能够处理潜在的文件系统以及通过数据连接执行系统命令。

windows下安装:

先安装python环境,再将sqlmap解压到python文件夹中,新建sqlmap.bat,写入cmd.exe(在这个目录下打开cmd)

sqlmap采用五种独特的SQL注入技术,分别是:

0)基于布尔bool的盲注,即可以根据返回页面判断条件真假的注入

1)基于时间time的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟

2)语句是否执行(即页面返回时间是否增加)来判断

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

4)联合查询union注入,可以使用union的情况下的注入

5)堆查询注入,可以同时执行多条语句的执行时的注入


2、三种请求类型的注入探测

GET方式的SQL注入检测 :sqlmap.py -u "URL"

POST方式的SQL注入检测:sqlmap.py -u "URL" --data "post数据"

Cookie方式的SQL注入检测:sqlmap.py -u "URL" --cookie “cookie数据”


3、获取数据库相关信息

1)获取数据库的数据库类型以及版本

四种常见数据库类型:Microsoft SQL Server、Mysql、Orcle、PostgreSQL

直接使用注入方式的检测语法即可

各类的数据库结构(Microsoft Access只有一个库)

2)获取当前网站所使用的数据库名和用户名

获取当前数据库名 :使用参数 --current-db

获取用户名:使用参数--current-user


4、获取数据量和用户权限

获取数据库的数据量: --count  -D “当前使用的数据库名”

用户权限:参数--privileges可以查看用户权限

(microsoft sql server最高权限用户名:sa mysql最高权限用户名:root


5、MySQL数据库注入

MySQL数据库结构

1)了解数据库结构 


sqlmap笔记_第1张图片

2)顺推下去


sqlmap笔记_第2张图片

6、管理自己的数据库

数据库如何随时去连接

先下载pymysql,解压,cmd切换目录,setup.py install,用语句sqlmap.py -d “mysql://用户名:密码@地址:端口/数据库”

连接上后用--sql-shell进行sql执行管理


7、延时注入的魅力

延时注入的使用情况


sqlmap笔记_第3张图片


进行延时注入:使用参数--delay加数字值  或者 -safe-freq

8、交互式命令执行和写webshell

什么是交互式:操作人员和系统(注入点网站)的交互           (注入点的用户权限必须为最高权限)

sqlmap进行命令执行(提权):

      一个参数简单搞定:--os-cmd=“命令”(注意在使用交互式参数时要知道网站的绝对路径,绝对路径是从盘符开始的)使用参数后一直回车即可,当我们执行的时候sqlmap会默认生成一个文件,执行完指定命令后会自动删除。

写webshell:使用参数--os-shell,直接回车,自动生成的文件关闭sqlmap后就会自动删除。

9、Tamper脚本的介绍和使用

what  is tamper:sqlmap目录下的tamper目录,目录里面的脚本都有不同的功能来帮助我们使用sqlmap进行高级的sql注入测试,如:绕过waf。

小试tamper脚本:测试一个注入漏洞时,常规的方法不行(and判断),用大小写绕过(大小写绕过手工麻烦),用tamper脚本!!!语法:--tampe=“脚本名字”

所有Tamper脚本的用法!!!

10、本地写入webshell

什么是本地写入:本地是在你自己的电脑上,别人是访问不到的;而远程是在你自己的网站上,别人也可以访问的到。

本地写入webshell:首先你需要一个文件,在sqlmap目录下新建一个目录(mst),在目录(mst)下创建自己想要上传文件(如:mst.txt);其次你需要两个参数(注入点也是必须需要最高权限):--file-write "./mst/mst.txt"(本地文件的地址)、--file-dest "d:/www/1.html"(目标文件的地址)。

11、批量检测注入漏洞

批量:在sqlmap中很多链接批量检测sql注入

批量检测的方法:一个语法 -m “路径”

结合burpsuit进行批量:首先要配置burpsuit下记录所有的request记录,并保存在指定文件夹。其次执行命令:sqlmap.py -l burp.log --batch -smart ,即可对burp.log中保存的所有request进行注入扫描(batch:会自动选择yes,smart启发式快速判断节约时间)。

一些小语法:探测等级 --level=(1-5)  #要执行的测试水平等级,默认为1

                      风险等级 --risk=(0-3) #测试执行的风险等级,默认为1


sqlmap笔记_第4张图片

12、sqlmap学习注入技术

了解sqlmap目录结构:


sqlmap笔记_第5张图片


         xml目录可以学到注入技术:里面有一个payloads(都是sqlmap注入检测的载荷文件)

除了可以通过载荷文件去学习sqlmap注入之外,还可以通过一个小参数:-v 数字


sqlmap笔记_第6张图片


还可通过抓包学习:一个参数 --proxy=http://ip:post(这里的代理服务器就是burpsuit相对应监听的)

你可能感兴趣的:(sqlmap笔记)