picoctf chain 2018 pwn
P4447 [AHOI2018初中组] 分组
首先组越少越好,只有必须新开一组时才会开,即每组都加入过了相同的实力值。排序后扫一遍,维护当前分组方案,尽量加入人数少的组,如果某些组已经连续不下去了就更新最少人数。 因为人是一个一个加的,所以组的信息具有单调性(第一维是当前最大实力值,第二维是当前人数),可以用双端队列 \(O(n)\) 维护。 ......
【pwn】[HNCTF 2022 WEEK3]smash --花式栈溢出
拿到程序,先查一下保护状态 没开pie,接着看主函数代码逻辑 看到这里,因为程序开了canary,本程序没有可以泄露canary的方法,所以普通的栈溢出方法肯定打不了,这里可以考虑一下smash stack Stack smash 在程序加了 canary 保护之后,如果我们读取的 buffer 覆 ......
buu-pwn-1
rip 静态分析 将附件拖入IDA进行分析: F5可以反编译查看源码 int __cdecl main(int argc, const char **argv, const char **envp) { char s[15]; // [rsp+1h] [rbp-Fh] BYREF puts("ple ......
Educational Codeforces Round 139 (Rated for Div. 2) D. Lucky Chains(数论)
Educational Codeforces Round 139 (Rated for Div. 2) D. Lucky Chains 思路: 假设幸运为k , 则 gcd(x+k,y+k) ≠ 1 , k取最小整数(k>=0) 由此可设 因子为 d , (x+k)%d = 0 , (y+k)%d ......
计概杂烩2018
2018计概期末 就医问题 #include <stdio.h> /* C语言初始模板程序 */ int main(void) { char a[2]={'B','A'}; int x;scanf("%d",&x);printf("%c\n",a[x%2]); return 0; } 马虎的佩奇 # ......
CTF-PWN学习-为缺少指导的同学而生
更新公告: 2023-7-5晚上21:12 已更新,对内容做了些调整。 调整如下: 添加解题步骤描述 添加专业名词描述 博主也是个PWN的入门者。PWN的入门不可能是无痛的。能做到的只是减少一点初学者的痛苦。这篇博客会长期维护,也会越来越好。 PWN是什么 CTF中PWN题型通常会直接给定一个已经编 ......
ICPC2018 Qingdao R L 题
传送门 description 求 \(n\) 个点 \(m\) 条边的简单无向图(可以不连通)满足加入非负整数条边后可以变成 \(n\) 个点的环的个数。 要求线性复杂度。 \(n\ge 3\) solution 当 \(m>n\) 时,答案为 \(0\)。 当 \(m=n\) 时,相当于问 \( ......
金盾杯 pwn awd
金盾杯 pwn awd 难点就是利用链表控制节点,理清其中的关系 分析程序 在初始化程序时会申请一个 0x10 的 chunk 作为一个头,在 add 中会申请三个堆块,第一个堆块就是用于存放第二个堆块的 id , size , address ,第二个堆块就是用于存放输入内容,第三个堆块就是存放第 ......
[护网杯 2018]easy_tornado
题目打开后如下 welcome.txt 如下 提示是 SSTI(模板注入),此时打开了 welcome.txt 的 URL 如下:/file?filename=/welcome.txt&filehash=fe64f8b2cf23eb919623376244ff1269 打开 hint.txt 如下 ......
Continuous-Time Markov Chain
1. Definitions Definition 1. We say the process \(\{X(t),t\ge0\}\) is a continuous-time Markov chain if for all \(s,t\ge0\) and nonnegative integers ......
PWN-非栈上格式化字符串之.fini_array劫持
1. .fini_array劫持 上周打了一下金盾杯,算是第一次做非栈上格式化字符串的题,之前只在ctfwiki上看过一点。边学边做,比赛最后一个小时做出来了,爽了。 以金盾杯的题为例 1.1 2023金盾杯 sign_format 题目介绍:一道非栈上的格式化字符串,通过修改dl_fini数组里的 ......
JOISC2018 题解
Contest Link A. Construction of Highway Problem Link 题目大意 给 \(n\) 个点,初始每个点有权值 \(w_i\),\(n-1\) 次操作连一条边 \(u\gets v\),其中 \(u\) 与 \(1\) 连通,\(v\) 与 \(1\) 不 ......
你想有多pwn
第一章 1.1 认识程序 file、ldd 1.2 gdb调试 一、指令 1、start、run 2、断点 设置断点 b mian、b *0x123456 查看断点 info b、i b 让断点失效 disable b 序号 恢复断点 enable b 序号 删除断点 d 序号 步过、步进、步出 n ......
P4119 [Ynoi2018] 未来日记
\(\text{Links}\) LuoguBlog P4119 [Ynoi2018] 未来日记 题外话 个人生涯中第一道独立通过的 Ynoi 大分块!! 同时也是个人生涯中通过的第十道 Ynoi 系列题目!! 卡了好久结果加了个优化就过了/yun AC 那一瞬间的场面好像 56 Seconds L ......
PWN入门之Stack Overflow
本文是i春秋论坛签约作家「Binary star」分享的技术文章,旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。 大家好,我是Binary star,目前从事于公安行业,擅长Web、二进制和电子取证方向。能把网络安全技能运用在工作中,与我的职业结合起来做有意义的事,是非常自豪的,我希望通 ......
ZJOI2018 树
互异关系容斥即将不等号容斥成等号,对于连通块内的 \(\text{GF}\) 形式即为 \(\ln(x+1)\) 的展开级式,即令 \(F=\sum_{i=1}^{\infty}\frac{a_{i}(-1)^{i-1}x^i}{i}\),对 \(F\) 直接 \(\exp\) 即可。 而非常神奇的 ......
P4563 [JXOI2018] 守卫
题目传送门 [JXOI2018] 守卫 思路 区间dp。 设状态 $f_{l,r}$ 为在区间 $[l,r]$ 内要放的最少保镖数量。 看到题面第一眼的感觉是不会判两点能否连接。 第二眼发现可以用斜率判。 令 $k_{l,r}$ 为横坐标为 $l,r$ 的两点连线斜率。 有 $k_{l,r}=\fr ......
PWN学习之LLVM入门
找到runOnFunction函数时如何重写的,一般来说runOnFunction都会在函数表最下面,找PASS注册的名称,一般会在README文件中给出,若是没有给出,可通过对__cxa_atexit函数“交叉引用”来定位。 ......
【pwn】orw&rop --泄露libc基址,orw
我们先看看程序的保护的情况 因为题目提示了orw,我们可以沙箱检测一下 可以发现是禁用的execve函数的,接着看函数逻辑 这里格式化字符串漏洞可以泄露canary和puts函数地址,先确定一下参数位置 可以发现参数是在第六个位置,接下来就是构造ROP,调用read函数读取shellcode到mma ......
【pwn】puts or system? --格式化字符串漏洞泄露libc基址
还是先看一下保护情况 开了canary,接着看主函数逻辑 看到这里的代码逻辑,我一开始是想通过printf泄露出canary的值,然后再用ret2libc来打,但是我发现这个libc不好泄露,一般的泄露的思路都是构造ROP,通过puts函数泄露出puts的got表内容,但是我在寻找rdi这个gadg ......
XCTF-pwn-level0
下载改题目提供的文件,使用file和checksec进行分析 该文件是一个64位的ELF可执行文件,而且开启了NX保护机制,不知道其作用如何 使用ida打开,是一道基本的栈溢出 return返回vulnerable_function()方法,继续追踪 可以看出vulnerable_function( ......
BUUCTF-pwn-rip(第一个栈溢出)
这两天在学习pwn,在ctf wiki学习了典型的栈溢出,参考:https://ctf-wiki.org/pwn/linux/user-mode/stackoverflow/x86/stackoverflow-basic/ 在做题目的时候发现buuctf的rip和ctf wiki的示例题目一样,考的 ......
pwn中常见的绕过(以后见多了会慢慢更的,咕咕咕)
如题,总结一下我目前在pwn中常见的一些绕过,方便以后随时查阅 strlen 这是检验字符串长度的函数,常见的形式是“当字符串个数>number时,失败”,绕过它其实很简单,在输出的字符串开头加上'\x00',这样strlen就不会检测后续字符串的个数了,就完成了绕过 strncmp 指定比较siz ......
【pwn】shellcode revenge --0~9,A~Z字符的shellcode
查一下保护 拖进ida看主要逻辑 这里的代码逻辑为mmap开辟一段有执行的地址,可以写入shellcode,但这次写入的shellcode有限制 if ( buf > 90 || buf <= 47 || buf > 57 && buf <= 64 ) break;这里的限制shellcode的十六 ......
P4770 [NOI2018] 你的名字 做题记录
我永远喜欢数据结构 题目传送门 给出字符串 \(s\) 以及 \(q\) 个询问,第 \(i\) 个询问给出一个串 \(t_i\) 以及一个区间 \([l_i,r_i]\)。 记 \(s[l,r]\) 为字符串 \(s\) 第 \(l\) 位到第 \(r\) 位字符顺次拼接而成的子串。形式化地,\( ......
pwn知识——格式化字符串漏洞(萌新向)
怎么说呢,这个东西感觉相当不好写,涉及到的知识点很多,不一定能讲明白,我自己写的话只能尽量往基础的知识点上写了,若有不准确之处,希望佬们能及时指出,让我加以修改。 格式化字符串漏洞 概念 格式化字符串漏洞的形成原因在于printf/fprintf/vsprintf等格式化字符串打印函数在接受可变参数 ......
vulhub中spring的CVE-2018-1273漏洞复现
1.影响版本 Spring Data Commons 1.13 - 1.13.10 (Ingalls SR10) Spring Data REST 2.6 - 2.6.10 (Ingalls SR10) Spring Data Commons 2.0 to 2.0.5 (Kay SR5) Spr ......
[SUCTF2018]followme
[SUCTF2018]followme 看起来像是在做渗透测试的时候抓的包,导出所有HTTP对象 大部分是类似这种的文件 login%3f_=6975b9a9f7a359d322e06c0e28db112b login.php%3freferer=http%3A%2F%2F192.168.128.1 ......
XCTF-pwn-hello_pwn
这几天在尝试入门,学习pwn的知识点,这是我关于pwn入门做的第一道题目,学习pwn需要很多的前置知识,并且需要一些环境,这里大概描述一下需要什么 拥有C语言基础 看懂简单的汇编代码 拥有一些python基础,需要使用到pwntools 拥有linux的基础,能够正常使用linux终端 简单熟悉id ......