自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(150)
  • 资源 (3)
  • 收藏
  • 关注

原创 常见Web安全漏洞测试指南

任意文件下载漏洞描述一些网站由于业务需求,可能提供文件查看或下载的功能,如果对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意的文件,可以是源代码文件、敏感文件等。测试指南使用 BurpSuite、或者手工抓取所有的url,以及寻找相关敏感的功能点,比如文件查看处,文件下载处等功能点,手工发送一系列 “…/” “./” 等字符来遍历高层目录,并且尝试找到系统的配置文件(/etc/passwd,win.ini等)或者该web站点相关系统中存在的敏感文件(如:java应用中的…/…/…/WE

2022-04-09 13:48:17 5367

原创 常见Web安全漏洞

常见Web漏洞小结1越权漏洞不同权限账户之间的存在越权访问检测抓去a用户功能链接,然后登录b用户对此链接进行访问抓去a用户功能链接,修改id为b的id,查看是否能看b的相关数据替换不同的cookie进行测试查看防范1服务器端必须对每个页面链接进行权限判断。2用户登陆后,服务器端不应再以客户端提交的用户身份信息为依据,而应以会话中服务端保存的已登陆的用户身份信息为准。3页面提交的资源标志与已登陆的用户身份进行匹配比对,然后判断其对当前链接是否有权限。4必须在服务器端对每个请求URL进行鉴

2021-03-07 09:16:31 17595 8

原创 用4种语言编写端口扫描器(Java、C、Python、Go)

端口扫描器

2022-12-09 10:31:42 912 1

原创 Kubernetes(k8s)集群渗透

Kubernetes,又称为 k8s,是一种可自动实施Linux容器操作的开源平台,可以帮助用户省去应用容器化过程的许多手动部署和扩展操作,也就是说,它可以将运行 Linux 容器的多组主机聚集在一起并轻松高效地管理这些集群。......

2022-08-27 23:17:42 1728 1

原创 FastAPI Web框架 [Pydantic]

学习一下,做个记录。学习:https://www.bilibili.com/video/BV1iN411X72b?p=7&spm_id_from=pageDriver&vd_source=06af20c53d413fe5fafd741f14bacbf1

2022-06-16 18:46:58 438

原创 Spring Boot Mybatis使用

MybatisMyBatis的前身是Apache社区的一个开源项目iBatis,于2010年更名为MyBatis。MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,使得开发人员更加关注SQL本身和业务逻辑,不用再去花费时间关注整个复杂的JDBC操作过程。pom.xml <!--MyBatis配置--> <dependency> <gr

2022-04-09 17:46:53 653

原创 使用JdbcTemplate操作数据库中的数据

package com.example.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.Res

2022-04-09 16:17:52 1309

原创 Spring Boot模板引擎Thymeleaf demo

thymeleaf 依赖pom.xml中 <!--thymeleaf模板引擎配置--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency

2022-04-08 18:12:11 631

原创 一个简单的SpringBoot项目 demo

架构相关代码templates目录下存放前端静态页面index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>hello</title></head><body> SpringBoot的简单启动页面!</body></html>error.html

2022-04-05 17:37:31 3003

原创 Python [databases]

Python [databases]import asyncioimport databasesasync def database_basic(): database = databases(url="mysql://root:root@127.0.0.1:3306/dvwa?charset=utf-8") await database.connect() sql = "select * from admin where id = 1;" result = awai

2022-04-03 14:08:12 1485

原创 Python 同步&异步MySQL

同步&异步MySQL# MySQL是许多网站都需要使用到的数据库软件,用 Python操作 MysQL数据库大部分驱动都是同步的,也就是必须等待他的返回才会往下执行,如果一个 sQL执行得比较久,# 那么会直接卡死这个线程。因此这里我们需要选择异步的Python驱动来操作 MysQL 数据库。Iimport asyncioimport aiomysqlimport shortuuidimport pymysql# 异步# aiomysql做数据库连接的时候,需要这个

2022-04-02 14:22:47 3115

原创 使用Python实现同步&异步爬虫

同步import requestsfrom lxml import etree # lxml:一个用xpath语法解析网页的库from urllib.request import urlretrieve # 下载模块import osclass DoutulaSpider(object): def __init__(self): self.base_url = "https://www.pkdoutu.com/article/list/?page={p

2022-04-01 16:45:31 1510

原创 FastAPI Web框架 [1.12]

中间件"中间件"是一个函数,它在每个请求被特定的路径操作处理之前,以及在每个响应返回之前工作。它接收你的应用程序的每一个请求.然后它可以对这个请求做一些事情或者执行任何需要的代码.然后它将请求传递给应用程序的其他部分 (通过某种路径操作).然后它获取应用程序生产的响应 (通过某种路径操作).它可以对该响应做些什么或者执行任何需要的代码.它返回这个响应.如果你使用了 yield 关键字依赖, 依赖中的退出代码将在执行中间件后执行;如果有任何后台任务(稍后记录), 它们将在执行中间件后运行

2022-04-01 14:58:21 1106

原创 FastAPI Web框架 [依赖项]

依赖项FastAPI 提供了简单易用,但功能强大的依赖注入系统。这个依赖系统设计的简单易用,可以让开发人员轻松地把组件集成至 FastAPI。编程中的「依赖注入」是声明代码(本文中为路径操作函数 )运行所需的,或要使用的「依赖」的一种方式。然后,由系统(本文中为 FastAPI)负责执行任意需要的逻辑,为代码提供这些依赖(「注入」依赖项)。依赖注入常用于以下场景:共享业务逻辑(复用相同的代码逻辑)共享数据库连接实现安全、验证、角色权限上述场景均可以使用依赖注入,将代码重复最小化。创建依

2022-03-29 12:33:19 405

原创 FastAPI Web框架 [1.11]

路径操作配置# 路径操作配置# 路径操作装饰器支持多种配置参数。# 以下参数应直接传递给路径操作装饰器,不能传递给路径操作函数.# status_code 状态码:status_code 用于定义路径操作响应中的 HTTP 状态码# 可以直接传递 int 代码, 比如 404# 如果记不住数字码的涵义,也可以用 status 的快捷常量from typing import Optional,Setfrom fastapi import FastAPI,status

2022-03-28 17:38:52 2604

原创 FastAPI Web框架 [1.10]

请求表单和文件# 请求表单与文件from fastapi import FastAPI,File,Form,UploadFile #导入 File 与 Formapp = FastAPI()@app.post("/files/")async def create_file( file:bytes = File(...), fileb:UploadFile = File(...), token : str = Form(...) # 定义 Fi

2022-03-27 16:23:51 5602

原创 使用Python获取DNS记录

# A记录也称为主机记录,是使用最广泛的DNS记录,A记录的基本作用就是说明一个域名对应的IP是多少, 它是域名和IP地址的对应关系,表现形式为 www.contoso.com 192.168.1.1 这就是一个A记录!A记录除了进行域名IP对应以外,还有一个高级用法,可以作为低成本的负载均衡的解决方案,比如说,www.contoso.com 可以创建多个A记录,对应多台物理服务器的IP地址,可以实现基本的流量均衡!)# MX记录,全称是邮件交换记录,在使用邮件服务器的时候,MX记录是无可或缺的,

2022-03-26 17:32:02 3571 1

原创 FastAPI Web框架 [1.9]

表单数据from fastapi import FastAPI,Form # 导入 Form# 表单数据# 接收的不是 JSON,而是表单字段时,要使用 Formapp = FastAPI()@app.post("/login/")async def login( username:str = Form(...),password:str = Form(...) # 定义 Form 参数): return {"username

2022-03-26 16:29:42 575

原创 使用Python获取网站加载时间

使用Python获取网站加载时间import timefrom urllib.request import urlopendef load_time(url): try: if("http" or "https") in url: open_url = urlopen(url) #打开url else: open_url = urlopen("https://" + url) st

2022-03-25 16:51:09 3933

原创 FastAPI Web框架 [1.8]

额外的模型# 额外的模型# 拥有多个相关的模型是很常见的:# 对用户模型来说尤其如此,因为:# 输入模型需要拥有密码属性。# 输出模型不应该包含密码。# 数据库模型很可能需要保存密码的哈希值。# !!!!永远不要存储用户的明文密码。始终存储一个可以用于验证的「安全哈希值」。# 如果你尚未了解该知识,你可以在安全章节中学习何为「密码哈希值」。# 多个模型# 根据它们的密码字段以及使用位置去定义模型的大概思路:from typing import Optional,Un

2022-03-25 15:26:17 129

原创 使用Python实现Xml到Json的转换

XML 到 JSON 文件转换器import json #导入json库import xmltodict #导入 xmltodictwith open('input.xml') as xml_file: parser_data = xmltodict.parse(xml_file.read()) # xmltodict.parse()方法可以将xml数据转为python中的dict字典数据: xml_file.close() json_c

2022-03-24 14:06:24 4631 1

原创 FastAPI Web框架 [1.7]

响应模型# 可以在任意的路径操作中使用 response_model 参数来声明用于响应的模型:# @app.get()# @app.post()# @app.put()# @app.delete() 等等from typing import Optional,Listfrom fastapi import FastAPIfrom pydantic import BaseModelapp = FastAPI()class Item(BaseModel): name:str

2022-03-24 13:42:38 441

原创 使用Python生成二维码

import qrcode #导入QR Codedata = input("输入你要生成的数据:") #获取输入qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, #控制二维码纠错级别 box_size=15, border=4,)qr.add_data(data) # 添加要转换的文字到data

2022-03-23 15:07:47 659

原创 FastAPI Web框架 [1.6]

模式的额外信息 - 例子from typing import Optionalfrom fastapi import FastAPIfrom pydantic import BaseModelapp = FastAPI()# 您可以在JSON模式中定义额外的信息。## 一个常见的用例是添加一个将在文档中显示的example。## 有几种方法可以声明额外的 JSON 模式信息。# 使用 Config 和 schema_extra 为Pydantic模型声明一个示例class

2022-03-23 14:20:15 2529

原创 使用Python从网页中获取链接

从网页中获取链接import requests as rb # 导入requests库from bs4 import BeautifulSoup # 调用beautifulsoup库url = input("Enter Link:") # 获取输入if ("https" or "http") in url: data = rb.get(url) #获取HTML网页,对应HTTP的GETelse: data = rb.get(

2022-03-22 21:01:55 6766

原创 FastAPI Web框架 [1.5]

请求体 - 字段&嵌套模型

2022-03-22 19:52:21 361

原创 FastAPI Web框架 [1.4]

请求体 - 多个参数

2022-03-22 15:07:02 262

原创 FastAPI Web框架 [1.3]

路径参数和数值校验from fastapi import FastAPI,Query,Pathfrom typing import Optionalapp = FastAPI() # 与使用 Query 为查询参数声明更多的校验和元数据的方式相同,你也可以使用 Path 为路径参数声明相同类型的校验和元数据。@app.get("/items/{item_id}")async def read_items( item_id:int = Path(...,title="The I

2022-03-16 17:44:40 723

原创 FastAPI Web框架 [1.2]

学习,记录一下;请求体# 当你需要将数据从客户端(例如浏览器)发送给 API 时,你将其作为「请求体」发送。# 请求体是客户端发送给 API 的数据。响应体是 API 发送给客户端的数据。# 你的 API 几乎总是要发送响应体。但是客户端并不总是需要发送请求体。# 我们使用 Pydantic 模型来声明请求体,并能够获得它们所具有的所有能力和优点。# 要发送数据,你必须使用方法之一:POST(较常见)、PUT、DELETE 或 PATCH。from fastapi import FastAP

2022-03-16 16:24:49 471

原创 FastAPI Web框架 [1.1]

FastAPI Web框架官方文档:https://fastapi.tiangolo.com/路径参数:from fastapi import FastAPI #导入 FastAPIfrom enum import Enum app = FastAPI() #创建一个FastAPI实例@app.get("/") #路径async def root(): return {"message": "Hello World"}@app.get

2022-03-16 11:41:18 635

原创 Windows 提权

Windows 提权文章目录Windows 提权1.系统内核溢出漏洞提权2.系统配置错误提权2.1 错误权限配置2.2 计划任务提权:2.3 可信任服务路径漏洞2.4 不安全的注册表权限配置2.5 启用注册表键 AlwaysInstallElevated3.组策略首选项提权4.bypassUAC提权5.令牌窃取6.数据库提权MSSQL提权:MYSQL提权MOF提权UDF提权各种CVE7.其他手法1.系统内核溢出漏洞提权利用系统本身存在的一些系统内核溢出漏洞,未打相应的补丁,攻击者通过对比systemi

2022-01-17 20:05:05 4009

原创 Linux 提权

文章目录内核漏洞提权利用SUID提权SUDO提权计划任务提权NFS提权MySQL提权内核漏洞提权# 查看系统发行版本lsb_release -a# 查看内核版本uname -a下载,编译生成exp文件bypass@ubuntu:~$ make Linux提权辅助工具 github项目地址:https://github.com/mzet-/linux-exploit-suggester.git(1)根据操作系统版本号自动查找相应提权脚本wget https://raw.githubu

2022-01-17 20:04:10 877

原创 一些绕过403的姿势

端口利用扫描主机端口,找其它开放web服务的端口;访问其端口。修改HOST把host值修改为子域名或者ip来绕过。覆盖请求 URL尝试使用 X-Original-URL 和 X-Rewrite-URL 标头绕过 Web 服务器的限制。Request GET /auth/login HTTP/1.1 Response HTTP/1.1 403 Forbidden Reqeust GET / HTTP/1.1 X-Original-URL: /auth/login Re

2022-01-16 21:49:53 7198 2

原创 Linux 信息收集相关命令

做个笔记,方便查找。内核,操作系统,设备信息lsb_release -a 查看系统发行版本uname -a 查看内核版本uname -r 内核版本uname -n 系统主机名uname -m 查看系统内核架构(64位/32位)hostname 系统主机名cat /proc/version 内核信息cat /etc/*-release 发布信息cat /etc/issue 分发信息cat /proc/cpuinfo CPU信息cat

2022-01-15 11:41:21 473

原创 Redis 未授权访问引发的安全问题

RedisRedis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。默认端口:6379安全问题Redis因配置不当可以未授权访问。攻击者无需认证访问到内部数据,可导致敏感信息泄露,也可以恶意执行flushall来清空所有数据。攻击者可通过EVAL执行lua代码,或通过数据备份功能往磁盘写

2021-12-23 20:13:48 3600 1

原创 Fastjson1.2.24 反序列化任意命令执行

FastjsonFastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。Fastjson 源码地址:https://github.com/alibaba/fastjsonFastjson中文 Wiki:https://github.com/alibaba/fastjson/wiki/Quick-Start-CNFastjson特性:

2021-12-21 23:15:27 3794 1

原创 (CVE-2021-44228)Apache log4j 远程命令执行

漏洞简介Apache Log4j2是一款Java日志框架,大量应用于业务系统开发。2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞(CVE-2021-44228)。Apache Log4j2远程代码执行漏洞由Lookup功能引发。Log4j2在默认情况下会开启Lookup功能,用于将特殊值添加到日志中。此功能中也支持对JNDI的Lookup,但由于Lookup对于加载的JNDI内容未做任何限制,使得攻击者可以通过JNDI注入实现远程加载恶意类到应用

2021-12-19 21:26:22 4037

原创 (CVE-2017-10271 ) Weblogic XMLDecoder 反序列化

漏洞编号:CVE-2017-10271漏洞描述:WebLogic WLS组件中存在CVE-2017-10271远程代码执行漏洞,可以构造请求对运行WebLogic中间件的主机进行攻击。漏洞原理:Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。影响版本:10.3.6.0.0,12.1.3.0.0,12.2.1.1.0,12.2.1.2.0漏洞复现打开环境:c

2021-12-16 19:59:46 1606

原创 (s2-012) Struts2 远程代码执行

影响版本2.1.0 - 2.3.13漏洞原理如果在配置result在action时使用了重定向类型,并且$ {PARAM_NAME}也被用作重定向变量,例如:<package name="S2-012" extends="struts-default"> <action name="user" class="com.demo.action.UserAction"> <result name="redirect" type="redirect"&g

2021-12-16 19:51:26 2740

原创 (s2-048)Struts2 反序列化漏洞

Struts2Struts2是一个基于MVC设计模式(java)的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2 是 Apache 软件组织推出的一个相当强大的 Java Web 开源框架,本质上相当于一个 servlet。Struts2 基于 MVC 架构,框架结构清晰。通常作为控制器(Controller)来建立模型与视图的数据交互,用于创建企业级 Java web 应用程序。漏洞复现

2021-12-14 23:19:31 1223

D盾 - 查杀工具,防火墙

『D盾_防火墙』专为IIS设计的一个主动防御的保护软件,以内外保护的方式 防止网站和服务器给入侵,在正常运行各类网站的情 况下,越少的功能,服务器越安全的理念而设计! 限制了常见的入侵方法,让服务器更安全!

2022-08-07

LastActivityView:查询最近运行记录

LastActivityView 是一个用于 Windows 操作系统的工具,它从正在运行的系统上的各种来源收集信息,并显示用户所做的操作和此计算机上发生的事件的日志。LastActivityView 显示的活动包括:运行 .exe 文件、打开打开/保存对话框、从资源管理器或其他软件打开文件/文件夹、软件安装、系统关闭/启动、应用程序或系统崩溃、网络连接/断开连接等。

2022-08-07

蠕虫勒索软件专杀工具(WannaCry)

Wannacry勒索者软件清除工具可以对已经感染的主机进行勒索软件的清除

2022-08-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除