1.题目是图书管理功能:
2.其中book结构为:
3.author_name和books_list在全局变量中的内存布局:
4.read_data函数存在off-by-null漏洞,会比传入参数len多读一个字节'\0'
5.read_author_name函数调用漏洞函数读32个字节,实际读入33字节,根据上面的内存布局可以看到,最后一个字节'\0'会覆盖到books_list的第一个字节
6. AddBook的伪代码如下:
malloc3次,依次为 book_name(传入长度)、book_description(传入长度)、和BOOK(32字节)结构体
7. DeleteBook伪代码如下:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课