这次的PWNHUB内部赛的两道题目都不是常规题,babyboa考察的是BoaWebserver的cgi文件的利用,美好的异或考察的则是通过逆向分析解密函数来构造栈溢出ROP。两道题目的考点都非常新颖,其中第一道题更是结合了Web,值得大家复现学习!
babyboa
这道题的外表就是一个Web页面
但是实际上他的主要内容都在cgi文件中
cgi文件是使用静态编译的,这在线下比赛的题目中是非常常见的,所以学会如何还原静态库的符号信息非常重要,所以这里我们第一步先尝试着还原静态库的符号信息。
1.还原静态库的符号信息
还原静态库的信息一般用的是IDA提供的FLIRT,这是一种函数识别技术,即库文件快速识别与鉴定技术(FastLibraryIdentificationandRecognitionTechnology)。可以通过sig文件来让IDA在无符号的二进制文件中识别函数特征,并且恢复函数名称等信息,大大增加了代码的可读性,加快分析速度。
而标准库的sig文件也有现成制作好的,在