前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >响应变参数-挖掘潜在的逻辑越权

响应变参数-挖掘潜在的逻辑越权

作者头像
洛米唯熊
发布2019-07-25 15:06:15
4610
发布2019-07-25 15:06:15
举报
文章被收录于专栏:洛米唯熊洛米唯熊

开始

对一个网站做测试的时候发现了这样一条请求:

这条请求返回的是个人信息(用户ID、手机号、密码)

{"responseData":{"userid":"用户id","login":"用户名","password":"密码","mobilenum":"手机号","mobileisbound":"01","email":null}}

一开始的想法是变为GET请求(可行),然后增加JSONP劫持的回调参数。。。(失败)

过程

挖不到漏洞怎么办?瞎想,想多了,尝试多了就会有惊喜!后来想到响应变参数的方式。

一开始我尝试的是将返回的JSON内容变为HTTP请求参数的格式,但没成功。

后来一想会不会是因为参数命名格式问题导致的,于是开始了下面的测试。

注意同网站其他请求参数的命名方式

结论:大写、英文

响应变参数

注意参数值都应为B用户,也就是你需要准备A、B两个用户

上面所述的返回信息中包含了很多“参数”,可生成如下(这里可以使用我写的一个BurpSuite插件进行转换 - https://github.com/gh0stkey/Json2Dict ):

userid=B用户id
login=B用户名
password=B用户密码
mobilenum=B用户手机号
email=B用户邮箱

整合

B信息+命名规则,最后变成如下的字典:

F12进入Console使用JavaScript的 str.toUpperCase()转换成大写字母

USERID=B用户id
LOGIN=B用户名
PASSWORD=B用户密码
MOBILENUM=B用户手机号
EMAIL=B用户邮箱

结尾

然后Burp Intruder模块开启(使用A用户的凭证去跑),导入字典(这里参数位置在POST请求正文中),Start :

测试结果发现使用LOGIN参数可以成功的从A用户的个人信息越权获取到B用户的个人信息~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 洛米唯熊 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开始
  • 过程
    • 注意同网站其他请求参数的命名方式
      • 响应变参数
        • 整合
        • 结尾
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档