如何判断目标站点是否为Django开发
老文一篇,几个月以前发在【代码审计】小密圈里的文章,当时是写一个系列(Django安全漫谈),抽出其中的一部分,分享一下。 在黑盒测试的情况下,如何判断一个站是否是Django开发的?以下这些方法,很多都能在我的博客( [https://www.leavesongs.com](https://51tbox.com/) )得到印证。 [利用Debug模式异常页面判断](#de...
老文一篇,几个月以前发在【代码审计】小密圈里的文章,当时是写一个系列(Django安全漫谈),抽出其中的一部分,分享一下。 在黑盒测试的情况下,如何判断一个站是否是Django开发的?以下这些方法,很多都能在我的博客( [https://www.leavesongs.com](https://51tbox.com/) )得到印证。 [利用Debug模式异常页面判断](#de...
Django发布了新版本1.11.5,修复了500页面中可能存在的一个XSS漏洞,这篇文章说明一下该漏洞的原理和复现,和我的一点点评。 [0x01 补丁分析](#0x01) {#0x01} -------------------------- 因为官方说明是500页面中出现的BUG,所以我们重点关注的就是`django/views/debug.py`。 Github上有D...
在开发国际化网站的时候,难免会与时区打交道,通用CMS更是如此,毕竟其潜在用户可能是来自于全球各地的。Django在时区这个问题上下了不少功夫,但是很多资深的开发者都有可能尚未完全屡清楚Django中各种时间的实际意义和使用方法,导致写出错误的代码;作为安全研究人员,时区问题也可能和一些安全问题挂钩,比如优惠券的过期时间、订单的下单与取消时间等,如果没有考虑时区问题,有可能将导...
目前市面上有非常多的模板系统,其中最知名最好用的就是`DTL`和`Jinja2`。 `DTL` 是 `Django Template Language` 三个单词的缩写,也就是Django自带的模板语言。当然也可以配置Django支持Jinja2等其他模板引擎,但是作为Django内置的模板语言,和Django可以达到无缝衔接而不会产生一些不兼容的情况。 DTL与普通的HTM...
Django数据库 --------- ### MySQL驱动程序安装 使用 Django 来操作 MySQL ,实际上底层还是通过 Python 来操作的。因此想要用 Django 来操作 MySQL ,首先还是需要安装一个驱动程序。 在 Python3 中,驱动程序有多种选择。比如有 pymysql 以及 mysqlclient 等。这里我们就使用 mysqlclie...
在 ORM 框架中,所有模型相关的操作,比如添加/删除等,其实都是映射到数据库中一条数据的操作,因此模型操作也就是数据库表中数据的操作。 首先需要创建一个模型。添加模型到数据库中。 ```Python from django.db import models # Create your models here. class User(models.Model): ...
Django5 入门 ---------- ### Django相关的网址 Github源代码:<https://github.com/django/django> Django官网:<https://www.djangoproject.com/> ### 安装Django 通过 `pip install django` 安装 `django`...
如何在FastAPI中使用UUID标记日志,以跟踪一个请求的完整生命周期? 为什么要使用uuid标记日志? {#为什么要使用uuid标记日志} --------------------------------- 在分布式系统中,一个请求可能会经过多个服务,每个服务都会生成自己的日志。如果我们只使用普通的日志记录,那么很难将这些日志串联在一起,以至难以跟踪一个请求的完整生命周...
Github地址:<https://github.com/ijl/orjson> 在现代应用程序开发中,JSON(JavaScript Object Notation)是一种广泛使用的数据交换格式。Python 提供了多种处理 JSON 数据的库,其中 `orjson` 是一个快速且高效的 JSON 库,专注于高性能的序列化和反序列化操作。`orjson` 比 P...
命令 {#命令} -------- ### pip freeze - 查看安装的包并可以导出文件 {#pip-freeze---查看安装的包并可以导出文件} ```hljs language-bash pip freeze pip freeze > requirement.txt ``` ### 从指定的文件中安装需要的依赖 {#从指定的文件中安装需要的依赖} `...