
格式化字符串
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表了。exploitfrom pwn import*p=remote('node3.buuoj.cn',27945)原创 2021-04-03 17:39:02 · 429 阅读 · 1 评论 -
[BUUCTF-pwn]——ciscn_2019_sw_1
[BUUCTF-pwn]——ciscn_2019_sw_1一个简单的格式化字符串, 相信大家看到旁边 的system和格式化字符串漏洞,想的一定是利用格式化字符串漏洞将printf_got表修改system_plt表,然后使其循环调用main第二次输入’/bin/sh’就好可能唯一需要说一下的就是, 程序结束时会调用_fini_array指向的函数指针,所以我们将其修改为mian就会循环调用了算下偏移, 一看就是4exploitfrom pwn import *p = remote("no原创 2021-04-03 16:07:45 · 575 阅读 · 4 评论 -
[BUUCTF-pwn]——judgement_mna_2016
[BUUCTF-pwn]——judgement_mna_2016还行的一道题, 不过动态调试的时候, 需要你手写一个flag.txt文件, 不然没办法动态调试.一看就知道这个地方储存的flag,如果不确定. 可以去看下start函数的汇编, 执行main函数前就已经将flag写入了下面我们只需要计算偏移输出就好, 记得自己在目录下面写个flag.txt文件, 不然没办法调试的. 偏移0x1c 或者 0x20都可以exploitfrom pwn import *#p = process('.原创 2021-03-31 17:25:43 · 272 阅读 · 0 评论 -
[BUUCTF-pwn]——inndy_echo
[BUUCTF-pwn]——inndy_echo有gets函数但是没有办法栈溢出,不过幸好有格式化字符串漏洞。从旁边我们可以找到system的plt以及printf的got表, 将system的plt地址写入printf的got表。然后输入"/bin/sh"就可以了。先找找偏移 7exploitfrom pwn import *p = remote("node3.buuoj.cn",28268)#p = process("./echo")#gdb.attach(p, "b printf原创 2021-03-29 17:07:37 · 654 阅读 · 0 评论 -
[BUUCTF-pwn]——wdb_2018_2nd_easyfmt
[BUUCTF-pwn]——wdb_2018_2nd_easyfmt一个简单的格式化字符串利用问题泄露出got表地址,找到libc基地址寻找system的实际地址将printf_got修改为system的地址写入”/bin/sh"exploitfrom pwn import *from LibcSearcher import *context.log_level = "debug"p = remote('node3.buuoj.cn',25125)#p = process("./原创 2021-03-17 12:39:49 · 787 阅读 · 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 · 460 阅读 · 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 = 0x0804A048p原创 2021-02-27 11:04:18 · 708 阅读 · 1 评论 -
[BUUCTF-pwn]——[BJDCTF 2nd]r2t4
[BUUCTF-pwn]——[BJDCTF 2nd]r2t4题目地址: https://buuoj.cn/challenges#[BJDCTF%202nd]r2t4checksec一下,看一下。IDA中,发现了后面函数和格式化字符串漏洞。找到后门函数的地址, 并且算格式化字符串的偏移思路开启了canary保护,我们想要执行我们想要执行的代码, 可以通过触发canary保护, 进而触发__stack_chk_fail函数,执行。我们将got表地址改为我们想要执行的地址就可以了。fm原创 2021-02-22 12:54:49 · 224 阅读 · 0 评论 -
[BUUCTF-pwn]——[第五空间2019 决赛]PWN5
[BUUCTF-pwn]——[第五空间2019 决赛]PWN5题目地址:https://buuoj.cn/challenges#[第五空间2019%20决赛]PWN5题目:这是一道格式化字符串的题,给大家讲解下checksec一下看看, 开启了canary保护, 基本开启这个保护都会用到格式化字符串的漏洞。在IDA中利用pwndbg看看, 偏移是多少。 0xa也就是 10思路利用格式化字符串漏洞, 修改unk_804C044的值, 并且输入相等的值exploitfrom p原创 2021-02-21 17:52:21 · 415 阅读 · 2 评论 -
[攻防世界 pwn]——CGfsb
[攻防世界 pwn]——CGfsb题目地址: https://adworld.xctf.org.cn/题目:这是一道简单的格式化字符串问题, 详情请参考点点我呀,参考就是我在pwndbg中调试, 偏移为 0xa = 10exploitfrom pwn import *#p = process("./e41a0f684d0e497f87bb309f91737e4d")p = remote("111.200.241.244",57659)#gdb.attach(p, "b *0x0原创 2021-02-18 21:05:52 · 220 阅读 · 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 · 310 阅读 · 1 评论