前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >限定某个目录禁止解析php+限制 user_agent

限定某个目录禁止解析php+限制 user_agent

作者头像
老七Linux
发布2018-05-09 16:01:37
2.8K0
发布2018-05-09 16:01:37
举报

限定某个目录禁止解析php :

实例解析:

有这样一种情况,有些站点和论坛是允许上传图片到服务器,但是这就给黑客留下了可进入服务器的大门,他们上传一些php或者js到服务器,然后被我们执行加载,有些函数可以让黑客获取最大的权限,从而对数据造成威胁!

为了避免这种事情的发生,我们需要限制上传类型。

  1. 配置:

在虚拟服务器中增加如下配置:

代码语言:javascript
复制
<Directory /data/wwwroot/test3.com/upload>
        php_admin_flag engine off
        <FilesMatch (.*)\.php(.*)>
        Order allow,deny
        deny from all
        </FilesMatch>
</Directory>

凡是在upload目录中的php均不解析!并且匹配任意.php的文件,全部拒绝访问!

  1. 测试(-t);加载配置(graceful)
  2. 创建upload目录,以及在upload目录下创建123.php去测试。
代码语言:javascript
复制
[[email protected] test3.com]# curl -x127.0.0.1:80 www.test3.com/upload/123.php
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /upload/123.php
on this server.<br />
</p>
</body></html>

如上当你访问.php文件时,直接拒绝,没有任何机会去访问,更别提执行了!

如果程序员让upload可以允许解析,那只有说明他不合格!静态文件存储的地方是不允许放php的。没有考虑到任何数据安全!!!


限制 user_agent :

User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

cc攻击:是我们经常见到的最常见的一种攻击,几乎每天每个时段都会存在。CC攻击就是黑客利用所能利用的肉鸡(就是所谓的黑客利用技术手段攻击下来的他人服务器)去攻击(正常的访问)你的站点,导致你的站点不可以被正常的用户所浏览。但是也不是不可防止,在攻击的时候有一个规律的特征,user_agent是一致的(其referer和访问页面是一致的,并且在一秒内发动N此访问)!

代码语言:javascript
复制
<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]
        RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC]
        RewriteRule  .*  -  [F]
   </IfModule>

咱们还是使用rewrite modul

代码语言:javascript
复制
RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]   //匹配Curl的访问   [NC,OR] NC:忽略大小写。 OR:是或者的意思,要么这一条,要么下一条满足情况
RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC]
RewriteRule  .*  -  [F]   // F:Forbidden 禁止

只要使用curl和baidu.com来攻击,就会直接也不跳转了,就直接禁止!

代码语言:javascript
复制
[[email protected] test3.com]# curl -x127.0.0.1:80 www.test3.com
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.<br />
</p>
</body></html>

使用Curl这种方式访问直接被禁掉(You don’t have permission to access on this server.)

当然你也可以使用curl -A :随意指定自己这次访问所宣称的自己的浏览器信息。

代码语言:javascript
复制
[[email protected] test3.com]# curl -A "haha browser" -x127.0.0.1:80 www.test3.com -I
HTTP/1.1 200 OK
Date: Thu, 03 Aug 2017 06:15:37 GMT
Server: Apache/2.4.27 (Unix) PHP/7.1.6
X-Powered-By: PHP/7.1.6
Content-Type: text/html; charset=UTF-8

改变浏览方式即可访问。查看下日志:

代码语言:javascript
复制
[[email protected] test3.com]# tail /usr/local/apache2.4/logs/test3.com-access_20170803.log 
127.0.0.1 - - [03/Aug/2017:14:12:41 +0800] "GET HTTP://www.test3.com/ HTTP/1.1" 403 209 "-" "curl/7.29.0"
127.0.0.1 - - [03/Aug/2017:14:15:37 +0800] "HEAD HTTP://www.test3.com/ HTTP/1.1" 200 - "-" "haha browser"

实用扩展:

apache 禁止trace或track防止xss攻击

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016/08/03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 限定某个目录禁止解析php :
    • 实例解析:
    • 限制 user_agent :
    • 实用扩展:
    相关产品与服务
    文件存储
    文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档