htaccess

upload-labs 通关笔记

放肆的年华 提交于 2019-12-06 15:30:49
前言: 1、upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞 有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。(项目地址: https://github.com/c0ny1/upload-labs ) 2、靶机包含漏洞类型分类。 3、如何判断上传漏洞类型? upload-labs write up: Pass-01 绕过前段js检查 删除 return checkFile() 即可绕过。或者用浏览器插件禁用js然后进行上传。 Pass-02 Content-type绕过 方法一:绕过前段(删去js限制或者改为.jpg等),通过burpsuite抓包,修改MIME 方法二:加后缀.jpg可直接绕过MIME,但提交时需要抓包删去.jpg Content-Type: application/octet-stream 改为:Content-Type: image/png 即可上传绕过: Pass-03 黑名单绕过 绕过黑名单方法较多:使用.php2.phtml.phps、大小写、双写php等。这里使用.php2绕过,实战的话根据服务端配置进行测试。 上传的是.php2这种类型文件的话,如果想要被当成php执行的话,需要有个前提条件,即Apache的httpd.conf有如下配置代码 AddType

Apache 配置文件:.htaccess

纵饮孤独 提交于 2019-12-06 01:36:12
.htaccess 文件(或者“分布式配置文件”) 提供了针对每个目录改变配置文件的方法,即在一个特定的目录中放置一个包含指令个的文件,其中的指令作用于此目录及其所有的子目录。任何出现在配置文件中的指令都可能出现在.htaccess文件中。该文件在httpd.conf文件的AccessFileName指令中指定, 用于进行单一目录的配置 。 一般情况下,不应该使用 .htaccess 文件,除非你对主配置文件没有访问权限,把用户认证写在主配置文件中,是一种回归更好的方法。 .htaccess 文件应该被用在内容提供者需要针对特定的目录改变服务器的配置而又没有权限访问主配置文件的条件下。 虽然如此,还是要尽量避免使用 .htaccess 文件。任何希望放在 .htaccess 文件中的配置,都可以放置在主配置文件中的<Directory>段中,而且更高效。 避免使用 .htaccess 文件有两个主要的原因 : (1) 性能 :如果用AllowOverride启用了 .htaccess 文件,则Apache需要在每个目录中查找 .htaccess 文件,因此无论是否真正用到,启用 .htaccess 文件都会导致性能的下降。对每一个请求,都需要读取一次 .htaccess 文件。Apache必须在所有上级的目录中查找 .htaccess 文件,以使所有有效的指令都起作用。 (2)

启用Mod Rewrite和.htaccess

大憨熊 提交于 2019-12-06 01:35:38
Apache的Mode Rewrite模块 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。在大多数情况下,它和 .htaccess文件 配 合使用。比如本篇文章的URL(http://dancewithnet.com/2010/05/29/making-mod-rewrite- and-htaccess-work-on-mac-os-x)就是Wordpress配合Mod Rewrite模块和.htaccess文件一起实现的,即所谓的 固定链接(Permalinks) 。 Windows 在Windows下,我们一般使用的是Administrator账号,所以启用这两项非常简单: 在[Apache安装目录]/conf/httpd.conf中找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的注释符号#。如果没有这行,请添加。并确认apache安装目录下的modules文件夹中是否有mod_rewrite.so这个文件。这样就启用了Mod Rewrite功能。 在[Apache安装目录]/conf/httpd.conf中找到 <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all <

.htaccess文件得用途

只谈情不闲聊 提交于 2019-12-05 20:51:51
什么是.htaccess? .htaccess(超文本访问)是许多Web服务器根据目录应用设置的有用文件,允许在运行时覆盖Apache服务器的默认配置。使用.htaccess,我们可以在运行时轻松启用或禁用任何功能。 .htaccess是一个完整的文件名,不仅仅是文件的扩展名。 使用.htaccess配置时要注意,任何小错误都可能会阻止整个网站。很可能我们在.htaccess文件中会遇到状态码为500的错误。 .htaccess的用途? 我们可以使用.htaccess在运行时完成各种任务,下面列出了.htaccess的一些最常用的用法。 1、重定向或重写URL 使用.htaccess,我们可以轻松地将用户从一个URL重定向到另一个URL。此外,我们还可以在浏览器窗口中不更改URL的情况下将URL指向其他URL。 2、启用密码保护 使用.htaccess,我们可以在整个站点或特定目录访问上启用基本的HTTP身份验证。它可以防止未经授权访问数据。 3、定义自定义错误页面 当我们的网站在后端遇到任何错误时,Web服务器会显示每个错误的预定义错误页面。我们可以重新设计自己的错误页面,并在网站发生错误时向最终用户显示。 4、允许或拒绝用户 我们可以简单地限制任何用户访问基于该IP地址的特定网页的整个网站。可以简单地允许我们的安全页面仅从特定的ips访问。在这种情况下

apache配置文件详解

馋奶兔 提交于 2019-12-05 19:24:35
环境:apache2.24 一、配置文件语法    1. 注释:注释以#开头,且注释与指令不能在同一行   2. 指令:指令名不区分大小写,指令参数区分大小写,指令参数以空格分隔,参数中有空格则引号包裹。‘\’表示指令继续到下一行   3. 变量:${var},var中不能包含‘:’ 二、模块    httpd是模块化服务器。 这意味着核心服务器中仅包含最基本的功能。 可通过 可加载到httpd中的 模块 获得扩展功能   LoadModule  加载模块(可动态加载的模块)   <IfModule modulename> </IfModelu> 加载其它模块(如php_apache)  三、指令范围   直接在主配置文件中的指令是全局配置,若想指定生效范围,则应用范围指令包含   <Directory></directory>  目录设置   <Files> </Files>     <Location> </Location>  路由   <VirtualHost> </VirtualHost>  虚拟主机配置 四、分布式配置文件(.htaccess)   该文件每次请求都会读取,上面设置立即生效,一般用来设置重写。(文件一般位于网站根目录)   AccessFileName  设置.htaccess文件名   AllowOverride   设置.htaccess文件是否生效

IIS7.0 Windows2008 配置伪静态

南笙酒味 提交于 2019-12-05 11:03:49
1、先到IIS官方下载模块 下载地址:http://www.iis.net/download/URLRewrite 2、安装重写模块 我下载的是本地exe文件,双击安装即可(如果IIS服务没停的话,安装完成后会要求重启系统。) 3、这个时候再进 “Internet 信息服务(IIS)管理器”,就可以看见模块中多了一个 Url Rewrite 模块,进入需要设置伪静态的相关站点。 4、进入需要设置的站点,双击 Url Rewrite 图标,进入设置界面。 然后点击右侧的“导入规则“ 5、导入规则文件:.htaccess 点击“导入”此文件 (没有 .htaccess 可以 下载一个phpcms v9 ,导入其中的 .htaccess ) 6、确认无误后,点击右栏的“应用”按钮即可 ps: 配置完伪静态后发现网站所有的链接都不跳转,都显示首页。找了好多资料,摸索了一个上午,最终发现还是规则文件的问题。 下面常用的 web.config 配置伪静态的方法。 第一种方法:web.config <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="OrgPage" stopProcessing="true"> <match url="^(.

.htaccess 基础教程(二)

拟墨画扇 提交于 2019-12-05 05:03:56
今天要介绍的:.htaccess的第一个应用是自定义错误页面,这将使你可以拥有自己的、个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错误页或没有任何页面。这会让你的网站在出错的时候看上去更专业。你还可以利用脚本程序在发生错误的时候通知你(例如我使用Free Webmaster Help的PHP脚本程序,当找不到页面的时候自动e-mail给我)。 你所知道的任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面: ErrorDocument errornumber /file.html //errornumber 像404等 举例来说,如果我的根目录下有一个nofound.html文件,我想使用它作为404 错误的页面:ErrorDocument 404 /notfound.html。如果文件不在网站的根目录下,你只需要把路径设置为:ErrorDocument 500 /500错误页面的路径/500.html 以下是一些常用的客户端请求错误返回代码: 400 – Bad request 错误请求 401 Authorization Required需要验证 403 Forbidden禁止 404 Not Found找不到页面 405 Method Not Allowed 408 Request Timed Out

apache中.htaccess文件的功能写法

天涯浪子 提交于 2019-12-05 05:03:45
apache中.htaccess文件的功能写法 - .htaccess文件(或者"分布式配置文件"提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。 - 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。 - .htaccess必须以ASCII模式上传,最好将其权限设置为644。 错误文档的定位 常用的客户端请求错误返回代码: 401 Authorization Required 403 Forbidden 404 Not Found 405 Method Not Allowed 408 Request Timed Out 411 Content Length Required 412 Precondition Failed 413 Request Entity Too Long 414 Request URI Too Long 415 Unsupported Media Type 常见的服务器错误返回代码: 500 Internal Server Error 用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下,人们可以专门设立一个目录,例如errors放置这些页面。然后再

.htaccess文件rewrite规则 详解

只愿长相守 提交于 2019-12-05 00:22:13
.htaccess文件大家都不陌生吧。不认识的自己去搜一下……顺便告诉你,这是个好东西,值得一学。 似乎网上关于.htaccess编写方法的教程很有限,相信博主们也没有几个是自己写的吧? 我在这里就搜了几个常用规则,总结一下rewrite规则的用法。当然这只是.htaccess功能的一小部分,但是相当实用。 如果熟练掌握rewrite规则的编写,能够加强对网站URL的控制,对用户体验、SEO都十分有利。 注:所有规则来源于网络,我只作解释。 一、防盗链功能 1 2 3 4 RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L] 逐行讲解一下: 1. 打开Rewrite功能。有可能服务器设置里已经是全局下打开了,但是多写也没事。 2. RewriteCond 指令, 定义生效条件 ,用于寻找匹配条件的地址。后面内容用正则表达式匹配。代表含义是发送的请求不由mysite.com而来,那就是盗链啦。末尾的 [NC] 代表忽略大小写。 3. 发送请求的主机前缀不为空。 4. RewriteRule 指令,

Apache伪静态(Rewrite).htaccess文件详解

无人久伴 提交于 2019-12-05 00:22:00
Htaccess(超文本访问)是一个简单的配置文件,它允许设计师,开发者和程序员通过它来改变Apache Web服务器的配置。 这些功能包括用户重定向、URL重写(url rewrite,国内很多称为伪静态)、目录密码保护。 现在我们开始—— 1 建立并上传一个.htaccess文件 建立一个.htaccess文件很简单,我们使用一个类似windows的记事本或者notpad++都可以,然后把"自动换行"功能关闭,然后写入一些字后保存文件。 比如,我们可以起名为: htaccess.txt 上传到Web服务器上的相关目录的文件,然后重新命名: .htaccess 记住.htaccess文件应当使用644权限,并以ASCII模式上传。如果.htaccess文件,那么应该联系系统管理员或托管公司,并确保他们已启用.htaccess文件。 如果想在本地Apache开启.htaccess,可按以下步骤进行: 其实只要修改一下apache目录下的httpd.conf文件,我们用文本编辑器打开后,把以下行去掉注释 LoadModule rewrite_module modules/mod_rewrite.so 然后查找: Options FollowSymLinks<br>AllowOverride None<br> 改为 Options FollowSymLinks<br