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

admin 2019年3月17日07:30:50评论27 views字数 815阅读2分43秒阅读模式

开始

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

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

这条请求返回的是个人信息(用户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用户的个人信息~


本文始发于微信公众号(米斯特安全团队):响应变参数-挖掘潜在的逻辑越权

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2019年3月17日07:30:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   响应变参数-挖掘潜在的逻辑越权http://cn-sec.com/archives/354125.html

发表评论

匿名网友 填写信息