测试环境:

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/

Apache降权和禁用PHP危险函数的更多相关文章

  1. 【随笔】Apache降权和禁用PHP危险函数

    测试环境: Windows Server 2003 + phpstudy 首先在win2003里运行phpstudy,这里注意需要选择应用系统服务模式,应用之后重启phpstudy. 打开系统服务(开 ...

  2. 禁用了传说中的PHP危险函数之后,Laravel的定时任务不能执行了?

    虽然已是 2018 年,但网上依然流传着一些「高危 PHP 函数,请一定要禁用!」的标题党文章(搜索关键字:一些需要禁用的PHP危险函数). 这些文章的内容简单直接,给出 php.ini 的 disa ...

  3. 一些需要禁用的PHP危险函数(disable_functions)

    一些需要禁用的PHP危险函数(disable_functions)   有时候为了安全我们需要禁掉一些PHP危险函数,整理如下需要的朋友可以参考下 phpinfo() 功能描述:输出 PHP 环境信息 ...

  4. PHP危险函数总结学习

    1.PHP中代码执行的危险函数 call_user_func() 第一个参数 callback 是被调用的回调函数,其余参数是回调函数的参数. 传入call_user_func()的参数不能为引用传递 ...

  5. php常见的危险函数

    代码执行的危险函数 eval() 把字符串作为php代码执行 早期php一句话木马都用这个 <?php @eval($_POST['shell']);?> assert() 检查一个断言是 ...

  6. WordPress ”无法发送电子邮件,可能原因:您的主机禁用了mail()函数“的解决办法

    WordPress网站中出现 "无法发送电子邮件,可能原因:您的主机禁用了mail()函数"的情况一般都是因为所在主机环境不支持在线邮件收发功能导致,如果不支持的话,那么像类似 N ...

  7. org.apache.commons.lang.StringUtils 中 Join 函数

    转自 http://my.oschina.net/zenglingfan/blog/134872 写代码的时候,经常会碰到需要把一个List中的每个元素,按逗号分隔转成字符串的需求,以前是自己写一段比 ...

  8. WordPress无法发送电子邮件,可能原因:您的主机禁用了mail()函数解决方案

    体验更优排版请移步原文:http://blog.kwin.wang/website/wp-cant-send-email-solution.html 最近折腾了下WordPress,给米表 搭了个论坛 ...

  9. PHP危险函数的持续学习

    记录下遇到过的PHP危险函数 0x01 escapeshellarg()与escapeshellsmd()联合 先给出官方的定义: escapeshellarg ( string $arg ) : s ...

随机推荐

  1. LNMP环境源码搭建

    以前LNMP环境是由运维搭建,自己搭建的时候查找了很多资料,这是我见过的最棒的资料,将过程记录下来分享给大家 为啥使用LNMP而不是LAMP下面来谈谈Nginx的技能 Nginx是一个小巧而高效的Li ...

  2. bzoj4236 JOIOJI hash 模拟

    JOIOJI桑是JOI君的叔叔."JOIOJI"这个名字是由"J.O.I"三个字母各两个构成的. 最近,JOIOJI桑有了一个孩子.JOIOJI桑想让自己孩子的 ...

  3. Easy sssp

    Easy sssp 时间限制: 1 Sec  内存限制: 128 MB提交: 103  解决: 20[提交][状态][讨论版] 题目描述 输入数据给出一个有N(2  < =  N  < = ...

  4. Detect Capital

    Given a word, you need to judge whether the usage of capitals in it is right or not. We define the u ...

  5. 安卓App提交应用商店时遇到的两个小问题

    陆陆续续做了一个半月左右的「喵呜天气」终于在今天下午成功提交到应用商店(腾讯应用宝).期间遇到两个小问题,记录如下: 1.上传安装包失败,提示「无法获取签名信息,请上传有效包(110506)」. 安装 ...

  6. 电脑本机ping通Linux虚拟机的方法

    一.安装VMware: 二.创建Linux虚拟机(centOS7): 三.开启虚拟机,在Linux桌面右键打开终端,输入查看虚拟机ip地址的命令:ifconfig -a    四.打开本机cmd窗口, ...

  7. 【转】Python装饰器与面向切面编程

    原文请参考: http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html 今天来讨论一下装饰器.装饰器是一个很著名的设计模式,经常被用于有切 ...

  8. 将图标LOGO之类的图形图像转换成字体调用方法大全

    借鉴百度对此标题的评价: 使用字体图标的优势 字体图标除了图像清晰度之外,比位图还有哪些优势呢. 适用性:一个图标字体比一系列的图像(特别是在Retina屏中使用双倍大小的图像)要小.一旦图标字体加载 ...

  9. Rythm.js 使用教程详解

    转载自 http://blog.csdn.net/qq_26536483/article/details/78261515 简介 rythm.js是一款让页面元素跳动起来的插件,并且带音乐,共7种用法 ...

  10. 用git上传代码到新浪云

    新浪云空间是国内免费的一个空间,不过有限制很多. 申请新浪云需要新浪账号,注册略. 使用新浪账号去http://sae.sina.com.cn申请一个空间 选择新建应用 可以选择使用php项目 管理应 ...