设为首页 收藏本站
查看: 852|回复: 0

[经验分享] 11.28 限定某个目录禁止解析php 11.29 限制user_agent 11.30/11.31 php相关配置

[复制链接]

尚未签到

发表于 2018-12-13 08:24:41 | 显示全部楼层 |阅读模式
- 11.28 限定某个目录禁止解析php
- 11.29 限制user_agent
- 11.30/11.31 php相关配置
- 扩展
- apache开启压缩 http://ask.apelearn.com/question/5528
- apache2.2到2.4配置文件变更 http://ask.apelearn.com/question/7292
- apache options参数 http://ask.apelearn.com/question/1051
- apache禁止trace或track防止xss http://ask.apelearn.com/question/1045
- apache 配置https 支持ssl http://ask.apelearn.com/question/1029


# 11.28 限定某个目录禁止解析php

- 如果有一个目录是可以上传图片,但是可能被有心之人上传php上去,因为httpd开放了php模块,所以如果被人上传了***文件(php类型),httpd就有可能会进行执行,一旦执行,就会让对方获得我们服务器的root权限,或者是被恶意删除或修改一些参数,导致服务器瘫痪或者是被***
- 案列:一台服务器,网站被***,但不知道是什么原因,不知道怎么***的,也不知道***到什么程度,只知道他们公司的数据库泄露了,数据是一些电话号码,***并没有去删除数据,因为他知道这个服务器的数据库里,电话号码每天都在增长,他就可以源源不断的获得新的电话号码,获得的电话号码可以卖给第三方;
- [ ] 解决方式:
- 把一个没有在这个服务器提交过的电话号码,在这个服务器的网站上提交一次,结果,马上就有人打电话过来,证明,***获得电话号码,到打电话给新的用户,这套体系,已经完全自动化了(每天都会去抓取一个新的电话号码来队列,然后马上卖给第三方,第三方马上打电话给这个用户),所以就猜测,网站的程序(php)存在漏洞,另一种可能就是sql注入的漏洞(可以把查询的sql通过一些特殊的提交,提交到服务器上,服务器就会把这个sql语句转换成正常的查询,最终获得一些数据回来);但是sql注入漏洞,很容易修复,只要在网站提交的入口,增加一些特殊符号的过滤,就能完全的阻断sql注入的漏洞。
首先抓包,监控数据的查询,因为电话号码是通过查询了数据来的,写一个死循环的脚本,每隔一分钟抓一次查询数据,抓完以后生成一个日志文件,
查看日志以后,发现有一条sql查询,和网站源生的查询不一样,通过日志定位到了时间点,然后就去web服务器上查看时间点的访问日志,通过日志查看到了一个非常特殊的请求,名字是以php结尾的文件,而且这个php文件是在图片的目录下进行访问的,然后去查看这个php 文件,发现这个文件内容,是获取服务器的权限,相当于在服务器开了一个后门;这个问题产生的根本原因,就是因为上传图片目录并没有禁止解析php
- 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。[1]  比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式***..
- 那么怎么配置设置禁止php 解析
- - 核心配置文件内容
   
        php_admin_flag engine off
   
-  curl测试时直接返回了php源代码,并未解析
-  首先编辑虚拟主机配置文件
```
    #
    #
   
        
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
   
   
   
        SetEnvIfNoCase Referer "http://111.com" local_ref
        SetEnvIfNoCase Referer "http://aaa.com" local_ref
        SetEnvIfNoCase Referer "^$" local_ref
        
            Order Allow,Deny
            Allow from env=local_ref
        
   
```
- 改为
```
      #
    #
   
        php_admin_flag engine off
        
        Order allow,deny
        Deny from all
        
   
   
        
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
   
   

   
        SetEnvIfNoCase Referer "http://111.com" local_ref
        SetEnvIfNoCase Referer "http://aaa.com" local_ref
        SetEnvIfNoCase Referer "^$" local_ref
:wq      
```
- 检查语法,重新加载配置
```
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@localhost ~]#
[root@localhost ~]# cd /data/wwwroot/111.com
[root@localhost 111.com]# ls
123.php  admin  index.php  qq.png
[root@localhost 111.com]# mkdir upload
[root@localhost 111.com]# ls
123.php  admin  index.php  qq.png  upload
[root@localhost 111.com]# cp 123.php upload/
[root@localhost 111.com]# !curl
curl -x127.0.0.1:80 'http://111.com/admin.php?/alsjdf' -I
HTTP/1.1 404 Not Found
Date: Thu, 12 Oct 2017 12:41:28 GMT
Server: Apache/2.4.27 (Unix) PHP/7.1.6
Content-Type: text/html; charset=iso-8859-1

```
- 再来访问下
```
[root@localhost 111.com]# curl -x127.0.0.1:80 'http://111.com/upload/123.php' -I
HTTP/1.1 403 Forbidden
Date: Thu, 12 Oct 2017 12:42:49 GMT
Server: Apache/2.4.27 (Unix) PHP/7.1.6
Content-Type: text/html; charset=iso-8859-1
[root@localhost 111.com]# curl -x127.0.0.1:80 'http://111.com/upload/123.php'


403 Forbidden

Forbidden
You don't have permission to access /upload/123.php
on this server.


[root@localhost 111.com]#
```
- 先把filesmatch 注释掉
```
      #
    #
   
        php_admin_flag engine off
        #
        #Order allow,deny
        #Deny from all
        #
   
   
        
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
   
   
   
        SetEnvIfNoCase Referer "http://111.com" local_ref
        SetEnvIfNoCase Referer "http://aaa.com" local_ref
:wq  
[root@localhost 111.com]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost 111.com]# /usr/local/apache2.4/bin/apachectl graceful
[root@localhost 111.com]#
```
- 再来访问
```
[root@localhost 111.com]# !curl
curl -x127.0.0.1:80 'http://111.com/upload/123.php'

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650722-1-1.html 上篇帖子: centos6.9编译安装php5.6(基于php 下篇帖子: Linux下php开启openSSL-stone
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表