<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://aapcer.github.io/</id><title>Aapcer's Blog</title><subtitle>小Pwn手的博客</subtitle> <updated>2023-03-24T16:22:09+08:00</updated> <author> <name>aapcer</name> <uri>https://aapcer.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://aapcer.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="zh-CN" href="https://aapcer.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.3.2">Jekyll</generator> <rights> © 2023 aapcer </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>House_of_snake</title><link href="https://aapcer.github.io/posts/House_of_snake/" rel="alternate" type="text/html" title="House_of_snake" /><published>2023-03-24T13:37:00+08:00</published> <updated>2023-03-24T13:37:00+08:00</updated> <id>https://aapcer.github.io/posts/House_of_snake/</id> <content src="https://aapcer.github.io/posts/House_of_snake/" /> <author> <name>Aapcer</name> </author> <category term="攻击方式利用" /> <category term="House_of_snake" /> <summary> 引言 好久没有更新文章了，吹雪哥团队给出了一个新的IO利用方式，本次就来记录一下XD，这个打法吹雪哥队说只能选择使用2.37的libc版本，可能有点限制条件 malloc_assert之殇 2.36之后，malloc_assert就被🐏了，只剩下exit来打IO了，虽然废物我没怎么用过，说是高版本house_of_kiwi没法进行利用了 利用条件 可知heap_base和lib_base 能打一次largebin_attack想办法让其走我们伪造的IO，反正就是能任意地址写一个堆地址 程序执行IO的有关操作，包括但不限于：从main函数返回、调用exit函数 有关libc版本的问题 此攻击方式可以在2.37使用，大佬说看源码应该可以 攻击路径 主要是利用_IO_printf_buffer_as_file_jumps中的 __p... </summary> </entry> <entry><title>House_of_魑魅魍魉</title><link href="https://aapcer.github.io/posts/House_of_%E9%AD%91%E9%AD%85%E9%AD%8D%E9%AD%89/" rel="alternate" type="text/html" title="House_of_魑魅魍魉" /><published>2023-02-07T13:37:00+08:00</published> <updated>2023-02-07T13:37:00+08:00</updated> <id>https://aapcer.github.io/posts/House_of_%E9%AD%91%E9%AD%85%E9%AD%8D%E9%AD%89/</id> <content src="https://aapcer.github.io/posts/House_of_%E9%AD%91%E9%AD%85%E9%AD%8D%E9%AD%89/" /> <author> <name>Aapcer</name> </author> <category term="攻击方式利用" /> <category term="House_of_魑魅魍魉" /> <summary> 引言 又是大佬的文章，前面的秦月汉关和借刀杀人都看的七七八八，只是对魑魅魍魉不是很理解，所以又写了一个demo的程序，顺带来调试一下，若有侵权或思路有误欢迎联系 利用条件 可知heap_base和lib_base 能打一次largebin_attack想办法让其走我们伪造的IO 程序执行IO的有关操作，包括但不限于：从main函数返回、调用exit函数、通过__malloc_assert触发 有关libc版本的问题 此攻击方式可以在2.34-2.36使用，甚至是2.37之后都可以使用 libc中的plt表与got表 众所周知，elf文件里面存在plt表和got表，而恰恰正好的是，libc中也存在的plt表与got表 和elf的plt表和got表一样，libc中的plt和got表是在某一个函数中call了一个got表中的一个函数（表... </summary> </entry> <entry><title>House_of_琴瑟琵琶</title><link href="https://aapcer.github.io/posts/House_of_%E7%90%B4%E7%91%9F%E7%90%B5%E7%90%B6/" rel="alternate" type="text/html" title="House_of_琴瑟琵琶" /><published>2023-02-07T13:37:00+08:00</published> <updated>2023-02-07T13:37:00+08:00</updated> <id>https://aapcer.github.io/posts/House_of_%E7%90%B4%E7%91%9F%E7%90%B5%E7%90%B6/</id> <content src="https://aapcer.github.io/posts/House_of_%E7%90%B4%E7%91%9F%E7%90%B5%E7%90%B6/" /> <author> <name>Aapcer</name> </author> <category term="攻击方式利用" /> <category term="House_of_琴瑟琵琶" /> <summary> 引言 这几天上看雪看文章，发现libc居然都出到2.37了，去年2.36的题目都没做过多少（我是FW😭），大佬说2.37之后libc改了很多，没法用House_of_Apple打了，于是介绍了一种新的打法，叫House_of_琴瑟琵琶 大佬原话： 我认为GNU下一步会按2.37的思路不断修改IO，以前很多方法都会渐渐失效，在此我也决定将几个2.37以后失效的攻击链公布出来。（tql） 利用条件 可知heap_base和lib_base 能打一次largebin_attack想办法让其走我们伪造的IO 程序执行IO的有关操作，包括但不限于：从main函数返回、调用exit函数、通过__malloc_assert触发 有关libc版本的问题 此攻击方式可以在2.34-2.36使用，大佬说看源码应该可以 攻击路径 主要是利用_IO_obst... </summary> </entry> <entry><title>House_of_Apple2_利用条件</title><link href="https://aapcer.github.io/posts/House_of_Apple2_%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6/" rel="alternate" type="text/html" title="House_of_Apple2_利用条件" /><published>2023-02-07T13:37:00+08:00</published> <updated>2023-02-07T13:37:00+08:00</updated> <id>https://aapcer.github.io/posts/House_of_Apple2_%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6/</id> <content src="https://aapcer.github.io/posts/House_of_Apple2_%E5%88%A9%E7%94%A8%E6%9D%A1%E4%BB%B6/" /> <author> <name>Aapcer</name> </author> <category term="攻击方式利用" /> <category term="House_of_Apple" /> <summary> 引言 顺带上次文章，详解一下如何伪造fake_IO_FILE 利用_IO_wfile_overflow函数控制程序执行流 对fp的设置如下： _flags设置为~(2 | 0x8 | 0x800)，如果不需要控制rdi，设置为0即可；如果需要获得shell，可设置为sh;，注意前面有两个空格 vtable设置为_IO_wfile_jumps/_IO_wfile_jumps_mmap/_IO_wfile_jumps_maybe_mmap地址（加减偏移），使其能成功调用_IO_wfile_overflow即可 _wide_data设置为可控堆地址A，即满足*(fp + 0xa0) = A _wide_data-&amp;gt;_IO_write_base设置为0，即满足*(A + 0x18) = 0 ... </summary> </entry> <entry><title>House_of_Apple2_Demo调试</title><link href="https://aapcer.github.io/posts/House_of_Apple2_Demo%E8%B0%83%E8%AF%95/" rel="alternate" type="text/html" title="House_of_Apple2_Demo调试" /><published>2023-02-06T19:30:00+08:00</published> <updated>2023-02-06T19:30:00+08:00</updated> <id>https://aapcer.github.io/posts/House_of_Apple2_Demo%E8%B0%83%E8%AF%95/</id> <content src="https://aapcer.github.io/posts/House_of_Apple2_Demo%E8%B0%83%E8%AF%95/" /> <author> <name>Aapcer</name> </author> <category term="攻击方式利用" /> <category term="House_of_Apple" /> <summary> 引言 即2.31之后hook都给扬了，大佬们选择忘IO的相关函数去进行利用，今天看到又出了个House_of_琴瑟琵琶，想到自己好久没有做IO的题目了，House_of_Apple2也没又进行记录，这里顺带记录下大佬的Demo 利用条件 已知heap地址和glibc地址 能控制程序执行IO操作，包括但不限于：从main函数返回、调用exit函数、通过__malloc_assert触发 能控制_IO_FILE的vtable和_wide_data，一般使用largebin attack去控制 当然了，也可以不用largebin attack去写值，我记得tchache也可以写 利用原理 很简单的是，以前打的FSOP是利用的IO_FILE的vtable表，通过伪造的vtable来任意调用我们的函数，但是后面对IO_FILE的vtable表进行了检查，会判... </summary> </entry> </feed>
