打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
PayPal远程命令执行漏洞分析 | 邪恶十六进制

2015年12月,笔者在PayPal的某个分站中发现了一个能够远程执行任意shell命令的java反序列化漏洞,并且能够影响到PayPal的产品数据库。我马上将该漏洞提交给了PayPal,并且很快得到了修复。

漏洞细节

在测试manager.paypal.com这个站点时,我的注意力被post提交中的不寻常的参数“oldForm”所吸引,这个参数的内容就像是base64解码后的复杂对象。

在经过一些研究之后,我意识到这就是能被应用处理的没有经过签名的java序列化对象。这意味着你能将存在的class序列化后提交给服务器,然后“readObject”(或者“readResolve”)方法会被调用来解析该序列化的对象。为了利用这个漏洞,你需要在应用的 “classpath” 中找到一个能被序列化的合适的class,并且能被“readObject”所解析。你可以从FoxGlove Security的文章中了解更多相关的技术细节。一年前,Chris FrohoffGabriel Lawrence在Apache Common Collection这个库中发现了能够导致远程命令执行的合适的classes,然后也发布了“ysoserial”这个payload生成器。

漏洞证明

我马上下载了上面说到的这个工具,然后生成了一个简单的payload,这个payload会执行“curl x.s.artsploit.com/paypal”这个shell命令,然后会发送DNS和http请求到我自己的服务器。

然后我在post请求的“oldFormData”参数中填入base64编码后的payload,发送给了服务器。在那之后,令我印象深刻的是在我的NGINX access log中发现了来自PayPal 的请求。

我意识到我能在manager.paypal.com这个服务器上执行任意的命令,甚至我能反弹一个shell权限到我自己的服务器,然后上传和执行一个后门程序。结果会是通过manager.paypal.com这个网站,我能获取到paypal的production数据库。

但是我没有像上面说的那么去做,我只是读取了“/etc/passwd”的内容作为漏洞的验证。

我还捣鼓了一个如果复现该漏洞的视频提交给了PayPal安全团队。然后,我还发现了manager.paypal.com的其他很多地方也使用了序列化对象,并且能够被利用。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
本站系统安装方法 | WINOS
【拍摄技巧】实例讲解好照片的10个特征
什么是静力性训练 | 健身吧
初学者如何快速提高自身的摄影水平
安装chromium浏览器及更新flash插件 | 薄荷开源网
图解用光:那些厉害的大片是怎么拍出来的? | 人像摄影
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服