Python

Web通用漏洞--RCE

Web通用漏洞--RCE 漏洞简介 RCE远程代码/命令执行漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 RCE漏洞也分为代码执行漏洞和命令执行漏洞,所谓代码执行即通过漏洞点注入参数而使用源代码进行相应的操作,所谓的命令执行就是通过漏洞点注入参数使用源代码进行调用系统命令进行相关操作,从而达到执行系统命令的目的。无论是代码执行还是命令执行,两者都可以相互转换。

Web攻防--xxe实体注入

web攻防--xxe实体注入 漏洞简介 XML 外部实体注入(也称为 XXE)是一种 Web 安全漏洞,允许攻击者干扰应用程序对 XML 数据的处理。它通常允许攻击者查看应用程序服务器文件系统上的文件,并与应用程序本身可以访问的任何后端或外部系统进行交互。 在某些情况下,攻击者可以利用 XXE 漏洞联合执行服务器端请求伪造(SSRF) 攻击,从而提高 XXE 攻击等级以破坏底层服务器或其他后端基础

ctfshow--web入门--XXE

ctfshow--web入门--XXE web373 源码 payload web374 源码 这一关是无回显读取文件 采用oob进行XXE注入 在服务器上构造一个用于接受保存数据得页面get.php 构造remote.dtd外部DTD文件用于将数据赋值给get.php 最终发送的payload为 web375 这一关过滤了xml声明标签还有version关键字,把payload中的

Django实现文件上传、文件列表查看、修改、限流和日志记录4

Django实现文件上传、文件列表查看、修改、限流和日志记录4 本章添加用户认证功能,属于安全模块。 用户认证 在Django中,默认情况下,用户的用户名和密码是存储在数据库中的。Django提供了内置的用户模型(User模型),它可以管理用户的认证和授权。 配置数据库 在file_upload/settings.py文件中,配置数据库连接信息,例如使用SQLite数据库: 添加用户

一、变量

Python - 变量 变量很好理解,就是一个会变得量,例如 圆周率 = 3.1415926... 如下代码 执行输出后,它会打印出 3.1415,我们来分析一下代码。 变量的声明格式是 变量名 = 变量值 将右边的值赋给左边的变量名,其目的就是为了方便储存数据。 我们会发现,如果你要直接输出的话,需要打许多的字,难道你要输出第二遍还要再打第二遍吗?如果是一个变量的话,它就相当于储存这段话

二、运算符

!> 顺便在这里提一句,在编程下你的输入法是要英文的,所有符号也要是英文符号,例如中文符号是 。 而英文符号是 . 当然编程就和数学一样,存在有算数运算符。 运算符号 描述 示例 + 两数相加 a + b - 两数相减 a - b * 两数相乘 a * b / 两数相除 a / b % 取模 - 返回除法的余数 a % b ** 幂 - 返回x的y次幂 2*

三、条件语句

Python - 条件语句 我们想像一个场景,你平时在登录QQ的时候,系统肯定是判断你的密码和你的QQ账号是否匹配,如果密码不对就会提示你密码错误。那么我们就以这个案例来开始学习 条件语句 我们来开始分析一下上面的代码 我们可以试着翻译一下,if 如果 else 否则。通过翻译后关键字,我们就很快的能够理解了。 如果 你输入的密码 = 你设定的密码,那么它就会输出 "密码匹配",否则的话它会

Django实现文件上传、文件列表查看、修改、限流和日志记录5

Django实现文件上传、文件列表查看、修改、限流和日志记录5 日志是一个应用和项目排查问题和记录操作的重要手段,可以回溯复盘问题所在,也是甩锅的重要依据 配置中间件middleware 创建了一个名为 StatusCodeMiddleware 的中间件类。在该类中,我们在中间件的 __call__ 方法中记录了响应的状态码到日志中。 添加中间件列表 然后,我们将中间件添加到 Djan

Django实现文件上传、文件列表查看、修改、限流和日志记录6

Django实现文件上传、文件列表查看、修改、限流和日志记录6 对于已经上传的文件,现在已经实现了文件的查看修改,美中不足的是:需要查看每个文件需要提前记住文件名指定文件名进行查看和修改。为此,新增一个上传文件的列表功能,在通过模版按钮跳转路由到查看和修改页面。 实现逻辑 查看已上传的文件列表,并点击上传文件列表跳转到文件查看和修改页面的功能实现步骤: 在你的视图函数中,添加一个新的视图函数来

Python文件路径解谜:深入剖析os.path系列函数的精髓

