新手上路 | 德国电信网站从LFI到命令执行漏洞

黑客与极客 / 2018年01月09日 15:15

互联网+

几个月前,我对德国电信官网telekom.de作了一些子域名枚举,看看是否有一些新的子域名出现。因为德国电信只接收类似SQL注入和远程代码执行类的高危漏洞,所以如果够幸运的话,可以尝试在其子域名站点中去发现一些类似漏洞。

在跑了一遍aquatone 、dnsenum、 recon-ng 和 sublist3r之后,我收集到了telekom.de的所有子域名,在去除了重复项之后,我又创建了一个简单脚本利用dirb对每个子域名站点进行目录遍历。

本地文件包含(LFI)漏洞

几小时过后,当我检查dirb的运行结果后大吃一惊,竟然有一个子域名站点出现了info.php测试页面。我擅长PHP,而开发或架构者通常会在PHP部署上出现错误,留给黑客可入侵之机。info.php测试页中包含了路径、目录和位置等可用信息。

我尝试再进行试探之后,出现了一个登录页面,是时候启动Burpsuite进行一些spider操作了,不一会就跳出了一个这样的链接:

https://netweb.telekom.de/netweb/gui/help.php?HELPFILE=logon.hlp

我把其中的logon.hlp用以../../../../../../../../etc/passwd请求信息进行了替换:

https://netweb.telekom.de/netweb/gui/help.php?SID&HELPFILE=../../../../../../../../etc/passwd

Bingo:

再换成/etc/release:

最终,出现了多个本地文件包含(LFI)漏洞:

命令执行漏洞

有了LFI漏洞,但还不能构成命令执行条件。我尝试用error.log来发现一些信息,由于info.php ( phpinfo())文件是位于站点根目录下的,它里面的信息包含了error.log文件位置,如下:

https://netweb.telekom.de/netweb/gui/help.php?HELPFILE=../../../../../../../../../../../../../pkg/moip/netinfo/logs/apache-netweb-P/error.log

而在error.log的请求运行之后,其中还包含了之前用dirb跑出的文件soap.php信息,error.log中的一个数值还与referer值相关:

我们在curl请求下,用php echo方法来测试referer值响应输出是否会包含58-8=50的信息:

很好,error.log中竟然包含了58–8的测试值50输出:

那么也可以用它来响应phpinfo()信息:

利用error.log文件来执行phpinfo()的信息输出如下:

最终,我发给德国电信的漏洞报告如下:

最终,德国电信修复了这些漏洞。

*参考来源:@maxon3,freebuf小编clouds编译,转载请注明来自FreeBuf.COM返回搜狐,查看更多

责任编辑:

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。