0x00 前言

其实这个点早在之前,我就已经想到了,当时也觉得没啥就记在了我的印象笔记里。

而今天重新把这个点拿出来讲,主要是因为今天早上在温习nmap的时候,一不小心利用这个点,拿下了一位同事的电脑。

或许这个方法已经一部分知道并且用烂了,但仍然会有另一部人不知道,但或许知道了又因为人天生的惰性而懒得去整改,致使自己的服务器暴露在了许多不怀好意的人的面前。

在这个比特币风疯狂的时代,很多网站站长都利用起访客的电脑来挖矿了。更何况是这些暴露在公网的电脑?当然利用方法有很多,这个方法或许只是其中一个非常非常小的利用点。

但它依旧是黑产利用不可或缺的方法之一,因为人的欲望是无穷的,是不会放过任何一个可以满足自己欲望的方法。

这篇文章主要是想讲讲默认配置带来的危险,没什么技术含量,作为一个警惕信号。

0x01 phpstudy简介

什么是phpstudy?

phpstudy是提供给php开发者,学习者的一种开发套件,其包含了常见的php网站开发利器php+mysql+apache/nginx/iis ,支持windows,linux等多个平台。可以轻易的切换php版本,服务器,快速打开网站根目录,修改配置等。

其方便快捷的功能,受到了广大开发者的青睐。同类型的产品还有wamp server,MAMP等。

其安装十分简单,下载zip包打开直接解压到指定目录即可

主目录下,一些文件的作用大致如下

点击主程序,启动之后大概是这么一个界面

启动服务之后,在网站根目录(WWW)下存放我们的php代码即可正常使用了。

非常的简单,就算是计算机小白也能利用其快速搭建一个可用的服务器,搭建起属于自己的个人网站。

在安全圈中,也是许多安全人员的必备神器。

0x02 根目录下默认文件带来的危险

在phpstudy www目录下默认会有这么几个文件。(mysql 默认的用户名和密码是root/root,只允许本机访问)

这几个文件是方便开发者进行调试,管理所用的。理应在发布到外网的时候进行删除或者限制访问。

但总有一些网站管理员是忘记了或者是压根没有注意到这几个文件,就直接把从网上下下来的程序解压到根目录。

比如像下面的目录一样。

那么我们就可以通过搜索引擎,以title关键字phpstudy 探针轻松找到暴露在外网可能有问题的网站。

再通过phpinfo或者探针页面,获取到网站的绝对路径。再加上mysql用户和密码用的是默认配置root/root,那么我们就可以利用phpmyadmin 通过修改general logfile的路径直接导出webshell至网站,从而获取到网站的shell,造成了服务器沦陷的极大可能性。

比如这样(拿到shell)

你可能会说,这样的案例还是少数。但是量也不少啊。

通过fofa搜索到的服务器数目高达2w多台。

除去一些可能没法利用的,但数目也是十分可观的了。

0x03 phpstudy使用nginx服务器可能带来的解析漏洞

其实这个锅并不是phpstudy的,但又不好说应该是谁的问题。其实归根到底是为了支持path info模式,也就是cgi.fix_pathinfo这个配置项的问题,因为其默认是开启的(有问题)。

但是假如是新手,对于这个不太了解的,那么就有可能GG了。

比如自己写了个网站,用的是nginx解析,没有做好处理。那么就有可能存在nginx解析漏洞了。关于nginx解析漏洞,可以看这里(www.laruence.com/2010/05/20/1495.html)

比如这样子。

在后面加一个/1.php,再访问一下很明显返回不一样了。(留意其颜色,这一次的会深一点,那是因为被当做了php程序解析了。返回的是text/html类型)

我们修改一下robots.txt的内容为一句php代码

在访问一下,即可看到成功执行了php代码。

还有一点是phpstudy在启动之后其网站默认是任何人都可以访问的,自然局域网下也是可以的。(也就是我在前言里面说的,通过这个拿下同事的电脑)

0x04 关于防御

那么应该怎么办呢?很简单,把该删的删了(www目录下的几个文件与及phpmyadmin),该修改的默认密码(mysql 的密码)改了。

如果说你需要用phpmyadmin,不想删,那么就配置下apache或者nginx。(以apache为例,在httpd.conf配置文件中加上如下面的代码)

#phpmyadmin
<Directory "D:/phpStudy/WWW/phpMyAdmin"> #这里是你的phpmyadmin的绝对目录
order deny,allow
Deny from all
Allow from 127.0.0.1 #这里是你想要允许访问的IP
</Directory>

不要以为说你只是个人电脑使用就不用慌。

倘若某天你正在星巴克连着WiFi上着网,热情如火的用phpstudy部署着想要审计的cms时,突然电脑一黑,这个时候你可能就要想到,有可能是因为phpstudy使用了默认配置默认文件的原因了。

0x05 总结

这篇文章只是以phpstudy为例(可以拓展到其他软件)说说默认配置,debug环境上线产生的问题,并不是说phpstudy本身有什么问题,而是说使用默认配置可能带来的风险。

刀可以用来杀人,也可以用来自卫,但用户想怎么做,不是生产者所能决定的,也不应该把锅推给生产者。

最新文章

  1. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决办法
  2. MVC的增删改和Razor
  3. Log4net 日志使用介绍
  4. JS事件详解
  5. httpModules与httpHandlers之httpModules(转载)
  6. 【codevs1191】数轴染色 线段树 区间修改+固定区间查询
  7. hdu5017:补题系列之西安网络赛1011
  8. docker 容器开启ssh服务
  9. ONES 安装、配置以及初始化配置
  10. H5 拖放
  11. sspanelv3魔改版邮件设置指南及常用配置
  12. PS图层混合算法之二(线性加深,线性减淡,变亮,变暗)
  13. (九) 主机增加打印(串口+ssh)
  14. 安卓开发笔记(十六):&#39;Request(okhttp3.Request.Builder)&#39; has private access in &#39;okhttp3.Request
  15. Oracle条件判断if...elsif
  16. Python之路-(Django(csrf,中间件,缓存,信号,Model操作,Form操作))
  17. ELK安装(ubuntu)
  18. JMeter&#160;扩展JMeter插件获取更多监听器
  19. delphi 把数据库图片的存取
  20. 使用InputStreamReader读入,使用OutputStreamWriter写出,将一首诗按行重写?

热门文章

  1. 时间紧任务重---extjs的学习就这么开始吧
  2. ML—高斯判别分析
  3. 结合源代码分析android的消息机制
  4. hdu 4869 Turn the pokers (思维)
  5. F02 金融学第二定律 资金的积聚
  6. js、jquery实现模糊搜索功能
  7. Python爬虫Scrapy(二)_入门案例
  8. intellij idea svn使用一 导入、更新、提交、解决冲突
  9. intellij 打开node项目 一直停留在scanning files to index....,或跳出内存不够的提示框
  10. NodeJs学习笔记(四)---单元测试