拖了挺久了,网上关于这CVE复现的文章不多,文章内容讲的也比较简略,甚至还有文章存在一些错误表述……中间一度想要放弃qwq,后来也是连续肝了好几天去调试 orz,终于突破,主要是触发劫持程序流的流程问题
上篇文章:CVE-2023-27997环境搭建以及堆溢出复现 | 1uckyc’s blog
讲到可以实现堆溢出任意写入了,参考文章(放在文末),然后可以去修改ssl结构体从而控制程序流
Welcome to my blog
拖了挺久了,网上关于这CVE复现的文章不多,文章内容讲的也比较简略,甚至还有文章存在一些错误表述……中间一度想要放弃qwq,后来也是连续肝了好几天去调试 orz,终于突破,主要是触发劫持程序流的流程问题
上篇文章:CVE-2023-27997环境搭建以及堆溢出复现 | 1uckyc’s blog
讲到可以实现堆溢出任意写入了,参考文章(放在文末),然后可以去修改ssl结构体从而控制程序流
这篇文章比较详细的分享了环境搭建以及漏洞原理,具体复现还在进行中,后续完成了会更新的 orz
参考了 swing师傅博客文章 同时感谢xsh师傅的答疑解惑 orz
和DIR-815溢出漏洞非常相似,相当于再巩固一遍吧。
authentication.cgi中post请求时CONTENT_LENGTH没有限制,后续作为read参数造成溢出
漏洞编号:CVE-2018-17066
DIR-816 漏洞在/bin/goahead程序中,系统中自带system直接执行,且参数为输入内容
只要可以largebin(任意地址写入可控地址)就可以实现,要求很低
同house of emma,前面的利用链仍然是__fxprintf --> locked_vfxprinf --> __vfprintf_internal --> _IO_default_xsputn
,然后利用去调用_IO_default_xsputn
时修改vtable在合理范围的偏移去执行我们想要的内容,house of cat利用的是_IO_wfile_seekoff
,当然也可以通过FSOP来完成这一步
参考: 桥下少年
emma也是利用house of kiwi的触发assert机制,
house of kiwi是去走的fflush-->__sync__
house of emma 是走的 fxprintf --> __locked_vfxprinf --> __vfprintf_internal --> _IO_default_xsputn
通过修改_IO_file_jumps
为_IO_cookie_jumps+offset
,使得最后+偏移为_IO_cookie_write
然后在_IO_cookie_write
中会直接调用指针,设置好偏移就可以去控制执行流