介绍 在Python中,os.path模块提供了一系列用于处理文件路径和文件系统的函数。它是Python标准库中os模块的一部分。本文将深入探讨os.path系列函数的使用方法,从入门到精通。 目录 导入os.path模块 获取文件路径信息 os.path.abspath(): 获取绝对路径 os.path.dirname(): 获取目录名 os.path.basename(): 获取文件名

【web_逆向01】环境安装

node.js环境安装 官网下载,直接下一步就行 安装后,在cmd环境,测试 pycharm运行js代码 安装node.js插件,安装后记得重启pycharm即可 python调用js代码运行,pyexecjs模块 pip install pyexecjs 使用 浏览器设置

labelme转coco数据集的那些事·其一

1.因为发现布置的任务的具体要求没有被组员理解,导致所有180反转后的标签都变为了: 一个json文件有好几个这样的标签 那如果人手一个个这样处理,真的是要累死,所以就写了这个代码 但是会运行报错,然后我们看下报错信息: 接下来定位到位置单步调试: 发现在第二次进入时出现了报错, 那么查看data的结构, 找到了data 点开shape 点开0 综上所述: label在di

g、Form表单

Form表单 ⼀、概要 通常情况下,我们需要自己手动在HTML页面中,编写form标签和其内的其它元素。但这费时费力,而且有可能写得不太恰当,数据验证也比较麻烦。有鉴于此,Django在内部集成了一个表单模块,专门帮助我们快速处理表单相关的内容。Django的表单模块给我们提供了下面三个主要功能 准备和重构数据用于页面渲染 为数据创建HTML表单元素 接收和处理用户从表单发送过来的数据 ⼆、F

f、⽤户认证系统

⽤户认证系统 ⼀、概要 auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理。 auth可以和admin模块配合使用, 快速建立网站的管理系统。 在INSTALLED_APPS中添加'django.contrib.auth'使用该APP, auth模块默认启用。 主要的操作包括: create_user 创建用户 authenticate 验证登录 logi

e、cookie、session、短信和分页

cookie、session、短信和分页 HTTP被设计为”无态”,也就是俗称“脸盲”。 这⼀次请求和下⼀次请求之间没有任何状态保持,我们无法根据请求的任何方面(IP地址,用户代理等)来识别来自同⼀⼈的连续请求。实现状态保持的方式:在客户端或服务器端存储与会话有关的数据(客户端与服务器端的⼀次通信,就是⼀次会话) cookie session 不同的请求者之间不会共享这些数据,cookie和s

d、路由与视图

路由和视图 Django中的视图主要用来接受Web请求,并做出响应。此响应可以是网页,重定向或404错误,ⅪML文档或图像等的HTML内容。在mνt模式中,视图负责从模型中获取数据,然后展示在模板中,是联系模型和模板的桥梁,是业务逻辑层。 视图响应的过程: 当用户从浏览器发起一次请求时,首先 django获取用户的请求,然后通过路由(urls)将请求分配到指定的是视图函数。视图函数负责进行相应的

k、Log

LOG Log简介 logging模块是Python内置的标准模块,主要⽤于输出运⾏⽇志,可以设置输出⽇志的等级、⽇志保存路径、⽇志⽂件回滚等;相⽐print,具备如下优点: 通过log的分析,可以⽅便⽤户了解系统或软件、应⽤的运⾏情况;如果你的应⽤log⾜够丰富,也可以分析以往⽤户的操作⾏为、类型喜好、地域分布或其他更多信息;如果⼀个应⽤的log同时也分了多个级别,那么可以很轻易地分析得到该应⽤

i、中间件和缓存

中间件和缓存 一、中间件 中间件其实就是一个类,是介于request与response处理之间的一道处理过程(类似装饰器),相对比较轻量级,每个中间件都会负责一个功能,例如,SessionMiddleware,是与sessions处理相关的中间件,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨

h、验证码、邮件、富文本、文件上传和站点管理

图形验证码、邮件、富文本、文件上传和站点管理 ⼀、图形验证码 1 安装django-simple-captcha库 在网站开发的登录页面中,经常会需要使用到图形验证码来验证。在 Django中,django-simple-captcha库包提供了图形验证码的使用。 2 设置 图1. 安装应用 图2. 设置验证码样式 图3. 设置路由 最后要迁移数据库: 3 建立表单 4 实现 ⼆、发

n、Django常用命令

