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

📄 niteserver_ftp_dir_trav.nasl

📁 漏洞扫描源码,可以扫描linux,windows,交换机路由器
💻 NASL
字号:
# This script was written by Michel Arboi <arboi@alussinan.org>## GNU Public Licence## References:## From: matrix@infowarfare.dk# Subject: Directory traversal vulnerabilities found in NITE ftp-server version 1.83# Date: Wed, 15 Jan 2003 13:10:46 +0100## From: "Peter Winter-Smith" <peter4020@hotmail.com> # To: vulnwatch@vulnwatch.org, vuln@secunia.com, bugs@securitytracker.com# Date: Wed, 06 Aug 2003 19:41:13 +0000# Subject: Directory Traversal Vulnerability in 121 WAM! Server 1.0.4.0## Vulnerable:# NITE ftp-server version 1.83# 121 WAM! Server 1.0.4.0#if(description){ script_id(11466); script_bugtraq_id(6648); script_version ("$Revision: 118 $");  desc["english"] = "The remote FTP server allows anybody to switch to the root directory and read potentialy sensitive files.Solution: Upgrade your FTP serverRisk factor: High"; name["english"] = "NiteServer FTP directory traversal";  script_name(english:name["english"]); script_description(english:desc["english"]);  summary["english"] = "Attempts to set the current directory to the root of the disk"; script_summary(english:summary["english"]);  script_category(ACT_GATHER_INFO);   script_copyright(english:"This script is Copyright (C) 2003 Michel Arboi",		francais:"Ce script est Copyright (C) 2003 Michel Arboi"); family["english"] = "FTP"; family["francais"] = "FTP"; script_family(english:family["english"], francais:family["francais"]); script_dependencie("find_service.nes", "ftp_anonymous.nasl"); script_require_keys("ftp/login"); script_require_ports("Services/ftp", 21); exit(0);}include("ftp_func.inc");include('global_settings.inc');if ( report_paranoia < 2 ) exit(0);port = get_kb_item("Services/ftp");if (! port) port = 21;if (! get_port_state(port)) exit(0);soc = open_sock_tcp(port);if (! soc) exit(0);if (! ftp_authenticate(socket:soc, user: "anonymous", pass: "openvas@openvas.org")){  ftp_close(socket:soc);  exit(0);}send(socket: soc, data: 'CWD\r\n');r = ftp_recv_line(socket: soc);send(socket: soc, data: 'PWD\r\n');r = ftp_recv_line(socket: soc);matches = egrep(string:r, pattern:'^[0-9]+ *"([^"]+)"');if (matches) {  foreach match (matches) {    match = chomp(match);    v = eregmatch(string:match, pattern:'^[0-9]+ *"([^"]+)"');    if (! isnull(v)) {      cur1 = v[1];      break;    }  }}# Loop on vulnerable patternsdirs = make_list("\..\..\..\..\..", "/../");foreach d (dirs){send(socket: soc, data: 'CWD ' + d + '\r\n');r = ftp_recv_line(socket: soc);send(socket: soc, data: 'PWD\r\n');r = ftp_recv_line(socket: soc);matches = egrep(string:r, pattern:'^[0-9]+ *"([^"]+)"');if (matches) {  foreach match (matches) {    match = chomp(match);    v = eregmatch(string:match, pattern:'^[0-9]+ *"([^"]+)"');    if (! isnull(v)) {      cur2 = v[1];      break;    }  }}if (cur1 && cur2){  if (cur1 != cur2)    security_hole(port);  ftp_close(socket: soc);  exit(0);}p = ftp_pasv(socket:soc);if(p){  soc2 = open_sock_tcp(p, transport:get_port_transport(port));  if(soc2)  {     send(socket:soc, data: 'LIST\r\n');     r = ftp_recv_listing(socket:soc2);     r = tolower(r);     r2 = ftp_recv_line(socket: soc);     close(soc2);     if ("autoexec.bat" >< r || "boot.ini" >< r || "config.sys" >< r)     {       security_hole(port);       break;     }   }}}ftp_close(socket: soc);

⌨️ 快捷键说明

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