- 博客(9)
- 收藏
- 关注
原创 Base64 和 Base58 的区别
Base64 编码要求把 3 个 8 位字节(3*8=24)转化为 4 个 6 位的字节(4*6=24),之后在 6 位的前面补两个 0,形成 8 位一个字节的形式。如果剩下的字符不足 3 个字节,则用 0 填充,输出字符使用 =,因此编码后输出的文本末尾可能会出现 1个 或 2 个 =。在 Base64 中的可打印字符包括字母 A-Z、a-z、数字 0-9,这样共有 62 个字符,此外两个可打印符号在不同的系统中而不同,通常是 + 和 /。目前用途比较多的就是区块链、钱包地址领域。
2025-01-23 01:09:10
458
原创 加解密算法-知识体系
GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应用。PKCS#5填充是将数据填充到8的倍数,填充后数据长度的计算公式是 定于元数据长度为x, 填充后的长度是 x + (8 - (x % 8)), 填充的数据是 8 - (x % 8),块大小固定为8字节。
2025-01-21 22:29:34
1195
原创 Redis CVE-2022-24834 复现
(CVE-2022-24834) 在 Redis 中执行的特制 Lua 脚本可能会触发 cjson 和 cmsgpack 库中的堆溢出,并导致堆损坏和潜在的远程代码执行。从 2.6 开始,所有支持 Lua 脚本的 Redis 版本都存在该问题,并且仅影响经过认证和授权的用户。自己亲自在官方“redis:7.0.11”容器镜像上测试成功,能直接拿到shell。另外一个低版本的RCE。
2025-01-20 22:35:17
578
原创 GraphQL 攻击
GraphQL如果接口返回:提示:需要服务端开启introspection才能支持。Query用于从服务端获取数据Mutation用于在服务端修改或添加数据Subscription通过WebSocket连接实时接收来自服务器的数据更新InputEnumUnionInterface获取服务器上定义的所有类型、字段、枚举等信息DDOSSSRF了解GraphQL模式的功能。
2025-01-17 17:02:22
820
原创 CGO交叉编译
可用于交叉编译ARMv8 64位目标中的裸机程序、u-boot、Linux kernel、filesystem和App应用程序。需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。Yum升级GCC(在 centos 6.7上实测可用)使用CGO编译,修改GCC交叉编译配置。注意:安装源路径要改为。
2025-01-17 14:02:22
329
原创 Linux 的 passwd 和 shadow
Linux 系统中默认会有多个的用户,这些用户中的绝大多数是系统或服务正常运行所必需的用户,这种用户通常称为系统用户或伪用户。也称为“口令失效日”,简单理解就是,在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!密码,"x" 表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow 文件中,虽然密码是加密的,但是采用暴力破解的方式也是能够进行破解的。
2025-01-17 13:55:56
1024
原创 Redis 沙盒逃逸漏洞复现(CVE-2022-0543)
我们借助Lua沙箱中遗留的变量package的loadlib函数来加载动态链接库/usr/lib/x86_64-linux-gnu/liblua5.1.so.0里的导出函数luaopen_io。值得注意的是,不同环境下的liblua库路径不同,你需要指定一个正确的路径。Debian以及Ubuntu发行版的源在打包Redis时,不慎在Lua沙箱中遗留了一个对象package,攻击者可以利用这个对象提供的方法加载动态链接库liblua里的函数,进而逃逸沙箱执行任意命令。
2025-01-17 13:19:16
671
原创 Vue 前端开发笔记
Get-ExecutionPolicy -List Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser 可选策略级别:AllSigned Bypass Default RemoteSigned Restricted Undefined Unrestricted。2、安装 npm 或 pnpm 或 yarn。创建成功后,到项目的目录下安装模块。临时安装 指定registry。安装 pnpm 方式1。安装 pnpm 方式2。
2025-01-17 12:22:41
720
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人