[安全警告] 一键 php 开发环境暗藏杀机, phpstudy 一键包

2016-02-24 19:53:30 +08:00
 tntsec

昨晚在某群讨论 phpStudy 时,某大牛直说, phpstudy 的 fastcgi 安全性问题,并说了是解析漏洞 a.jpg/1.php

本人也是一方良辰,对于此漏洞也分析过,这个漏洞是 nginx 和 fastCGI 下触发的,由于 phpFPM 默认只解析 php 文件,如果用解析漏洞访问会返回 Access denied ,所以我是没测试过这个漏洞的。

本着以理服人的原则,本人还是对 phpstudy 进行了一下测试,结果自己的脸肿的都不敢摸了。。

phpstudy 刚刚更新, nginx 更新到了 1.9.9 ,增加了 php7 的支持,由于 win10 兼容问题,我这里只能启用 php5.5
当我用 /.php 访问时
我他么尿了。。

解析了,先不惊慌,能跨目录吗?

不惊慌,跨目录怕啥,权限在这不是?
嗯?权限呢??
没错,是当前用户,所有目录畅行无阻

你可能会说,这有啥?别人能访问吗?
能,因为默认监听了所有 IP


触发漏洞的条件也是默认开启的。

你可能疑问,这有啥?
我们设想一下,当你在咖啡厅,愉快的写着 PHP ,然后第二天,你的源码满天飞
这并不可怕,最可怕的是,什么都没发生。
就如同 linux 某编译器后门,多年后才被发现

为什么会发生?
1.默认监听了所有 IP ,内网都可以访问
2.触发漏洞的条件具备
3.fastCGI 权限过高,导致硬盘访问无阻

你必须承认,在你写代码的时候不会过多考虑权限问题,甚至你会用一个 update.php 上传文件,这本身已经足够严重了。

SO ?便捷的危险,复杂的安全,是时候选一个了!

最后可能有人会说,我不是 windows 啊?
那我只能说,我尽力了,但我救不了你

12825 次点击
所在节点    互联网
53 条回复
Citrus
2016-02-25 01:36:22 +08:00
@tntsec 我明白你说的,我的问题是,你说的这个漏洞或者问题也好,触发的前提起码正在开发的网站要有上传接口。如果没有一样不能触发,不是么?
yeyeye
2016-02-25 10:41:45 +08:00
upupw 不知道有没有这问题。反正对 WIN 平台的这类工具表示很无语(主要是运行权限过高),以前 IIS 设置权限都要搞一大堆设置,最重要的是低权限账号……
wslsq
2016-02-25 12:05:50 +08:00
这个老漏洞我就不多说了。。。我只想说我的 win10 可以启动 phpstudy 里的任何 php 版本啊
Ruiming
2016-02-25 15:21:56 +08:00
以前在 win 本地就是用 phpstudy 的,自从写 laravel 后就用 vagrant 了。没注意到这些东西。
ershisi
2016-02-25 17:27:55 +08:00
ng 解析 iis 解析 都是老洞了。问题就在后缀解析上。
tntsec
2016-02-25 17:37:07 +08:00
@lecher 论站内搜索的重要性

但是,这跟那个完全是两个漏洞,那是 dedecms 的漏洞,用的是 php 文件包含,那本来就是 PHP
这个是 nginx 解析漏洞,任意文件都能解析为 php ,属于配置错误

“竟然还有那么多的自动配置工具不考虑在配置加上检测脚本类型”
不管是你链接里的漏洞还是我这个漏洞,都跟检测脚本类型没半点关系

不懂不可怕,不懂装懂最可怕
tntsec
2016-02-25 17:40:42 +08:00
@Citrus 那也只是没有解析漏洞而已
是三个问题中的一个
tntsec
2016-02-25 17:41:33 +08:00
@wslsq 我的启动让我安装 VC11 和 VC14 ,但是我都装了的
wslsq
2016-02-25 19:29:29 +08:00
@tntsec 是不是 x64 系统, x86 的 vc 也要装才可以
jhdxr
2016-02-25 19:53:26 +08:00
集成包自己学习还行,用于生产环境就是自己找死
tntsec
2016-02-25 21:11:16 +08:00
@wslsq 双版本都装了
Citrus
2016-02-28 01:23:53 +08:00
@tntsec 我的意思是,在没有解析漏洞的情况下,另外两个问题虽然也比较严重,但是就没有你说的这么严重啦
wulasite
2017-03-15 11:45:01 +08:00
Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
如果数据库提示这种是不是就不可以了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/258852

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX