郭老师您好,我是14网侦的倪健寒,在学习的过程中遇到一些问题,希望能够得到你的指导。
问题说明
最近在使用IDA对一段存在溢出漏洞的脚本进行分析,分析的过程中遇到两个问题,一是IDA反汇编产生的代码有一行不太看得懂,另一个就是由于脚本中涉及的函数较多,感觉自己画不出函数的堆栈示意图,从而更直观地理解这个溢出漏洞。详情如下:
代码块.PNG- 在00409958处存在一行指令,其表达为 jalr $t9 ; sobj_get_string 。查阅资料发现: jalr 的用法一般为 jalr 寄存器1;寄存器2 ,像这种 jalr 寄存器1;函数 的表达如何理解,希望得到老师的帮助。
- 根据漏洞公告,该漏洞在接受来自数据包中超长的Cookie后,位于hedwig_main 函数中调用 sess_get_uid 函数从HTTP头部中提取Cookie值,但提取Cookie值以后没有校验长度。而使用 sobj_get_uid 函数获取Cookie值的时候仍然没有验证Cookie的长度就直接将其作为位于0x0040997C处的sprintf函数的参数格式化到堆栈中导致溢出。综上,感觉涉及到的函数较多,不清楚如何画出这个溢出漏洞堆栈示意图,希望得到老师的指点。
谢谢老师!
网友评论