htaccess

文件上传漏洞

落花浮王杯 提交于 2020-03-10 12:41:41
1、漏洞简介   文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得执行服务器端命令的能力 2、满足条件 上传的文件能够被web容器解释执行,文件上传后所在的目录是web容器所覆盖到的路径 用户能够从web上访问这个文件 用户上传的文件若被安全检查,格式化,图片压缩等功能改变了内容,也可能导致攻击不成功 3、文件上传导致的安全问题 上传文件是web脚本语言,服务器的web容器解释并执行了用户上传的脚本,导致代码执行 上传文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在该域下的行为 上传的文件是病毒,木马文件,黑客用于诱骗用户或者管理员下载 上传的文件是钓鱼图片或包含了脚本的图片,在某些版本的浏览器中会被当作脚本执行,用于钓鱼和欺诈 4、文件上传检测方法及绕过 前端检测:直接使用浏览器F12上的设置禁用 文件类型检测:使用Burp抓包,修改文件文件类 文件后缀检测     a.00截断绕过          b.大小写绕过:Php,pHp,PHp     c.双重后缀名:shell.jpg.php     d.黑名单绕过:通过上传不受欢迎的php扩展来绕过黑名单,例如:pht,phpt,phtml,php3,php4,php5,php6     e.文件解析规则绕过:上传 .htaccess 规则解析文件     

Typecho 设置伪静态

好久不见. 提交于 2020-03-08 15:13:08
1. 背景 未开启伪静态时,博客的链接是带有 index.php 的,除了不太美观,对搜索引擎的抓取也不太友好 进入后台–》设置–》永久链接–》强制启用地址重写 会发现所有文章都打不开了、 2. Apache下解决方案 问题在于缺少相应的配置文件 htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。通过 htaccess 文件,可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许 / 阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。 下面需要修改 .htaccess 文件(根目录没有就新建一个) 对于 Apache 服务器 <IfModule mod_rewrite.c> RewriteEngine On # 下面是在根目录,文件夹要修改路径 RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule> Windows下就新建一个记事本,复制以上代码,然后另存为保存为 .htaccess 然后上传到网站根目录即可,最后重新后台开启地址重写功能 3. 其他环境的配置 Linux

SEO Drupal .htaccess 文件(适合multi-site)

浪子不回头ぞ 提交于 2020-03-01 01:48:59
如果要对基于 Drupal 建立的网站进行 SEO (Search Engine Optimization——搜索引擎自然结果优化),那么就一定要尽量避免网站内的重复页面。因为当搜索引擎的爬虫抓取到大量的重复页面时,搜索引擎就会降低对网站页面的打分,当然这种影响可能并不太容易被察觉。 当我们使用 Drupal 时通常会碰到这样的问题,例如:页面 http://www.mypetal.com/node/12 和页面 http://mypetal.com/node/12 显示的是相同的内容。或许您会认为这是大惊小怪,但事实上这是两个独立的页面,它们的内容重复,这一点对 SEO 不利。好在 Drupal 开发者早已为我们考虑到了这点,只要做个略施小计就能唤醒这个功能:) 注意: 本文只针对拥有一级域名的网站,二级域名的网站不存在这个问题。 默认安装下 Drupal .htaccess 配置 Drupal 默认的 .htaccess 为我们提供了两种解决方案: 把链接 http://mypetal.com 重定向到 http://www.mypetal.com 把链接 http://www.mypetal.com 重定向到 http://mypetal.com 这两种方案都是为了确保只有一种形式的链接,没有优劣之分。 第1种方案,查找下面代码: # RewriteCond %{HTTP

apache虚拟目录配置实例

隐身守侯 提交于 2020-02-29 09:23:13
apache 虚拟目录配置实例 一、首先,开启虚拟主机配置 在文件httpd.conf中找到: include conf/extra/httpd-vhosts.conf #开启 二、对httpd-vhost.conf文件进行配置 Java代码 //监听端口,NameVirtualHost <VirtualHost>标签依靠这个哦 NameVirtualHost *:80 <VirtualHost *:80> ServerName testa.com DocumentRoot "/var/www/test.com" <Directory "/var/www/test.com"> Options Indexes MultiViews FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> ErrorLog "/var/log/httpd/error_test.log" CustomLog "/var/log/httpd/comm_test.log" common </VirtualHost> 三、本地host中添加域名 IP 对应关系(单IP多域名时可用不同端口来完成) httpd.conf是Apache的主要配置文件,但是针对每个目录,apache还允许在它们各自的目录下放置一个叫做

[原题复现+审计][SUCTF 2019] WEB CheckIn(上传绕过、.user.ini)

ぐ巨炮叔叔 提交于 2020-02-29 03:58:42
简介 原题复现:https://github.com/team-su/SUCTF-2019/tree/master/Web/checkIn 考察知识点: 上传绕过、.user.ini 线上平台: https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 过程 拿到题老方法 各种绕过尝试 经过测试 得知有:后缀名检测(php,php1、php5、phtml不行).文件内容不能有<? 、必须是图片类型、低啊用了这个函数exif_imagetype()所以要添加文件头 测试.htaccess可以 但是没用 看WP说服务器是 nginx 1.10.3 ,似乎版本较高,不存在解析漏洞。可以使用.user.ini .user.ini .user.ini 。它比 .htaccess 用的更广,不管是nginx/apache/IIS,只要是以fastcgi运行的php都可以用这个方法。我的nginx服务器全部是fpm/fastcgi,我的IIS php5.3以上的全部用的fastcgi/cgi,我win下的apache上也用的fcgi,可谓很广,不像.htaccess有局限性。 auto_prepend_file 和 auto_append_file 大致意思就是:我们指定一个文件(如a.jpg)

