小心我“DIR”溢出你!
好吧,我承认我昨天是在弄DIR溢出。
d%I/A0JLbzp&K C0A s6m7Ur%I0不是sharpxxxxx那个。
h.a3rDj Q0:E3lH0u}3Wy,RA~0dir溢出其实有好几个,有的和cmd有关,有的需要特定环境。
^!?-dO2LWy0[ u AN0"zrY`:ffK!]t0我今天整的这个又是一个YY漏洞。
9\c L?&]*]d)p0(kVsJM$ets~5u0微软一直没有补,因为在微软看来,这个应该不属于漏洞吧,溢出了也提不了权限,顶多算一个bug。IXPUB技术博客LX$gdAv g V
IXPUB技术博客`1O%R xx'hFo3od所以很多牛人都不整这个bug,而最近dummy爆了一个暴风影音的0day,也是个unicode的,我只在IE里触发了,不知道在perl脚本下咋触发,后来想起了这个dir漏洞。
z0l1B"k}0w g-f_/u0我最喜欢做的事情就是整些没用的,仅仅用来YY的东西,时不时自虐一下,所以今天看看这个dir溢出。
2w x6`1yE)z0
jPx
c6_c3d0在我的xp sp2 cn上,cmd版本
Microsoft Windows XP [版本 5.1.2600]IXPUB技术博客6s b;kvH-j%W7?
(C) 版权所有 1985-2001 Microsoft Corp.IXPUB技术博客L^ y*M{RO
首先,触发漏洞:D:>dir \\?\AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA......(超长)
_p%S ERkO,B0IXPUB技术博客0V3e2G/`3Q\.L#aU就溢出了,cmd crash,简单吧IXPUB技术博客.k3ix*h8`/H
IXPUB技术博客p)C;`(Ow+S{?大概200多个A就可以造成溢出。
"Dm$Dc5T{1k1V0GK(NN,D,|B0看看溢出时候的状况:IXPUB技术博客2t6a6TD2S
IXPUB技术博客U;dx4CJ8f
发现输出的参数: A 经过unicode编码后,一路覆盖到了栈底,异常了~~~IXPUB技术博客{a'YmJ9b/]^p_
异常时寄存器如下:IXPUB技术博客$ina{!^#m1N
IXPUB技术博客0Jq/Q|I,o`xs
停在这里:IXPUB技术博客UVi8@
u;U
77C17EA2 66:8901 MOV WORD PTR DS:[ECX],AX ; //===> EIP指向这里IXPUB技术博客FB'lV0lw
77C17EA5 41 INC ECXIXPUB技术博客[4xo
q0@
77C17EA6 41 INC ECXIXPUB技术博客~{+FB8MY5A$s
|3N-F7^
`iW0SEH也被覆盖了:IXPUB技术博客T9X?YT8sL#B
0013FF30 00410041 A.A.IXPUB技术博客$mTb+e]w
0013FF34 00410041 A.A. 指向下一个 SEH 记录的指针
g? oY,p_ T00013FF38 00410041 A.A. SE处理程序
Lu9U?0xO"T&o00013FF3C 00410041 A.A.IXPUB技术博客2D#z[,tk
0013FF40 00410041 A.A.