xctf-EasyPwn-WP
很久没做xctf的题了,这道题其实不难,但是漏洞点不容易看出来(菜如我就没看出来)

这里的v2其实是有溢出的,v2的大小仅有0x3EB,s的大小却有0x400,这样就可以覆写v3,而C的格式化字符串家族的函数对于格式化字符串的处理都是传入字符串头指针,向后遍历到'\x00'为止的,所以我们在%s后面接上格式化字符串也是有效的,又由于是栈上格式化字符串,可以容易地实现任意地址读写。比较麻烦的是参数位置的计算,本题中我还不知道该怎么算,就只能用老办法试了(也就是%p打出值在gdb里面看stack比对,发现不是与rsp距离+6而是+4)。

BUU-SWPUCTF_2019_login-WP
本来想改返回地址的,但是发现不论是one_gadget还是system都出现了dump core,据说是32位程序这样改返回地址很容易爆,我也不知道为什么。最后还是覆写的printf@got。
BUU-wustctf2020_easyfast-WP
fastbin attack水题,大概是House Of Spirit
存在UAF,所以也不需要double free了,申请两个chunk,free掉他们,由于fastbin的LIFO策略,修改第二个chunk的fd指针为0x602080,然后malloc两次就可以对0x602090任意写。当然由于fastbin在分配时会检测被分配的chunk的size的正确性