渗透测试-SQL注入之sqlmap使用

SQL注入之sqlmap使用

文章目录

  • SQL注入之sqlmap使用
  • 前言
  • 一、sqlmap工具的介绍
  • 二、利用sqlmap扫描获取数据库信息
    • 1.sqlmap常用命令
    • 2.读入数据打开命令行窗口,执行命令,获取数据库信息
  • 总结

前言

一、sqlmap工具的介绍

SQL注入,一般指web应用程序对用户输入数据的合法性没有校验或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,进行SQL注入攻击获取数据库信息的手段。

sqlmap是kali自带的的SQL注入自动扫描工具,是渗透测试中常用的SQL注入扫描工具,该实验需要下载靶场sqli-labs进行实验练习,通过靶场练习进行讲解。

二、利用sqlmap扫描获取数据库信息

1.sqlmap常用命令

此处为了方便,在window主机上下载了sqlmap工具,哥哥姐姐们可以利用kali自带的使用哦,我这里要下载sqlmap,创建终端方式进行运行,
这里教大家创建。
(1)第一步创建快捷方式
渗透测试-SQL注入之sqlmap使用_第1张图片
输入C:\Windows\System32\cmd.exe
点击下一页
渗透测试-SQL注入之sqlmap使用_第2张图片
点击完成。
在桌面出现一个cmd.exe的终端命令
右击查看属性
渗透测试-SQL注入之sqlmap使用_第3张图片
在起始位置填入你的安装目录。
在这里插入图片描述
创建完成。
点击运行
渗透测试-SQL注入之sqlmap使用_第4张图片输入python sqlmap.py
运行成功,接下来开始对网站进行扫描是否存在SQL注入漏洞。
最后总结一些常用的sqlmap命令

–users 列举数据库管理系统中的用户
–is-dba 检测当前用户是否是管理员
–os-shell 模拟一个可以执行任意命令的shell
–os-cmd 执行命令
-current-user 列举当前用户
risk 1风险等级
level 1 检测等级
-proxy =http:// 设置代理
-batch 非交互模式
-p 指定sql 注入点

2.读入数据打开命令行窗口,执行命令,获取数据库信息

输入命令
python sqlmap.py http://192.168.222.4/sqli-labs/Less-1/?id=1 --dbs(查看数据库)
渗透测试-SQL注入之sqlmap使用_第5张图片
再输入命令
python sqlmap.py -u http://192.168.222.4/sqli-labs/Less-1/?id=1 -D ok --tables(查看指定数据库中的表)
渗透测试-SQL注入之sqlmap使用_第6张图片
渗透测试-SQL注入之sqlmap使用_第7张图片
输入命令
python sqlmap.py -r zhian.txt --risk 3 level 3 -p id (扫描是否存在注入)
python sqlmap.py -r zhian.txt --risk 3 level 3(若不知道哪里出现注入,则使用这条语句)
渗透测试-SQL注入之sqlmap使用_第8张图片
本次实验进行第一关的练习
下载好phpstudy,将sqli-labs放到www目录下,打开网址
http://localhost/sqli-labs/
渗透测试-SQL注入之sqlmap使用_第9张图片
由于之前对网站手工注入发现id号存在注入点
http://192.168.222.4/sqli-labs/Less-1/?id=1
通过加单引号,出现报错
http://192.168.222.4/sqli-labs/Less-1/?id=1’
渗透测试-SQL注入之sqlmap使用_第10张图片
加上两个单引号,没有报错,发现存在注入点,放入sqlmap去跑,得到以上开始的结果,从而获取了对方的数据库信息
http://192.168.222.4/sqli-labs/Less-1/?id=1’’
渗透测试-SQL注入之sqlmap使用_第11张图片
从结果来看,该网站存在报错注入,联合注入
也可利用temper脚本进行waf绕过

sqlmap绕过waf方法,使用temper脚本
python sqlmap.py -u http://192.168.222.4/sqli-labs/Less-1/?id=1 --tamper=dunion --proxy=http://127.0.0.1:8080
渗透测试-SQL注入之sqlmap使用_第12张图片
从结果来看,存在布尔盲注,时间盲注,联合盲注,可以利用数据库等信息获取敏感信息进行拿shell,实验结束。

总结

本次实验简单介绍SQL注入的原理和sqlmap的使用方法,利用sqlmap判断是否存在SQL注入来获取数据库信息的方法,进行了一次简单的SQL注入靶场练习。

你可能感兴趣的:(渗透测试,测试工具,运维开发)