您的位置:网站首页 > asp源码 > 正文

看我如何黑掉PayPal:从任意文件上传到远程代码执行

类别:asp源码 日期:2018-5-6 23:17:12 人气: 来源:

  在上一篇文章中,我描述了我是如何破解OSCP证书的,破解起来非常困难,大概花了我四个多月的时间,但是我如果我不去挖漏洞的话,意味着我就没有零用钱了。

  像我这样的人,在周末的时候,会看一些博客或者YouTube视频。我打了Burp(关闭了)并访问了PayPal的漏洞励计划页面,于是我发现了如下图所示的内容:

  上图显示的是我访问返回的响应信息,仔细分查看Content-Security Policy中包含有一串PayPal的域名。其中一个域名是,而这个域名吸引了我的注意。因为我在挖漏洞时喜欢找出目标站尽可能多的子域名,因为这些子域名站点中很可能会存在一些被管理人员所忽略的安全问题。

  你可以使用Subbrute、Knockpy、enumall等来寻找子域名,这些是我通常使用的工具,但是这个周末我比较懒,我使用VirusTotal来获取子域名的列表。

  将子域名复制到本地,并运行“dig -f paypal + noall + answer”来检查所有子域名实际上指向的方式:

  其中有一个子域名为,它指向的是站点 。该网站实际上是PayPal供应商,提供给厂商、供应商以及合作伙伴的一个ticket在线支持系统,他们可以在这个网站上申请与PalPal合作,然后上传自己品牌的Logo、图片或其他一些相关资料

  “finishedthumb.jpg”在在/867/目录中新创建的文件。我快速查看实际文件(原始文件)上传文件是否存在此目录。幸运的是,“finished.jpg”也在这个目录中。

  我进一步研究了Web应用程序的对文件上传处理的工作流程,以及上传文件的文件及文件夹的命名规则进行了深入分析,并了解上述链接中的“368”目录实际上是我们创建的机票号码“ 867“是文件夹的id。

  了解了工作远离后,我又用同样的方法创建了另一份ticket,我发现系统用按顺序递增的方式创建了ticket ID和文件ID。但此次上传是一个“.php”扩展文件,其中有一个简单执行命令的功能。

  这次返回的响应码为302(200=成功),根据Web应用的响应来看,这意味着服务器端没有对上传的文件类型和文件内容进行验证。

  由于我的ticket ID为/366/,现在我们知道我们的文件已上传的目录是什么,但实际上我们不知道存储文件的文件夹id是什么?(因为我们无法看到php文件的,就像我们能够通过源代码视图看到一个图像文件)。

  但是,我们知道文件名是“success.php”(因为我们之前验证过,“example.jpg”被存储在存储“example_thumb.jpg”的同一个目录中),我们也知道最近的文件夹ID文件是通过上传一个简单的图像存储。因此,由于我知道的最近的文件ID是“867”,我们的POC php命令执行代码的ticket号是“/366/”

  

0
0
0
0
0
0
0
0
下一篇:没有资料

相关阅读

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: