![](https://img-blog.csdnimg.cn/20210216213932811.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
格式化字符串
pwn 格式化字符串试题
Y-peak
一个努力的小白pwn
展开
-
[BUUCTF-pwn]——picoctf_2018_echo back
[BUUCTF-pwn]——picoctf_2018_echo back 和之前的一道题及其类似大家可以对比一下[BUUCTF-pwn]——ciscn_2019_sw_1 思路都是一样的就是将printf_got修改为system_plt表,然后循环调用就好 找偏移, 为7 不过有点难受的是, 不知道为什么利用fini_array不行,那里错了也不知道,没办法只有利用put的got表了。 exploit from pwn import* p=remote('node3.buuoj.cn',27945)原创 2021-04-03 17:39:02 · 390 阅读 · 1 评论 -
[BUUCTF-pwn]——ciscn_2019_sw_1
[BUUCTF-pwn]——ciscn_2019_sw_1 一个简单的格式化字符串, 相信大家看到旁边 的system和格式化字符串漏洞,想的一定是利用格式化字符串漏洞将printf_got表修改system_plt表,然后使其循环调用main第二次输入’/bin/sh’就好 可能唯一需要说一下的就是, 程序结束时会调用_fini_array指向的函数指针,所以我们将其修改为mian就会循环调用了 算下偏移, 一看就是4 exploit from pwn import * p = remote("no原创 2021-04-03 16:07:45 · 455 阅读 · 4 评论 -
[BUUCTF-pwn]——judgement_mna_2016
[BUUCTF-pwn]——judgement_mna_2016 还行的一道题, 不过动态调试的时候, 需要你手写一个flag.txt文件, 不然没办法动态调试. 一看就知道这个地方储存的flag, 如果不确定. 可以去看下start函数的汇编, 执行main函数前就已经将flag写入了 下面我们只需要计算偏移输出就好, 记得自己在目录下面写个flag.txt文件, 不然没办法调试的. 偏移0x1c 或者 0x20都可以 exploit from pwn import * #p = process('.原创 2021-03-31 17:25:43 · 231 阅读 · 0 评论 -
[BUUCTF-pwn]——inndy_echo
[BUUCTF-pwn]——inndy_echo 有gets函数但是没有办法栈溢出,不过幸好有格式化字符串漏洞。 从旁边我们可以找到system的plt以及printf的got表, 将system的plt地址写入printf的got表。然后输入"/bin/sh"就可以了。 先找找偏移 7 exploit from pwn import * p = remote("node3.buuoj.cn",28268) #p = process("./echo") #gdb.attach(p, "b printf原创 2021-03-29 17:07:37 · 510 阅读 · 0 评论 -
[BUUCTF-pwn]——wdb_2018_2nd_easyfmt
[BUUCTF-pwn]——wdb_2018_2nd_easyfmt 一个简单的格式化字符串利用问题 泄露出got表地址,找到libc基地址 寻找system的实际地址 将printf_got修改为system的地址 写入”/bin/sh" exploit from pwn import * from LibcSearcher import * context.log_level = "debug" p = remote('node3.buuoj.cn',25125) #p = process("./原创 2021-03-17 12:39:49 · 627 阅读 · 0 评论 -
[BUUCTF-pwn]——axb_2019_fmt64
[BUUCTF-pwn]——axb_2019_fmt64 题目地址:(https://buuoj.cn/challenges#axb_2019_fmt64)[https://buuoj.cn/challenges#axb_2019_fmt64] 这是一道格式化字符串漏洞利用的题目 checksec 一看,竟然连canary都没开,不过开不开好像都木有什么用。 在IDA中看看,可以看出明显的字符串漏洞 首先当然是计算偏移了,发送aaaa%4$x, 比较习惯发送这个hhhh。发现距离栈顶是3,还有五个寄原创 2021-03-09 11:29:09 · 396 阅读 · 4 评论 -
[攻防世界 pwn]——实时数据监测
[攻防世界 pwn]——实时数据监测 题目地址:https://adworld.xctf.org.cn/ 题目: checksec就不说了,没什么 ida中 只要将key里面的值修改为35795746,就好 写个小脚本在pwndbg中看看偏移 from pwn import * p = process('./pwn') gdb.attach(p, 'b *0x080484A7') #p = remote("111.200.241.244",48715) key_addr = 0x0804A048 p原创 2021-02-27 11:04:18 · 601 阅读 · 1 评论 -
[BUUCTF-pwn]——[BJDCTF 2nd]r2t4
[BUUCTF-pwn]——[BJDCTF 2nd]r2t4 题目地址: https://buuoj.cn/challenges#[BJDCTF%202nd]r2t4 checksec一下,看一下。 IDA中,发现了后面函数和格式化字符串漏洞。 找到后门函数的地址, 并且算格式化字符串的偏移 思路 开启了canary保护,我们想要执行我们想要执行的代码, 可以通过触发canary保护, 进而触发__stack_chk_fail函数,执行。我们将got表地址改为我们想要执行的地址就可以了。 fm原创 2021-02-22 12:54:49 · 171 阅读 · 0 评论 -
[BUUCTF-pwn]——[第五空间2019 决赛]PWN5
[BUUCTF-pwn]——[第五空间2019 决赛]PWN5 题目地址:https://buuoj.cn/challenges#[第五空间2019%20决赛]PWN5 题目: 这是一道格式化字符串的题,给大家讲解下 checksec一下看看, 开启了canary保护, 基本开启这个保护都会用到格式化字符串的漏洞。 在IDA中 利用pwndbg看看, 偏移是多少。 0xa也就是 10 思路 利用格式化字符串漏洞, 修改unk_804C044的值, 并且输入相等的值 exploit from p原创 2021-02-21 17:52:21 · 319 阅读 · 2 评论 -
[攻防世界 pwn]——CGfsb
[攻防世界 pwn]——CGfsb 题目地址: https://adworld.xctf.org.cn/ 题目: 这是一道简单的格式化字符串问题, 详情请参考点点我呀,参考就是我 在pwndbg中调试, 偏移为 0xa = 10 exploit from pwn import * #p = process("./e41a0f684d0e497f87bb309f91737e4d") p = remote("111.200.241.244",57659) #gdb.attach(p, "b *0x0原创 2021-02-18 21:05:52 · 170 阅读 · 2 评论 -
[Jarvis OJ - PWN]——[61dctf]fm
[Jarvis OJ - PWN]——[61dctf]fm 题目地址: https://www.jarvisoj.com/challenges 题目: 还是先checksec一下, 开启了canary 和NX保护 在IDA中,查看一下, 这是一道格式化字符串的题。 找到x的地址 在pwndbg中进行调试一下, 寻找偏移 from pwn import * #p = remote("pwn2.jarvisoj.com",9895) p = process("./fm") gdb.attach(p原创 2021-02-17 11:47:35 · 250 阅读 · 1 评论