千家信息网

Python sqlalchemy ORM注入漏洞的分析过程

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Python sqlalchemy ORM注入漏洞的分析过程,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。介绍:SQLAlchemy
千家信息网最后更新 2026年11月02日Python sqlalchemy ORM注入漏洞的分析过程

Python sqlalchemy ORM注入漏洞的分析过程,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

介绍:

SQLAlchemy是一个Python的SQL工具包以及数据库对象映射框架。

影响:

SQLAlchemy 1.3.3 版本存在ORM注入漏洞,攻击者可利用该漏洞获取数据库敏感信息。

安全等级:

高

漏洞编号:

CNVD-2019-17301

分析:

1、对于不合规的SQL语句为进行过滤和拦截。

2、所谓的SAQL注入,就是指在SQLAlchemy中没有对数据进行有效的验证导致恶意数据进入应用程序中造成的。

复现环境:

PHPStudy 2018 php 5.4.45

SQLAlchemy 1.3.3

Python3

环境搭建:

PHPStudy 2018

https://www.cr173.com/soft/838278.html

SQLAlchemy 1.3.3

pip install MySQL-pythonPip install SQLAlchemy

漏洞分析:

在sqlalchemy.orm.session.sessionmaker之中,这里是数据库连接会话。

漏洞入口定位:sqlalchemy\orm\session.py 第608行,这里是数据会连接会话的对象。

漏洞入口方法定位:sqlalchemy\orm\session.py 第1137行,进入到执行SQL语句的方法。

继续往下来看方法代码,第1267行将SQL语句进行执行。

Execute() 是SQL语句执行的一个接口,允许执行任意的SQL语句,没有对于SQL注入进行有效的过滤。

验证:

POC_01

from sqlalchemy import create_enginefrom sqlalchemy.orm import sessionmakerimport sqlalchemyprint("sqlalchemy_version:",sqlalchemy.__version__)
engine = create_engine('mysql://root:123456@192.168.56.101:3306/mysql?charset=utf8')DB_Session = sessionmaker(bind=engine)session = DB_Session()session.execute('use mysql;')print( session.execute( """select * from user where User='root' *********;""" ).fetchall())

截图_01

POC_02

from sqlalchemy import create_enginefrom sqlalchemy.orm import sessionmakerimport sqlalchemyprint("sqlalchemy_version:",sqlalchemy.__version__)
engine = create_engine('mysql://root:123456@192.168.56.101:3306/mysql?charset=utf8')DB_Session = sessionmaker(bind=engine)session = DB_Session()session.execute('use mysql;')print( session.execute( """ select * from user where User='root' ********; """ ).fetchall())

截图_02

修复建议:

1、过滤非预定义中的拼接字符,比如过多的引号、@、冒号、分号等等;

2、使用有效的安全防护设备;

3、开发管理中禁止使用该接口;

关于Python sqlalchemy ORM注入漏洞的分析过程问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

漏洞 数据 分析 语句 方法 有效 数据库 问题 过程 安全 入口 对象 截图 接口 更多 环境 定位 帮助 解答 验证 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技 亿人帮互联网科技有限公司 世界互联网领先科技成果 壹账通互联网科技 上游互联网科技 金融科技和互联网金融 互联网科技创新企业排名 隆华科技工业互联网 昭通云南众福互联网科技有限公司 互联网校园科技培训 宜昌元轩互联网科技有限公司 河南住房之家互联网科技 特约风豹互联网科技为什么扣费 烟台灵鸽互联网科技有限公司 合肥互联网科技公司公章图片 梅州GM互联网络科技有限公司 广州百诚互联网科技有限公司官网 互联网科技手机排行榜 西安左小互联网科技有限公司 互联网科技自媒体灵感 互联网是不是新科技 万易互联网科技 互联网科技的英文 长亮科技 互联网金融 链环科技传统企业怎么转型互联网 佛山市翊博互联网络科技有限公司 互联网行业科技股 北京天晋互联网科技有限公司 亚光科技低轨卫星互联网 北京瑞云互联网科技有限公司
0