yahoo_building_3

 

 

 

 

 

 

 

 

 

来自埃及的问候

今天我将发篇博文,述说我是如何从一个雅虎的SQL注入漏洞升级到远程代码执行,再升级到雅虎某台服务器的root权限的。
故事得从在下面的域名里搜索开始:
http://innovationjockeys.yahoo.net/

拦截到POST请求后,下面的请求映入眼帘,我觉得有SQL注入的可能性.

http://innovationjockeys.net/tictac_chk_req.php
POST:
f_id=9631

我尝试了一些常规测试,这似乎看起来有个SQL注入滑翔而过!
果断操起SQLMap,分分钟射下它来,获得如下POC作为漏洞证明:

http://innovationjockeys.net/tictac_chk_req.php
POST:
f_id=-9631′ OR (2777=2777)#

Available Databases:
[*] information_schema
[*] innovation******* #Hiding dbnames for Yahoo privacy.
[*] web****

赞,现在我有了SQL注入了,而且我还可以读数据.
现在的问题就是如何找后台管理面板,提取SQL注入中的管理员用户名和密码,登录到管理员面板中,然后拿shell获取控制权。

1- 后台管理面板在: http://innovationjockeys.yahoo.net/admin/

2- 存在数据库里的管理员是Base64加密 。

Screenshot-1024x138

这不是相当于明文麽 分分钟破了密码,登进后台。

Screenshot-admin-1024x559

下一步就是找个地方上传文件,然后就能命令执行了~

好吧,我如愿找到了个上传页面,但是我上传了个内容是phpinfo();的php文件发现我上传的文件被重命名了: page_d03b042780c5071521366edc01e52d3d.xrds+xml

而不是 page_d03b042780c5071521366edc01e52d3d.php ?!

嗯, 我然后又Burp抓包拦截了上传请求看看是啥问题,然后有了以下发现:

Screenshot-from-2014-09-05-055933

 

 

 

赞,原因很明显!就是“Content-Type”头作祟!

这回我放聪明了,把“Content-Type” 头内容改称了“application/php”,这回成功了:

Screenshot-phpinfo

 

 

 

 

 

 

 

 

 

这回我已经触发了SQLI和RCE,最后一部分就是提权成root了。
然而,服务器内核是2012年更新的,嗯,我用一个本地提权exp搞定了,获取了root权限。
时间线:

2014-09-05 初始报告发给yahoo

2014-09-06 Yahoo确认漏洞存在

2014-09-07 Yahoo修复了漏洞

2014-09-19 Yahoo告知我这个漏洞不在奖金范围内。

 

小编注:很萌很逗的埃及安全爱好者,最终也没拿到yahoo的奖金。文章基本没啥技术性,无非是找注入登后台绕过上传exp提权,而且最后root的图片也没放,老外很少用菜刀的。因为涉及yahoo,所以发上来,可以当成新闻来观摩。

 

 

    

   源地址:http://www.sec-down.com/wordpress/?p=494
          翻译和整理:SP小编
          SP地址:http://www.secpulse.com/archives/560.html

源链接

Hacking more

...