zoukankan      html  css  js  c++  java
  • 【随笔】Apache降权和禁用PHP危险函数

    测试环境:

    Windows Server 2003 + phpstudy

    首先在win2003里运行phpstudy,这里注意需要选择应用系统服务模式,应用之后重启phpstudy。

    打开系统服务(开始>>管理工具>>服务),出现Apache2a这个服务就成功了。

    然后打开我们上传的PHP大马进行测试,正常情况下的权限为administrator。

    环境测试正常,开始我们今天的学习目的。系统的权限分为system、admin和user权限。前两个都拥有较高权限,因为我们需要进行降权。

    1、新建一个普通用户,命令如下。

    net user yu 123qwe /add

    打开服务界面,右键点击Apache2a服务,属性>>安全>>此账户,添加我们新建好的用户。这里注意密码需要重新输进去。设置完成后重启服务。

    重启时会出现如下错误:

    我们打开日志看一下是什么原因。我的电脑>>管理>>事件查看器>>应用程序。

    由日志可以发现是error.log文件拒绝访问,缺失权限。因此我们对此文件进行权限设置,重新添加我们新建用户的权限。

    这里由于是日志文件,我就直接给了完全控制权限。(不是因为懒)

    重新启动Apache2a服务,成功启动。在webshell上查看当前用户,成功降为普通用户。

    2、进行目录访问限制。将网站根目录WWW设置为只读权限,禁止创建文件和修改文件。

    将mysql目录下的data文件夹权限只给:遍历文件夹和列出文件夹。

      

    权限设置成功。

    至此。我们的权限设置就差不多完成了,其他目录的权限设置也大同小异,大家可以自行修改。

    最后,我们还希望最好能够直接K掉webshell的命令执行功能,进一步降低风险,怎么做呢?

    打开php.ini文件,找到 disable_functions =,将PHP危险函数添加进去。如下:

    disable_functions = phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen,popen

    保存之后重启。再次执行命令,没有出现结果,成功完成。

    笨鸟先飞早入林,笨人勤学早成材。
    
    转载请注明出处:
    撰写人:fox-yu  http://www.cnblogs.com/fox-yu/
  • 相关阅读:
    9.11 eventbus
    9.10,,,实现new instanceof apply call 高阶函数,偏函数,柯里化
    9.9 promise实现 写完了传到gitee上面了,这里这个不完整
    9.5cors配置代码
    9.5 jsonp 实现
    9.5 http tcp https总结
    9.3 es6 class一部分 and es5 class 发布订阅
    8.30 cookie session token jwt
    8.30vue响应式原理
    warning: LF will be replaced by CRLF in renard-wx/project.config.json. The file will have its original line endings in your working directory
  • 原文地址:https://www.cnblogs.com/fox-yu/p/7815066.html
Copyright © 2011-2022 走看看