UnityOvercooked案例
UnityOvercooked
Author::Magialeaf/FakeOvercooked: Overcooked仿制版 (github.com)
一、环境配置1 新建项目
新建项目新建的是3D(URP)项目。
Windows——Package Manager——可以移除Visual Studio Code Editor,因为版本老。其他的也可以不用管。
Project自带:
Scenes——SmapleScene:简单案例。
TutorialInfo——Readme:URP相关教程,可以移除。
Settings:
SampleSceneProfile:默认的SampleScene会有一个Global Volume,其中Volume的Profile需要设置为SampleSceneProfile,也没什么用,可以删除。
URP*:渲染配置文件,共六个,分别是Performant(性能优先)、Balanced(平衡)、HighFidelity(高精度)
UniveralRenderPipelineGlobalSettings:URP全局设置。也可以在Edit——Project ...
服务攻防
服务攻防
一、中间件漏洞
author::web服务器、Web中间件和Web容器的区别
Vulhub - Docker-Compose file for vulnerability environment
中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力 。容器就是中间件的一种。
1 IIS1.1 PUT上传漏洞
WebDAV是一种基于 HTTP1.1的通信协议,扩展了方法,让应用程序可以直接对服务器操作,并支持文件 lock 和 unlock , 还支持文件的版本控制。
IIS6.0 PUT漏洞原因:
IIS Server 在 Web 服务扩展中开启了 WebDAV。
IIS 配置了可以写入的权限。
漏洞利用:
利用 OPTIONS 测试 WebDAV 是否开启
OPTIONS / HTTP/1.1HOST:host_ip成功返回包:HTTP/1.1 200 OKAllow: GET, HEAD, OPTIONS, ...
DRF
DRF
Django REST framework
测试工具:official::Postman
text::Django
official::Django REST framework
一、基础1 配置DRF
安装:pip install djangorestframework
本质上Django REST framework是写一个写好的APP。
安装完成后到setting.py中注册
# setting.pyINSTALLED_APPS = [ ... , 'rest_framework',]
2 生命周期
闭包中的view(免除了CSRF认证)
先创建CBV的视图对象
然后执行dispatch函数:
请求封装
认证
权限
Django Rest Framework 生命周期,认证鉴权 - 简书 (jianshu.com)
在DRF中,中间件是先于认证等操作被执行。
二、响应数据1 简单使用
使用DRF的响应,数据在返回JSON的同时还会返回一个好看的页面。
访问:127.0.0.1:8000/login 将返回JSON的同时还会返回 ...
MongoDB
MongoDB
一、简单使用1 简介
MongoDB,基于分布式文件存储的数据库,是一个面向文档的数据库,Nosql数据库的一种,数据结构为键值对组成,文档类似于JSON对象。
文档准确来说是BSON,也就是Binary JSON的缩写,二进制的JSON格式。
MongoDB的数据类型是严格的,强类型。
official::MongoDB:应用程序数据平台 | MongoDB
MongoDB 教程 | 菜鸟教程 (runoob.com)
2 使用
社区版下载:official::Download MongoDB Community Server | MongoDB
管理工具:
安装时会只带Compass,直接选择安装即可。也可以使用Navicat等。
命令行工具:official::MongoDB Shell Download | MongoDB
Vscode插件:搜索MongoDB for VS Code。连接先点击MongoDB的图标,输入mongodb://localhost:27017即可。
二、 常用命令1 管理命令
在Compass的shell中输入,或者直接在m ...
网络攻防
网络攻防
text::Kali Linux
text::Web渗透工具
official::Vulhub - Docker-Compose file for vulnerability environment
official::vulfocus
一、 应急响应1 事件
事件级别:
特别重大事件:红色预警、一级响应
重大事件:橙色预警、二级响应
较大事件:黄色预警、三级响应
一般事件:蓝色预警、四级响应
事件类型:
应用安全:Webshell、网页篡改、网页挂马等
系统安全:勒索病毒、挖矿木马、远控后门等
网络安全:DDoS安全、ARP攻击、流量劫持等
数据安全:数据泄露、损坏、加密等
2 响应
如何应急响应:
确定攻击时间:能够帮助我们缩小应急响应范围,有助于提高效率
查找攻击线索:能够让我们知道攻击者做了什么事情
梳理攻击流程:还原整个攻击场景
实施解决方案:修复漏洞,切断攻击途径
定位攻击者:溯源取证
应急响应模型(RDCERF):
准备阶段(Preparation)
应急团队建设
应急方案制定
渗透测试评估
安全基线检查
检测阶段(Detection)
...
Web语言漏洞
Web语言漏洞
一、asp漏洞1 下载漏洞
Windows + IIS + ASP + access(sqlsever)搭建的网站
对于access数据库,一般后缀名是mdb、asp、asa,所以可能可以直接通过访问这个路径进行下载。(一般默认配置asp、asa会被解析,而mdb不会。所以直接访问mdb可能可以下载,而asp会回显结果)
例:PowerEasy_CMS2006可以访问:IP/database/powereasy2006.mdb
若不会下载,例如asp会被解析,则可以通过插入木马后用蚁剑连接。
asp一句话木马:┼攠數畣整爠煥敵瑳∨≡┩愾(unicode编码)
构造免杀的asp一句话木马 - 先知社区 (aliyun.com)
其他漏洞:
IIS PUT
IIS短文件名
IIS解析漏洞
aspx源码:
aspx的源码中的关键部分一般在.dll中,需要对.dll进行反编译后再分析源码(.NET框架用official::ILSpy分析源码)。
二、 PHP1 代码审计
hongriSec/PHP-Audit-Labs: 一个关于PHP的代码审计项目 (github ...
Redis
Redis
official::Redis
一、简单使用1 简介
Redis(Remote Dictionary Server),基于内存的数据存储系统,非关系型数据库,用作数据库缓存和消息队列等各种场景。
访问方式:
CLI:使用Redis-CLI命令行工具使用Redis
API:使用Java或Python通过编写代码的方式访问Redis
GUI:图形化界面使用Redis,如:RedisInsight
优势:
性能极高
数据类型丰富,单键值对最大支持512M大小的数
简单易用,支持所有主流编程语言
支持数据持久化、主从复制、哨兵模式等高可用特性
2 使用2.1 linux
安装:
sudo apt update
sudo apt install redis-server
查看Redis服务是否正在运行:sudo systemctl status redis-server
检查Redis是否成功安装并运行,如果返回 PONG,则表示Redis正常工作:redis-cli ping
启动服务(端口:6379):命令redis-server
管理:
启动Redis服务: ...
BootStrap
BootStrap
official::Bootstrap中文网
一、基础知识1 简单使用
下载和安装:
下载 Bootstrap
解压,在项目的assets中新建一个文件夹叫plugins,然后将解压后的文件改名放进去。
使用:
bootstrap.css是开发版,便于开发者查看。bootstrap.min.css是生成版,它将代码都压缩在了一行,减少了空间的使用。实际打包上线中引入bootstrap.min.css即可。js同理。
报错:
Popper__namespace.createPopper is not a function,解决:将引入的bootstrap.js 更改为bootstrap.bundle.js。因为bootstrap.js 没有集成Popper.js 而 bootstrap.bundle.js集成了Popper.js
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> ...
算法进阶
算法进阶
text::C++
text::数据结构与算法
一、排序
可视化排序
1 冒泡排序
冒泡排序:对一个数组多次重复遍历。它要比较相邻的两项,并且交换顺序排错的项。每对数组进行一次遍历,就会有一个最大项排在了正确的位置。
改进:加一个flag = False,如果一趟循环未发生任何排序则保持False表示已经排好了序。
时间:$O(n^2)$
void BubbleSort(vector<int>& arr){ int len = arr.size(); for (int i = 0; i < len - 1; i++) { bool flag = false; for (int j = i; j < len - i - 1; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j + 1]; ...
Vue
Vue
official::Vue.js
text::Javascript
挑战 | Vue.js挑战 (cn-vuejs-challenges.netlify.app)
JS语法框架对比:JavaScript框架语法特性对比 (lainbo.com)
一、Vue前置知识1 命令
在使用命令前先要安装Node.js
text::Node.js安装
# 创建Vue工程npm init vue@latestProject name >> # 不要存在大写Add TypeScript? # Ts扩展,回车默认NoAdd JSX Support? # JSX支持,回车默认NoAdd Vue Router for Single Page Application development? # 路由,回车默认NoAdd Pinia for state management? # 状态管理,回车默认NoAdd Vitest for Unit testing? # 单元测试,回车默认NoAdd an End-to-End Testing Solution? #Add ESLint fo ...