文件包含漏洞的其他利用

获取webshell

包含web 日志文件

包含access.log

Apache内建了记录服务器活动的功能,这就是它的日志功能。如果Apache的安装方式是默认安装,服务器一运行就会有两个日志文件生成。这两个文件是access_log(在Windows上是access.log)和error_log(在Windows上是error.log)。采用默认安装方式时,这些文件可以在/usr/local/apache/logs下找到;对于Windows系统,这些日志文件将保存在Apache安装目录的logs子目录。不同的包管理器会把日志文件放到各种不同的位置,所以你可能需要找找其他的地方,或者通过配置文件查看这些日志文件配置到了什么地方。甚至有可能需要在配置文件中开启日志文件记录。
windows 系统下phpstudy 集成环境开启访问日志
修改配置文件httpd.conf 第299行
blob.jpg
去掉这句前面的双##,并重启apache 服务
然后就能在phpstudy 子文件夹logs 中找的访问日志文件access.log
写webshell 到日志文件,并包含access.log
我们试图访问

http://localhost:8089/

并添加webshll 到日志文件
blob.jpg
可以看到access.log 日志文件中已经写入了webshell
blob.jpg
抓包绕过编码
blob.jpg
包含webshell
blob.jpg

包含error.log

error.log 记录了我们访问出错时的日志文件。由于access的日志文件比较大,所以我们在包含通过access.log 上传的webshell时可能会很慢甚至卡死,这时包含错误访问日志error.log 是个不错的选择。
写webshell 到日志文件,并包含error.log
抓包写webshell 到日志文件
blob.jpg
包含webshell
blob.jpg

包含ssh登入日志

如果web服务器开启了ssh,且我可以使用ssh 等工具连接其端口,我们可以尝试连接,使用webshell 作为用户名,然后在登录失败后,用户名会被记录在ssh的失败登入日志(/var/log/auth.log)中,我们可以包含这个日志文件获取webshell。
注意该日志文件可能不存在,具体请参考:http://nferzhuang.com/varlogauth-log%E6%96%87%E4%BB%B6%E4%B8%8D%E5%AD%98%E5%9C%A8/
使用ssh 写入webshell
ssh 连接服务器,用户名填入<?php phpinfo();?>
blob.jpg
查看日志文件
blob.jpg
包含日志文件
包含日志文件,得到webshell
blob.jpg
包含日志文件注意在linux 下是否具有相应权限,以及一些日志文件是否开启的问题。

包含环境变量

前提条件:PHP运行在CGI模式
实现过程:我们在user-agent中插入一句话,然后访问web服务器,在/proc/self/environ中会包含我们的user-agent信息,然后我们可以包含该文件获取webshell。
因为没有相应的PHP 运行环境,所以没办法具体演示。

包含图片马

结合文件上传漏洞,上传图片马

blob.jpg

包含图片马文件

blob.jpg

phpinfo包含临时文件

向phpinfo上传文件则可以返回文件路径,但是文件存在时间很短,
可以用脚本持续上传,然后就可以包含你上传的文件了。
具体可参考:http://www.91ri.org/11298.html

代码块高亮请二次刷新页面
欢迎访问阿威的博客https://www.cnblogs.com/TWX521/
欢迎访问阿威的简书https://www.jianshu.com/u/316a5e2577c0
专注技术与交流,stay hungry stay foolish

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Do NOT follow this link or you will be banned from the site!