APACHE 支持.htaccess 并对其配置

一曲冷凌霜 提交于 2020-02-28 11:49:54
Apache中的.htaccess(或者”分布式配置”了针对目录改变配置的方法, 即,在特定的文档目录中放置包含或多个指令的,以作用于此目录及其子目录。作为,所能的命令受到限制。***Apache的AllowOverride指令来设置。 子目录中的指令会笼盖更高级目录或者主器配置中的指令。 .htaccess必需以ASCII模式上传,最好将其权限设置为644。 打开httpd.conf(在那里? APACHE目录的CONF目录里面),用文本编纂器打开后,查找 (1) Options FollowSymLinks AllowOverride None 改为 Options FollowSymLinks AllowOverride All (2)去掉下面的注释 LoadModule rewrite_module modules/mod_rewrite.so (3)修改此处 <FilesMatch "^\.ht"> Order allow,deny Deny from all Allow from All </FilesMatch> 就好了 1. 定制目录的 Index 文件 DirectoryIndex index.html index.php index.htm 2. 自定义错误页 ErrorDocument 404 errors/404.html 3. 控制访问文件和目录的级别

.htaccess基本语法和应用

三世轮回 提交于 2020-02-28 11:45:50
.htaccess基本语法和应用 .htaccess是Apache服务器的一个非常强大的分布式配置文件。 正确的理解和使用.htaccess文件,可以帮助我们优化自己的服务器或者虚拟主机。 如何启用htaccess 以windows为例,进入apache/conf目录,找到httpd.conf文件,去掉 LoadModule rewrite_module modules/mod_rewrite.so 前面的#,然后设置目录属性AllowOverride All,重启apache即可 常见格式 下面是一个典型的htaccess文件 # 开启URL重写 RewriteEngine on # URL重写的作用域 RewriteBase /path/to/url # 满足怎样的条件 RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] # 应用怎样的规则 RewriteRule .? http://www.example.com%{REQUEST_URI} [R=301,L] 来看看RewriteCond,首先有一个%,因为{HTTP_HOST}是一个apache变量,需要用%来指示。从!开始就是匹配的条件,支持 正则。!表示不等于,这句话的意思就是:如果HTTP_HOST不是www.example.com。后面的[NC](no case

htaccess文件禁止ip访问

北城以北 提交于 2020-02-28 11:42:46
.htaccess禁止某些IP或IP段的访问。 在配置文件中这样写: Order Allow,Deny Deny from 111.111 . 111.111 222.222 . 222.222 Allow from all 就可以轻松实现禁止这两个IP访问网站。 参考链接: 使用htaccess文件来禁止ip访问 来源: oschina 链接: https://my.oschina.net/u/1025890/blog/267461

Linux服务器配置多台虚拟主机

旧城冷巷雨未停 提交于 2020-02-25 12:32:55
  2016年11月4日15:59:12 LAMP环境 参考: http://blog.itblood.com/nginx-same-ip-multi-domain-configuration.html 在httpd/conf/httpd.conf里按照如下配置: symlink attack 符号连结攻击 Creating symlink for sourcetitles 创建节目源链接 symlink 创建符号链接,建立符号连接,符号链接 Windows 添加虚拟主机之后,重启不了Apache ,最后发现 Options Indexs FollowSymlinks 这句话的“Indexs”去掉,就神奇的重启成功了!!!不知道原因~~~~~ ##<VirtualHost *:80> ## ServerAdmin fudesign@163.com ## DocumentRoot "F:\www\html" ## ServerName weixin.sjwl.com ## ServerAlias weixin.sjwl.com ## ErrorLog "logs/htmlf.log" ## CustomLog "logs/htmlf.log" combined #####如果是Linux 服务器,就将Directory标签目录中的反斜线(“\”)改为斜线(“/”),输入正确的目录##

TP隐藏入口

↘锁芯ラ 提交于 2020-02-13 09:04:50
我们知道,在thinkphp的案例中有一个.htaccess文件,里面配置了URL的一些重写规则,如: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule> 它的作用就是设置URL重写以隐藏URL中含有的index.php。一般来说URL过长或者动态化的URL都不利于SEO因此隐藏的目的就是要达到更好的SEO效果。 明白了.htaccess文件的作用,接下来就是让它工作起来。 要使.htaccess文件起作用,通常需要服务器开启URL_REWRITE模块才能支持。 下面是Apache的配置过程: 1、httpd.conf配置文件中加载了mod_rewrite.so模块 在httpd.conf配置文件搜索 LoadModule rewrite_module modules/mod_rewrite.so (Apache2是这个)去掉前面的# 2、AllowOverride None 将None改为 All 在httpd.conf配置文件找到“AllowOverride None”将None改为 All