*本文由以色列Break Security公司CEO兼创始人Nir Goldshlager撰写,并由IDF实验室志愿者张俊翻译。

今天我来介绍一下我之前是如何攻入PayPal记录系统的,这个BUG已经被反馈给了Paypal安全团队并立即得到了修补。

利用这个漏洞,攻击者可以完全访问PayPal的用户交易记录。在这些记录里,你可以找到如下的用户信息:

· 购物地址

· 电子邮箱

· 电话号码

· 商品名称

· 购买数量

· 用户全名

· 交易号

· 发票号

· 交易主体

· 账户名

· Paypal参考编号

等等……

首先,在PayPal的用户界面,这里有一个“交易记录”的选项:

clip_image002

通常,用户可以通过这个选项来访问自己购买过的商品记录。

当我点击了交易记录时,我发现程序发送了一个post请求,大概是这个样子 (POST /acweb/iportal/activePortal/viewer/viewframeset.jsp):

clip_image004

接下来我又看到了一个路径 (/acweb/iportal/activePortal/viewer/),其中有些部分引起了我的兴趣 (iportal, activePortal)。随即我就谷歌了一下:

https://www.google.co.il/#site=&source=hp&q=inurl:activePortal%2Fviewer%2Fviewframeset.jsp

我发现这个程序是由Actuate开发的:http://www.actuate.com/home/

出于这点,PayPal似乎是靠运行Actuate Iportal (一个第三方应用) 来为用户显示交易记录的。你们都知道我最喜欢试用版了,试用版就像是这样:

clip_image005

我下载了30天试用版的Actuate Iportal Application。这能让我得到源代码,目录结构和文件名,甚至还附送了完整版的用户手册。

http://www.birt-exchange.com/be/documentation/Manuals/creating-custom-iportal-apps.pdf

这手册节省了我不少时间,因为他们已经把参数信息和文件名都整理好了。

经过一番彻底的检查,我发现了一个有趣的文件getfolderitems.do。PayPal交易记录系统(business.paypal.com)允许我以普通用户的权限访问这个文件。这是因为Actuate就是用这个文件显示交易记录的。当然最重要的一点就是你可以用非管理员账户使用这个文件。

那就来看看getfolderitems.do文件中包含了哪些具体参数吧:

1、ID:

Id值,来显示具体用户目录中的内容。例如:

Id=1234 (Nir Item)

Id=12345 (Egor item)

2、Folder:

目录,指定用户记录的路径 (getfolderitems.do?folder=/users/)。

现在,我首先想试图通过getfolderitems.do来访问用户目录从而突破PayPal记录系统。例如:

https://business.paypal.com/acweb/getfolderitems.do?folder=/users/
但是没成功!PayPal禁止我通过getfolderitems.do来访问用户目录的请求。

我知道了PayPal已经对这个漏洞的恶意访问进行了限制,于是我需要换一种攻击方式才能成功的访问PayPal的用户记录。

经过研究,之前提到的getfolderitems.do里的用户参数暴露了用户的加密令牌(secret tokenid)。所以,虽然PayPal会拒绝任何通过getfolderitems.do对用户目录的访问 (getfolderitems.do?folder=/users/),然而它却允许攻击者使用加密令牌(secret tokenid)来访问目标用户目录。

例如:

被拒绝的请求:getfolderitems.do?folder=/users/

被成功执行的请求:getfolderitems.do?folder=/users/9k1mvk2s10almQ9PM/

如果攻击者(这里是我)输入ID值 (getfolderitems.do?id=392302),PayPal将会显示出目标用户的加密令牌(secret tokenid)。

clip_image007

这些ID值只有8-10位数字,而Paypal却拥有上百万的用户。
关于这件事,我能够有效访问的PayPal用户令牌值能够让我用来对用户交易记录目录进行更为深入的攻击:
(getfolderitems.do?folder=/users/tokenidofthevictim/)
从而获得对用户记录目录的完全访问。
有图为证:

clip_image009clip_image011clip_image013clip_image015clip_image017

顺带一提,在PayPal的BUG有奖反馈期间,我发现了大量围绕Iportal的漏洞。最终,PayPal完全舍弃了这个应用。

(全文完)

源链接

Hacking more

...