A-A+

某BR9 PR7站点下订单至他人账户漏洞过程详解

2016年12月06日 09:29 漏洞安全 评论 2 条 共1080字 (阅读3,354 views次)

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】

是这样,无意看到一个站点,具体什么站点这里不方便透露了,唯一可以说的是这个站挺大的。看下面SEO信息

站点seo信息

站点seo信息

这个是chinaz的数据,下面说说这个站点存在的这个订单的漏洞吧。

具体是这样的,有一次我测试这个网站的订单,最后发现这个网站下订单的思路如下:

第一步:在页面下订单。(当前页面会自动判定你是否登陆,如果登陆,则用户信息处自动调用你的电话、姓名等信息,如果未登陆,则需要你手动填写姓名、电话等信息)

第二步:点击提交。(根据当前手机号判定是否注册会员,如果不是则提示注册,如果是则提示登陆,如果已登录则下订单。)

第三部:下单成功,跳转到付款页面。

以上三步就是整个下单到付款的逻辑过程。这里说一下我发现的漏洞吧。

首先必须要登陆,主要是为了跳过第二步的登陆限制验证。登陆后,在下订单页面查看本地的cookie。。。。。哎,实在不想多说,好多好多好多的cookie,也不知道研发人员是咋想的(后来知道,是很多研发团队,崩溃了)。。。。。。就在cookie中发现了猫腻,很多cookie项的值是用的base64加密!!!(我的内心是,卧槽,这也行?)一点一点解开后发现其中三个cookie项的ID可能有利用价值。(下面的值为解密后)

第一个是:username=xxx昵称xxx

第二个是:userid=1234567

第三个是:userxx=1234567,xxx昵称xxx,1480987295,6a204bd89f3c8348afd5c77c717a097a

从这里可以看出,第三项的cookie值,前两个是与第一项,第二项相对应的,第三个值很明显是我登陆时候给的Unix时间戳的值,第四个类似于MD5,但是经过测试发现,不是我密码的MD5值,具体是什么值确实也不知道(估测应该是用户ID与盐的什么加密值吧。)。

这里当走到进行第二步的时候数据抓包,把第一个的值第二个的值都更改一下(随意,经过测试更改成别人的也下不到那个人的账户,估计跟第三项的最后一个值有关吧),第三个的值对应着也改一下。

然后就跳到第三部了。。。这个时候已经显示成功下单了,但是,但是,但是,当回到自己的账户的时候(因为cookie被修改了,需要重新登录。),查看订单列表的时候,居然没有这个订单。最后找到这个网站的SRC人员,最终被证实,确实成功下了订单,而且下到了别人的账户里。

最终也是知道,是他们的研发人员对第三项验证不全导致下单混乱(至他人账户)。

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

2 条留言  访客:2 条  博主:0 条

  1. 路人甲


    我感觉我想不出来会去申请2个账号,然后替换这个md5…日

  2. huahua

    我也是,楼主真专心

给我留言取消回复