0%

首先使用md5进行比较,但使用的是strcmp,比较的字符串中含有\0,可以导致截断

于是可以爆破出符合的key
edit中存在off by one,可以通过溢出来扩大tcache bin chunk的size,然后delete后申请回来,就能制造overlap chunk,然后控制func指针和参数即可

阅读全文 »

通过patch掉一些无关的语句,就可以使用IDA查看伪代码了,发现delete存在UAF

add中如果分配的地址超出了ptr范围,会调用exit退出,且add只能malloc(0x10)

阅读全文 »

格式化字符串漏洞

利用格式化字符串改写main函数的栈中rbp,并将返回地址改为leave ret的地址,这样main函数返回时就可以栈迁移到可控区

阅读全文 »

0x01 前言

虚拟机逃逸,通过利用虚拟机程序本身存在的漏洞,我们可以控制虚拟机程序在宿主机上执行任意代码。虚拟机虚拟出各种设备给guest系统使用,这些虚拟设备只是虚拟机程序中的一个模块,如果这些设备存在漏洞,便可以利用起来进行逃逸。

0x02 PCI设备

阅读全文 »

url校验不充分,我们注册了ha1vktoutiao.com,并绑定了自己的服务器,实现了校验的绕过

TestActivity中的WebView允许执行JS,而Flag存储在Cookie数据库里

阅读全文 »

PendingIntent使用了空的Intent,因此我们可以在其他APP中劫持PendingIntent,任意修改Intent的action,实现广播

与easydroid的思路类似,我们利用PendingIntent发送com.bytectf.SET_FLAG的广播,目的是在flag文件中注入一段XSS,然后利用软连接建立一个symlink.html,并加载,实现将整个flag文件反弹
MainActivity.java

阅读全文 »