设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 服务器 > 安全 > 正文

Python代码审计实战案例总结之SQL和ORM注入(2)

发布时间:2019-12-18 02:16 所属栏目:53 来源:站长网
导读:engine=create_engine('mysql://root:123456@192.168.56.101:3306/mysql?charset=utf8') DB_Session=sessionmaker(bind=engine) session=DB_Session() session.execute('usemysql;') print( session.execute( selec

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' and 11=1; 

            """ 

    ).fetchall() 

这个是使用sqlalchemy的ORM注入,它存在任意执行SQL语句的接口。道理上讲这个是功能,实际情况大多数程序员都会认为ORM是能够防御SQL注入,这个可能会成为漏洞。通过转义可以更好的解决问题,但是官方可能并不重视。另外还有sqlalchemy几个问题利用order_by注入、利用”limit”和”offset”关键词向”select()”函数传递注入等等,方法一样利用模块过滤不严,暂不多论。

(2) Django JSON SQL注入(CVE-2019-14234)

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读