Django常用命令 打开 Linux 或 MacOS 的 Terminal (终端)直接在终端中输入这些命令(不是 python 的 shell中) 如果是 windows 用 cmd(开始搜索 cmd 或者 快捷键 win + R,输入 cmd) 或Powershell(shift+鼠标右键,在此处打开Powershell窗口)直接在 窗口 上操作。 1. 新建一个 django projec

m、CBV

CBV 基于类的视图(CBV) 视图是可调用的,它接收请求并返回响应。这可能不仅仅是一个函数,Django提供了一些可用作视图的类的示例。这些允许您通过利用继承和mixin来构建视图并重用代码。 基于类的视图(Class-based views)提供了另一种将视图实现为Python对象而不是函数的方法。它们不替换基于函数的视图,但与基于函数的视图相比具有一定的差异和优势: 提高了代码的复用性,可

l、Celery

Celery ⼀、Celery简介 Celery 是⼀个基于python开发的异步任务队列/基于分布式消息传递的作业队列,通过它可以轻松的实现任务的异步处理。它侧重于实时操作,但对调度⽀持也很好。Celery⽤于⽣产系统每天处理数以百万计的任务。Celery是⽤Python编写的,但该协议可以在任何语⾔实现。它也可以与其他语⾔通过webhooks实现。Celery建议的消息队列是RabbitMQ,

django2.2部署

Django2.2部署 参考博客:https://blog.csdn.net/u010681693/article/details/95044857 ​ https://blog.csdn.net/weixin_43933164/article/details/90574891 ​ https://developer.aliyun.com/article/675910 前期准备

b、django-rest-framework

django-rest-framework 一、序列化 序列化可以把查询集和模型对象转换为json、xml或其他类型,也提供反序列化功能,也就是把转换后的类型转换为对象或查询集。 REST框架中的序列化程序与Django Form 和 ModelForm 类的工作方式非常相似。我们提供了一个 Serializer类,它为您提供了一种强大的通用方法来控制响应的输出,以及一个 ModelSeriali

b.JS加密

JS加密 参考博客: 建议收藏 ~ 最全的 JS 逆向入门教程合集 Python还原CryptoJs_AES_CBC模式_js逆向学习 js逆向中常见加密/解密算法实现(js、python) js逆向中常用的加密算法的python实现 【爬虫知识】爬虫常见加密解密算法 《Python3网络爬虫开发实战第二版》-第11章 常用调试流程 以下是可以参考的调试流程(面向新手): 如果网页有跳转,

a.JS逆向库

Python 执行 JS 代码 在使用爬虫中,经常会遇到网页请求数据是经过 JS 处理的,特别是模拟登录时可能有加密请求。而目前绝大部分前端 JS 代码都是经过混淆的,可读性极低,想理解代码逻辑需要花费大量时间。这时不要着急使用 Selenium 暴力解决,毕竟 Selenium 严重拖慢爬虫效率,我们可以尝试使用一些第三方库,来直接执行前端 JS 代码得到处理过后的结果。 PyExecJS 1、

anaconda安装paddle

安装PaddlePaddle 一、环境准备 参考文档:https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/conda/windows-conda.html 在进行PaddlePaddle安装之前请确保您的Anaconda软件环境已经正确安装。软件下载和安装参见Anaconda官网(h

a.LD编辑距离算法

LD算法 原理 LD算法(Levenshtein Distance)又成为编辑距离算法(Edit Distance)。它是以字符串A通过插入字符、删除字符、替换字符变成另一个字符串B,那么操作的过程的次数表示两个字符串的差异。 例如:字符串A:kitten如何变成字符串B:sitting。 ​ 第一步:kitten——》sitten。k替换成s  第二步:sitten——》sittin。e替换成

PyInstaller

PyInstaller 参考博客: Python PyInstaller安装和使用教程(详解版) PyInstaller快速上手教程 Pyinstaller 打包发布经验总结 PyInstaller Manual PyInstaller 是一个在 Windows、GNU/Linux、macOS、FreeBSD、OpenBSD、Solaris 和 AIX 下将 Python 程序冻结(打包)为独

Flask-Limiter

Flask-limiter修改错误响应码 flask-limiter文档:https://flask-limiter.readthedocs.io/en/stable/ 初始化 1、使用构造函数 2、使用延迟应用初始化init_app 3、自定义键控函数 通过当前用户限制路由的速率(使用Flask-Login): 按地区名限制所有请求的费率: key_func是从 flask reque

<<  <  540  541  542  543  544  545  546  547  548  549  550  >  >>