360初赛溢出题
这道很简单的溢出题,竟然花了我一天的时间来做,为什么?菜呗!
一开始信心满满的打开逆向题一看,是一个驱动程序,什么鬼?顿时就想完了,没玩个这东西。还好系统安全里有一道溢出题。
好了,不哔哔了,直接请出神器IDA
看到了read_flag_file函数,记住函数地址是在400824
再用强大的F5一看
哦,原来是个服务器端程序,当接收的数据包超过8时执行parse_packet函数
进入parse_packet
看到这里有几个get函数,感觉有问题,点进去看看
诶,看到了memcpy函数,很开心。函数功能是读取数据包内容,经过一堆验证再写入parse_packet缓存区
然后逆向算法构造如下数据包
\x02\x04\x02\x00\x00\x00\x04\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x08\x40\x00
一发送,欸成功了!