Decorative image frame

BUU刷题集

之前一直有说要刷buu,但一直没怎么行动,今天开始,要好好刷题了!
这篇blog将持续不定时更新(如果能日更就好了)
啊宁!冲呀!

Read More...

VMPwn

一直都没说服自己开始学vmpwn,大概是被偏代码类解读的题目,感觉上很难而劝退了吧

这类题好像就是看懂题目中赋值的操作,然后利用操作实现想要的目的
难应该就是难在看代码逻辑,分析每一个操作数执行的到底是什么功能

接下来看几道例题吧

Read More...

IO_FILE-leakaddr

任意读原理

stderr、stdout、stdin这三个函数拥有IO_FILE结构体,要利用IO_FILE实现任意读,就要利用到stdout。
首先,puts和write函数的执行,都会通过 _IO_new_file_overflow 这个函数最后执行 _IO_overflow

puts: _IO_puts –> _IO_sputn –> _IO_new_file_xsputn –> _IO_new_file_overflow –> _IO_do_write –> new_do_write –> _IO_SYSWRITE

fwrite: _IO_fwrite –> _IO_sputn –> _IO_new_file_xsputn –> _IO_new_file_overflow –> _IO_do_write –> new_do_write –> _IO_SYSWRITE

_IO_new_file_xsputn的源码:

Read More...

mips编译环境配置与简单栈溢出

环境编译

首先就是搭一下编译环境,(==最好选16的ubuntu==,我曾经觉得18的Ubuntu长得好看,然后在上面搭了一天的环境之后发现,并不能动态调试,然后重新在16里又再搭了一天)

buildroot

下载:buildroot

解压之后,configs里面有一个qemu_mips32r2el_malta_defconfig这样的配置,可以进去找找看有没有,我们回到主目录,直接make qemu_mips32r2el_malta_defconfig

1
2
coyote@ubuntu:~/buildroot-2020.02.1$ make qemu_mips32r2el_malta_defconfig
coyote@ubuntu:~/buildroot-2020.02.1$ make

make qemu…那个命令就是配置相对应的环境,就不用手动make menuconfig 去设置了。

Read More...

house_of_orange

其实之前从来没碰到house of orange的题,然后在想学io_file的时候看到有提到这个,就去了解了一下house of orange的原理。

对于house of orange操作的理解(glibc2.23)

大体上是,没有free函数,通过改写top chunk,使top chunk的大小不能满足我们要malloc的大小,则malloc后,原来的top chunk会被释放,并置入到unsorted bin的队列。这样就可以到达不通过free也能把chunk写到unsorted bin的队列里面的目的了。

Read More...