⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tftp.inc

📁 漏洞扫描源码,可以扫描linux,windows,交换机路由器
💻 INC
字号:
# -*- Fundamental -*-## This NASL script was written by Martin O'Neal of Corsaire # (http://www.corsaire.com)# # The script provides basic tftp functionality for use in other scripts...## DISCLAIMER# The information contained within this script is supplied "as-is" with # no warranties or guarantees of fitness of use or otherwise. Corsaire # accepts no responsibility for any damage caused by the use or misuse of # this information.## GPLv2# ############## declarations ################# declare functionfunction tftp_get(port,path){	# initialise variables	local_var request_data;	local_var request_ip;	local_var request_udp;	local_var response_udp;	local_var response_data;	local_var filter;	local_var source_port;	local_var destination_port;	source_port=23793+int((rand()%6157));	destination_port=port;			# create request	request_data=raw_string(0x00,0x01)+path+raw_string(0x00)+'octet'+raw_string(0x00);	request_ip=forge_ip_packet(ip_hl:5,ip_v:4,ip_tos:0,ip_len:20,ip_id:rand(),ip_off:0,ip_ttl:64,ip_p:IPPROTO_UDP,ip_src:this_host());	request_udp=forge_udp_packet(ip:request_ip,uh_sport:source_port,uh_dport:destination_port,uh_ulen:8+strlen(request_data),data:request_data);	# create filter	filter='udp and dst port '+source_port+' and src host '+get_host_ip();	# send packet	response_udp=send_packet(request_udp,pcap_active:TRUE,pcap_filter:filter);		# check if response received	if(response_udp)	{		# retrieve udp data		response_data=get_udp_element(udp:response_udp,element:"data");				# check if udp data is valid positive tftp data response		if(ord(response_data[0])==0x00 && ord(response_data[1])==0x03 && ord(response_data[2])==0x00 && ord(response_data[3])==0x01)		{			# remove tftp protocol header from data			response_data=substr(response_data,4);						return(response_data);		}	}		return NULL;}# declare functionfunction tftp_put(port,path){	# initialise variables	local_var request_data;	local_var request_ip;	local_var request_udp;	local_var response_udp;	local_var response_data;	local_var filter;	local_var source_port;	local_var destination_port;	source_port=32288+int((rand()%7354));	destination_port=port;			# create request	request_data=raw_string(0x00,0x02)+path+raw_string(0x00)+'octet'+raw_string(0x00);	request_ip=forge_ip_packet(ip_hl:5,ip_v:4,ip_tos:0,ip_len:20,ip_id:rand(),ip_off:0,ip_ttl:64,ip_p:IPPROTO_UDP,ip_src:this_host());	request_udp=forge_udp_packet(ip:request_ip,uh_sport:source_port,uh_dport:destination_port,uh_ulen:8+strlen(request_data),data:request_data);	# create filter	filter='udp and dst port '+source_port+' and src host '+get_host_ip();	# send packet	response_udp=send_packet(request_udp,pcap_active:TRUE,pcap_filter:filter);		# check if response received	if(response_udp)	{		# retrieve udp data		response_data=get_udp_element(udp:response_udp,element:"data");				# check if udp data is valid positive tftp data response		if(ord(response_data[0])==0x00 && ord(response_data[1])==0x04 && ord(response_data[2])==0x00 && ord(response_data[3])==0x00)		{			return(TRUE);		}	}		return NULL;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -