CVE-2016-4437
概述Shiro是java安全认证框架。该漏洞名为Shiro550,也称为Apache Shiro反序列化漏洞。
产生原因Shiro框架在处理记住密码功能(RememberMe)时使用的默认或可预测的AES加密密钥。导致攻击者可构造出恶意序列化数据。
流程:
用户登陆时勾选Remember Me
服务端校验并返回加密后的Cookie
数据加密过程:用户序列化数据-> AES加密-> base64编码
勾选RememberMe后登陆成功返回的包
影响Apache Shiro 1.2.4及以前
命令执行
环境搭建使用vulhub提供的docker-compose.yml搭建
12cd shiro/CVE-2016-4437docker-compose up -d
复现漏洞特征:
登陆时相应包中存在Set-Cookie: rememberMe=deleteMe;
验证漏洞存在:
使用URLDNS反序列化链进行dns外带。检测是否存在反序列化漏洞。
复现步骤:
尝试登陆,在返回包中发现特征Set-Cookie: rememberMe=deleteMe;
生成payload
1j ...
通过lmstdio使用本地大模型
引子趁着国补整了个macmini。这玩意儿16g内存,用来跑大模型再适合不过了。看了一个up主的评测,跑qwen2.5的140亿参数的模型还是挺顺畅的。
下载lmstdio去到官网下载即可LM Studio Discover, download, and run local LLMs
安装模型之手动安装lmstdio自带了下载模型的功能。但是俺的不好用,俺选择了手动安装。
下载模型去到这个网站Hugging Face – The AI community building the future.
这里演示qwen2.5的模型,俺选择的是这个Qwen/Qwen2.5-Coder-14B-Instruct-GGUF · Hugging Face
把他下载下来,右边有个下载按钮看到没,点击就行啦。
使用aria2c下载,多线程分段下载
1aria2c -x 16 -s 16 -o filename url
给模型一个家根据官方文档,模型应该这么放作者/模型名字/模型
所以俺的文件应该长这样:Qwen/Qwen2.5-Coder-14B-Instruct-GGUF/qwen2.5 ...
奶妈级教学从0开始手把手教你使用开心版burpsuite
前言本文将会从0开始演示在linux环境下的burpsuite开心版使用,以及添加桌面图标。如果你使用的是windows,请随机应变。
burpsuite版本:2024.10.3
java环境搭建为了方便,我们不配置环境变量了,直接将jdk解压下来,直接调用java程序即可
jdk下载Java Downloads | Oracle 中国,建议使用jdk21
物料准备BurpLoaderKeygen.jar去github搜索吧,这里就不提供下载了。
burpsuite
Burp Suite Release Notes在这里下载,要选专业版,jar包
把所有的文件放到一起。burpsuite的jar包下载完成后要重命名为burpsuite_pro.jar
正文开始生成启动脚本运行BurpLoaderKeygen.jar
运行后你会发现下面这个神奇的窗口,点击run你会发现,burpsuite神奇的启动了。
看到那长长的一串了么,复制下来,扔到shell脚本里去。下次执行shell脚本就可以啦。
生成桌面图标编辑burp.application写入以下内容
1234[Desktop ...
zinit高效的zsh插件管理器
引子心血来潮,更新一下自己的zshrc,之前写的zinit看不懂了。再去重温一下zinit的文档。记录一下以便备忘。本文会重点介绍常用的插件加载方式。也会推荐一些插件
为什么使用zinit?更快,方便管理。
安装zinit俺比较喜欢手动安装,将下面这些放入你的zshrc,source一下zshrc他就会安装啦。
1234ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"[ ! -d $ZINIT_HOME ] && mkdir -p "$(dirname $ZINIT_HOME)"[ ! -d $ZINIT_HOME/.git ] && git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"source "${ZINIT_HOME}/zinit.zsh&quo ...
记录ranger中yank失效的问题
引子ranger用了一会儿发现yp没法用了,竟然跟俺报wayland相关的错误,实际上俺用的是x11,闹不清。那俺就手动改一下吧
配置文件修改修改~/.config/ranger/rc.conf。删除原来的映射,添加以下映射
12345678# 将文件的完整路径复制到剪贴板map yp shell -f echo -n %d/%f | xclip -selection c# 将目录路径复制到剪贴板map yd shell -f echo -n %d | xclip -selection c# 将文件名(不包括路径)复制到剪贴板map yn shell -f echo -n %f | xclip -selection c# 将文件名(不包括路径和扩展名)复制到剪贴板map y. shell -f echo -n %f | sed 's/\.[^.]*$//' | xclip -selection c
存在的问题按理来说,yank是可用的。ranger认为当前环境是wayland指定有问题。这样修改配置文件,会导致x11和wayland不通用。不纠结了,睡大觉
记录docker网络与当前网络冲突形成arp广播风暴造成断网的问题
引子具体症状:连接网络后几秒钟有网,后续丢包严重。清空路由表后会短暂恢复
开开心心滴打开电脑,发现俺的网络没得了。尝试解决。
首先俺先是修改了俺自己的ip地址。无果。
又尝试了各种方法,修改俺的mac地址,重启路由器,清空路由表,等等。无果。
俺百思不得其解,经历了为期一天的斗争,终于找到了罪魁祸首。
解决过程没得网络,第一个可能是ip冲突。俺换到了dhcp,仍然没有网络。
掏出wireshark,初见端倪俺打开了俺的wireshark,俺看到了很多arp请求,都是网关在找俺。有问题,起初俺以为是有人在干坏事。但经过多方排查发现,真的是网关在找俺。俺没有做回复
这里俺有一个极其愚蠢的简单方法。既然没人回应网关,作为正主的俺,俺自己手动回复一下不就好了。方法奏效但很蠢
分析arp表,蒙在鼓里没有头绪,俺看了看俺的arp表,没有发现什么问题。
俺先剧透一下吧,看到docker0这个网卡没,他是192.168.2.0网段的哦,这就是问题所在
重新抓包分析规律,发现问题俺将问题重现,重新抓包后,俺发现,他这还挺有规律的呢。下面是俺的猜测:
俺找网关,网关回复,网关找俺,俺没有回复 ...
使用harbor搭建个人docker镜像仓库
引子多个主机每次拉取镜像的时候都需要访问dockerhub,每次都需要进行科学**,配置科学**时有些麻烦。索性自己搭建一个docker镜像仓库,自己个用。
代码下载去到harbor的release页面下载。本文以离线版为例
GitHub goharbor/harbor: An open source trusted cloud native registry project that stores, signs, and scans content.
解压出来 😋
harbor配置以及docker-compose.yml生成harbor配置文件在自定义配置之前,我们需要复制一份配置文件,在这基础上进行修改
1cp harbor.yml.tmpl harbor.yml
小坑点,如果你的目录下没有harbor.yml,在下一步生成docker-compose.yml是会失败的
然后根据你的需求修改配置文件吧
注意: hostname是必须要修改的且不要修改为localhost或127.0.0.1
让harbor使用代理在http_proxy和https_proxy ...
linux进程监控工具top,htop,btm
引子&whylinux中进程管理是非常重要的,俺觉得有必要来整理一些这些命令或是工具的使用。
为什么要学这么多工具呢?他们很多都是重复的。
对于主力系统,我会选择用着舒适的工具。
对于服务器,先尝试下载一个自己用着舒服的,实在下载不了才会选择使用系统默认自带的。
对于一些常用但用着不舒服的,仍然要去学习,这样不会让工具(面试)难住。
知识预备这里会介绍一些linux中进程相关的词语(俺经常用的,后面可能会补充🤔)
这里以top为例
keyword
translation
means
PR
优先级(Priority)
越小优先级越高
NI
nice值
越小优先级越高,与PR一起决定程序的调度
VIRT
虚拟内存(Virtual Memory Size)
RES
常驻内存(Resident Memory Size)
物理内存+已映射的共享库和文件
SHR
共享内存(Shared Memory)
top常用操作
options
means
help_memory
space
刷新
k
杀死某个程序
kill
u
根据用户筛选 ...
linux使用配置文件配置网络
引子对于游走于n个发行版的小卡拉米,时常面临着要使用配置文件配置ip地址的问题。然鹅这些发行版并不统一,大家都自己整自己的,存在一些差异。虽然有很多好用的工具可以用,但是保不齐工作的时候就得用配置文件手动配置。这里记录一下。
Debian/Ubuntu系列较老一点的版本网卡配置信息在/etc/network/interfaces,这是个文件
配置静态ip
1234567# 以太网接口 enp3s0 配置auto enp3s0iface enp3s0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4
新一点的版本网卡配置信息在/etc/netplan/01-netcfg.yaml,这是个文件
配置静态ip
12345678910111213network: version: 2 renderer: networkd ethernets: enp3s0: dhcp4: ...
linux特殊权限suid,sgid,sbit
特殊权限介绍SUIDset user id
当一个可执行文件设置了suid位时,运行该程序的权限变为该文件的所属用户权限
一个经典的案例是/bin/passwd
SGIDset group id
当一个可执行文件设置了sgid位时,运行该程序的权限变为该文件所属组的权限
当一个目录设置了sgid位时,该目录下创建的所有文件和目录的所属组会继承该目录
SBIT当一个目录设置了sbit位时,该目录下的文件只有文件所有者才能删除
一个经典的案例是/tmp
sbit会被经常用于共享目录
如何设置suid1234# 方式1chmod 4755 xx.sh# 方式2chmod u+s xx.sh
sgid1234# 方式1chmod 2755 xx.sh# 方式2chmod g+s xx.sh
sbit1234# 方式1chmod 1666 xx# 方式2chmod o+t xx
应用场景团队协作创建公用目录sgid实现团队协作中,多个用户在同一用户组中。
团队成员在创建文件或目录时均会继承同一组,避免了文件所属组出现混乱的情况。
123mkdir projectschown manager ...