1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 12:41:29 +00:00

Use getaddrinfo instead of gethostbyname for FTP bouncescan

This commit is contained in:
dmiller
2021-07-22 17:19:12 +00:00
parent d15747db32
commit d4ceb17a8d

10
nmap.cc
View File

@@ -1878,14 +1878,12 @@ int nmap_main(int argc, char *argv[]) {
/* If he wants to bounce off of an FTP site, that site better damn well be reachable! */ /* If he wants to bounce off of an FTP site, that site better damn well be reachable! */
if (o.bouncescan) { if (o.bouncescan) {
if (!inet_pton(AF_INET, ftp.server_name, &ftp.server)) { int rc = resolve(ftp.server_name, 0, &ss, &sslen, AF_INET);
if ((target = gethostbyname(ftp.server_name))) if (rc != 0)
memcpy(&ftp.server, target->h_addr_list[0], 4);
else {
fatal("Failed to resolve FTP bounce proxy hostname/IP: %s", fatal("Failed to resolve FTP bounce proxy hostname/IP: %s",
ftp.server_name); ftp.server_name);
} memcpy(&ftp.server, &((sockaddr_in *)&ss)->sin_addr, 4);
} else if (o.verbose) { if (o.verbose) {
log_write(LOG_STDOUT, "Resolved FTP bounce attack proxy to %s (%s).\n", log_write(LOG_STDOUT, "Resolved FTP bounce attack proxy to %s (%s).\n",
ftp.server_name, inet_ntoa(ftp.server)); ftp.server_name, inet_ntoa(ftp.server));
} }