文件包含漏洞结合ssh登录日志getshell

一.文件包含漏洞简介

文件包含(漏洞)是程序开发人员通常出于灵活性的考虑,会将被包含的文件设置成变量,然后动态调用这些文件。但正是因为调用的灵活性导致用户可能调用一些恶意文件,造成文件包含漏洞。文件包含漏洞分为本地文件包含漏洞和远程文件包含漏洞。

php中文件包含的函数有:

require(),找不到被包含的文件时会产生致命错误,并停止脚本运行。

include(),找不到被包含的文件时只会产生警告,脚本将继续运行。

include_once()与include()类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。

require_once()与require()类似,唯一的区别就是如果该文件中的代码已经被包含,则不会再次包含。

为什么要文件包含?

减少重复代码、便于维护

例如

不同的php文件包含一些相同固定的内容可以减少重复代码,如果后期需要更改的话只需要更改包含的文件。

文件包含漏洞怎么被利用?

以我本地利用centos搭建phpstudy的集成环境为例(需要复现搭建的可以自行百度。phpstudy的网站为:http://xp.cn 只需一条命令即可安装lnmp环境。)

例如,我写了一个存在文件包含漏洞的php文件,其中包含的文件被写成可控的参数。(顺便提一下$_GET这个是php中的超全局变量,可以前端输入的url中接受file这参数的值,例如下面包含的1.txt文件)

 然后,在同目录下创建了一个1.txt的文件,内容是phpinfo()函数,可以显示php信息。

 在浏览器访问可以看到1.txt文件当成php解析。

 除了包含同目录的内容,也可以包含网站根目录以外的文件。例如/etc/passwd 文件的敏感文件,之利用'../','../'代表上一级目录。(我这里利用遇到open_basedir问题需要进入小皮面板关闭该功能)

 

二.利用文件包含漏洞ssh登录日志getshell

centos中ssh的登录日志保存在/var/log/secure中,利用ssh登录靶机,其中登录的用户名是一句话木马,留下记录到secure文件中。然后利用文件包含secure文件getshell。

1.利用另外一台虚拟机ssh登录靶机,密码随便输。

 此时,到靶机查看secure文件已经存在一句话木马。

最后利用利用文件包含漏洞getshell,用蚁剑测试连接成功。

 

 最后说一下遇到的小问题。文件包含的secure这给文件的时候没有权限。默认是600权限,需要利用命令chmod 777 secure改为777权限。

三.除了包含ssh日志外,还可以包含web日志getshell。

 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值