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

web选手入门pwn(18) ——2024年春秋杯夏季赛两道沙箱题

珂技知识分享  · 公众号  ·  · 2024-08-14 16:12

文章预览

1.    SavethePrincess 保护全开,给了libc和libseccomp,而且RUNPATH指定了根目录。 主要有两个函数,先看magic(),似乎想让你爆破密码,爆破之后,有个read的小溢出。 找找love从哪儿来的。init()初始化时随机的,而且根据生成的范围,仅小写字母。 gdb跟进去看一眼。 那就要爆破26^8次,好像是个天文数字啊。但buf是10字节,比dest多了2字节。为什么非得多2字节呢?这个即使动态调试也很难明白问题出在哪儿,但可以看buf和i的相对距离。 rsp+0xD和rsp+0x17刚好是10字节差距,也就是说printf("you password is %s\n,nononno!!!\n", buf);是为了泄露i的。 我们在gdb中输入正确前两位密码试一试。 可以看到i为0x2,刚好粘在buf后面被打印出来。 这样爆破的数量级就变成了26*8,至此可以写出爆破密码的脚本。 from pwn import * context.log_level = 'debug' context.arch= 'amd64' #sh = gdb.debug("./Savethe ………………………………

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