越权漏洞(IDOR)的发现经验:用户注册、邮件订阅、意见反馈
摘要:此类漏洞通常发生在Web应用程序提供给用户的基于输入的对象中。 该漏洞的影响将使攻击者可以绕过授权限制并访问目标系统中不应访问的其他资源或数据。
IDOR
简而言之,假设目标网站有两个用户U1和U2,这两个用户的帐户中都存储有个人文件,但是只有他们有权查看和访问这些文件。 例如,U1只能访问自己的帐户文件,而不能访问U2的帐户文件。
有一天,U1用自己的帐户访问了文件blahBlah.pdf。 具体链接如下:
https://whocare.com/file/23
上面的链接假定最后一个数字23是与其帐户对应的参数,但是好奇的U1用户随意修改了数字参数,将其更改为50,然后启动访问。 链接如下:
https://whocare.com/file/50
但是仅由于此更改,U1甚至在其帐户权限内看到了U2帐户的文件。
所以有什么问题? 原因是在基于用户输入的直接对象访问机制中,Web应用程序缺少用于访问对象的身份验证措施。 如何找到IDOR漏洞? 实际上,IDOR与XSS一样广泛。 只要您知道目标Web应用程序的设计体系结构或工作流程,就很容易找到它。 在这里,我分享一些IDOR漏洞发现经验,仅供参考。
在用户注册表中发现IDOR漏洞
在网站注册机制中启动了数据包拦截。 目标网站whocare.com调用了帐户注册API。 Burp捕获的帐户注册请求数据包如下:
POST 43657&key=344246b382b1d70c25ea14ed6f2760c6 HTTP/1.1
index.php registerportal?user_id=Content-Type: application/x-www-form-urlencoded
Content-Length: 239
Host: api.whocare.com
Connection: close
Accept-Encoding: gzip, deflate
User-Agent: okhttp/3.4.1
email=test@whocare.com&password=as&username=&firstname=tvbb&lastname=gvcz&mobile=&country=test&city=hfhdggd&birthday_full=&gender=fknefjn
可以看出,user_id参数包含在上述数据包的POST操作中。 为了进行测试,我们将其修改为其他字符串的随机值,然后服务器返回的消息以以下提示响应:用户存在! 更重要的是,服务器返回的信息包括与注册用户有关的姓名,电子邮件地址,联系地址等。 响应报文如下:
HTTP/1.1 200 OK
Date: Tue, 05 Mar 2019 12:53:30 GMT
Content-Type: text/html
Connection: close
Set-Cookie: __cfduid=dc4d54bb59b5c4a2c8501e3ed1cd5952b1551790409; expires=Wed, 04-Mar-20 12:53:29 GMT; path=/; domain=.whocare.com; HttpOnly
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 4b2c3badddb3ce21-LHR
Content-Length: 311
{"error":"exist","user":[{"id":"34666","username":"admin","firstname":"Pappu","lastname":"Rahul","email":"admin@whocare.com","mobile":null,"gender":"male","birthday":null,"country":"","city":null,"address":null,"address1":[Reducted],"postcode":[Reducted],"ip_address":[Reducted],"app_id":[Reducted]}]}
这样,可以通过蛮力枚举用户参数user_id,并获得目标网站的很多用户信息,当然,其中还将包含管理员信息。
在“订阅”列表中找到IDOR漏洞
同样,我们将whocare.com定位为目标网站,该网站为新用户提供了订阅选项,并且可以通过用户电子邮件获取该网站的一些最新信息。 在用户设置面板中,有一个取消订阅按钮。 单击该按钮时,它将向注册用户发送通知链接以取消订阅。 URL如下:
http://whocare.com/deleteNewsletter/dGVzdGVybWFpbEBnbWFpbC5jb20=
如果仔细观察,可以看到末尾包含base64编码的字符串。 解密后,dGVzdGVybWFpbEBnbWFpbC5jb20 =:testermail@gmail.com。 该操作似乎无法验证请求的身份,因此我们在此需要其他注册用户。 测试绑定的邮箱,看它是否可以为其他注册用户执行订阅取消。
这里的攻击可能性是:我们需要在目标网站上收集大量注册用户的邮箱,然后将它们编码为base64以形成字典,然后将其放入Burp的Intruder模块中,并执行自动攻击测试。 为批处理用户形成了订阅取消操作。 在这里,您可以全面使用上述注册表IDOR漏洞来构成更大的威胁。
在反馈电子邮件中发现了IDOR漏洞
例如,在whocare.com中,如果用户向目标网站提交反馈,则数据包如下:
POST /Services/PostContactUsEmail HTTP/1.1
Host: www.whocare.com
Connection: close
Content-Length: 327
Accept: */*
Origin: https://www.whocare.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: https://www.whocare.com/feedback
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: [REDUCTED]
ContactUs_Name_Txt=hiname&ContactUs_Email_Txt=attacker@gmail.com&ContactUs_MessageType_Txt=%D8%A7%D8%B3%D8%AA%D9%81%D8%B3%D8%A7%D8%B1&ContactUs_Department_Txt=feedback@whocare.com%23%D8%A7%D9%84%D8%AF%D8%B9%D9%85+%D8%A7%D9%84%D9%81%D9%86%D9%8A&ContactUs_MessageBody_Txtthis+is+the+comment&ContactUs_Captcha_Txt=QBAQLU
仔细查看提交的参数,它包含以下重要信息:
ContactUs_Department_Txt =将在其中接收反馈的电子邮件地址
ContactUs_Email_Txt =当前用户用来发送反馈的电子邮件地址
ContactUs_MessageBody_Txt =用户发送的反馈消息
我们可以在两个地方修改电子邮件地址:
ContactUs_Department_Txt=admin@whocare.com
ContactUs_Email_Txt =您想要发送电子邮件的任何用户的电子邮件地址,或者恶意地将其设置为网站上所有用户的电子邮件地址。
这样,所有网站用户都将从管理员的邮箱中收到一封电子邮件,可以将其用作网络钓鱼攻击的起点。
IDOR建议
1.在请求或其他操作中实施合理的访问控制措施;
2.对用户相关参数使用强加密或随机数生成。 不要使用简单直接的数字形式,例如id = 3;
相关热词搜索:越权漏洞 IDOR 用户注册 邮件订阅 意见反馈
上一篇:“空字节溢出”漏洞:对一个标准Web应用的用户输入点进行Fuzzing测试
下一篇:IDOR越权漏洞:Airbnb平台被窃取房东资金
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了