mirror of
https://github.com/vanhauser-thc/thc-hydra.git
synced 2025-07-06 04:51:40 -07:00
error output fixes
This commit is contained in:
parent
9c7c4a9e22
commit
c3218aafad
2 changed files with 98 additions and 15 deletions
89
Makefile
89
Makefile
|
@ -1,5 +1,90 @@
|
|||
all:
|
||||
@echo Error: you must run "./configure" first
|
||||
CC=gcc
|
||||
STRIP=strip
|
||||
XDEFINES= -DHAVE_MYSQL_MYSQL_H -DLIBNCURSES -DLIBIDN -DHAVE_PR29_H -DHAVE_PCRE -DLIBMYSQLCLIENT -DLIBSVN -DLIBSSH -DHAVE_ZLIB -DHAVE_MATH_H
|
||||
XLIBS= -lz -lcurses -lidn -lpcre -lmysqlclient -lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1 -lssh
|
||||
XLIBPATHS=-L/usr/lib -L/usr/local/lib -L/lib -L/lib
|
||||
XIPATHS= -I/usr/include/mysql -I/usr/include/ncurses -I/usr/include -I/usr/include -I/usr/include -I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/subversion-1
|
||||
PREFIX=/usr/local
|
||||
XHYDRA_SUPPORT=xhydra
|
||||
STRIP=strip
|
||||
|
||||
HYDRA_LOGO=hydra-logo.o
|
||||
PWI_LOGO=pw-inspector-logo.o
|
||||
SEC=-fstack-protector-all --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2
|
||||
|
||||
#
|
||||
# Makefile for Hydra - (c) 2001-2014 by van Hauser / THC <vh@thc.org>
|
||||
#
|
||||
OPTS=-I. -O3
|
||||
# -Wall -g -pedantic
|
||||
LIBS=-lm
|
||||
BINDIR = /bin
|
||||
MANDIR ?= /man/man1
|
||||
DATADIR ?= /etc
|
||||
DESTDIR ?=
|
||||
|
||||
SRC = hydra-vnc.c hydra-pcnfs.c hydra-rexec.c hydra-nntp.c hydra-socks5.c \
|
||||
hydra-telnet.c hydra-cisco.c hydra-http.c hydra-ftp.c hydra-imap.c \
|
||||
hydra-pop3.c hydra-smb.c hydra-icq.c hydra-cisco-enable.c hydra-ldap.c \
|
||||
hydra-mysql.c hydra-mssql.c hydra-xmpp.c hydra-http-proxy-urlenum.c \
|
||||
hydra-snmp.c hydra-cvs.c hydra-smtp.c hydra-smtp-enum.c hydra-sapr3.c hydra-ssh.c \
|
||||
hydra-sshkey.c hydra-teamspeak.c hydra-postgres.c hydra-rsh.c hydra-rlogin.c \
|
||||
hydra-oracle-listener.c hydra-svn.c hydra-pcanywhere.c hydra-sip.c \
|
||||
hydra-oracle.c hydra-vmauthd.c hydra-asterisk.c hydra-firebird.c hydra-afp.c hydra-ncp.c \
|
||||
hydra-oracle-sid.c hydra-http-proxy.c hydra-http-form.c hydra-irc.c \
|
||||
hydra-rdp.c hydra-s7-300.c hydra-redis.c \
|
||||
crc32.c d3des.c bfg.c ntlm.c sasl.c hmacmd5.c hydra-mod.c hydra-rtsp.c
|
||||
OBJ = hydra-vnc.o hydra-pcnfs.o hydra-rexec.o hydra-nntp.o hydra-socks5.o \
|
||||
hydra-telnet.o hydra-cisco.o hydra-http.o hydra-ftp.o hydra-imap.o \
|
||||
hydra-pop3.o hydra-smb.o hydra-icq.o hydra-cisco-enable.o hydra-ldap.o \
|
||||
hydra-mysql.o hydra-mssql.o hydra-xmpp.o hydra-http-proxy-urlenum.o \
|
||||
hydra-snmp.o hydra-cvs.o hydra-smtp.o hydra-smtp-enum.o hydra-sapr3.o hydra-ssh.o \
|
||||
hydra-sshkey.o hydra-teamspeak.o hydra-postgres.o hydra-rsh.o hydra-rlogin.o \
|
||||
hydra-oracle-listener.o hydra-svn.o hydra-pcanywhere.o hydra-sip.o \
|
||||
hydra-oracle-sid.o hydra-oracle.o hydra-vmauthd.o hydra-asterisk.o hydra-firebird.o hydra-afp.o hydra-ncp.o \
|
||||
hydra-http-proxy.o hydra-http-form.o hydra-irc.o hydra-redis.o \
|
||||
hydra-rdp.o hydra-s7-300.c \
|
||||
crc32.o d3des.o bfg.o ntlm.o sasl.o hmacmd5.o hydra-mod.o hydra-rtsp.o
|
||||
BINS = hydra pw-inspector
|
||||
|
||||
EXTRA_DIST = README README.arm README.palm CHANGES TODO INSTALL LICENSE \
|
||||
hydra-mod.h hydra.h crc32.h d3des.h
|
||||
|
||||
all: pw-inspector hydra $(XHYDRA_SUPPORT)
|
||||
@echo
|
||||
@echo Now type "make install"
|
||||
|
||||
hydra: hydra.c $(OBJ)
|
||||
$(CC) $(OPTS) $(SEC) $(LIBS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o hydra $(HYDRA_LOGO) hydra.c $(OBJ) $(LIBS) $(XLIBS) $(XLIBPATHS) $(XIPATHS) $(XDEFINES)
|
||||
@echo
|
||||
@echo If men could get pregnant, abortion would be a sacrament
|
||||
@echo
|
||||
|
||||
xhydra:
|
||||
-cd hydra-gtk && sh ./make_xhydra.sh
|
||||
|
||||
pw-inspector: pw-inspector.c
|
||||
-$(CC) $(OPTS) $(SEC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o pw-inspector $(PWI_LOGO) pw-inspector.c
|
||||
|
||||
.c.o:
|
||||
$(CC) $(OPTS) $(SEC) $(CFLAGS) $(CPPFLAGS) -c $< $(XDEFINES) $(XIPATHS)
|
||||
|
||||
strip: all
|
||||
strip $(BINS)
|
||||
-echo OK > /dev/null && test -x xhydra && strip xhydra || echo OK > /dev/null
|
||||
|
||||
install: strip
|
||||
-mkdir -p $(DESTDIR)$(PREFIX)$(BINDIR)
|
||||
cp -f hydra-wizard.sh $(BINS) $(DESTDIR)$(PREFIX)$(BINDIR) && cd $(DESTDIR)$(PREFIX)$(BINDIR) && chmod 755 hydra-wizard.sh $(BINS)
|
||||
-echo OK > /dev/null && test -x xhydra && cp xhydra $(DESTDIR)$(PREFIX)$(BINDIR) && cd $(DESTDIR)$(PREFIX)$(BINDIR) && chmod 755 xhydra || echo OK > /dev/null
|
||||
-sed -e "s|^INSTALLDIR=.*|INSTALLDIR="$(PREFIX)"|" dpl4hydra.sh | sed -e "s|^LOCATION=.*|LOCATION="$(DATADIR)"|" > $(DESTDIR)$(PREFIX)$(BINDIR)/dpl4hydra.sh
|
||||
-chmod 755 $(DESTDIR)$(PREFIX)$(BINDIR)/dpl4hydra.sh
|
||||
-mkdir -p $(DESTDIR)$(PREFIX)$(DATADIR)
|
||||
-cp -f *.csv $(DESTDIR)$(PREFIX)$(DATADIR)
|
||||
-mkdir -p $(DESTDIR)$(PREFIX)$(MANDIR)
|
||||
-cp -f hydra.1 xhydra.1 pw-inspector.1 $(DESTDIR)$(PREFIX)$(MANDIR)
|
||||
|
||||
clean:
|
||||
rm -rf xhydra pw-inspector hydra *.o core *.core *.stackdump *~ Makefile.in Makefile dev_rfc hydra.restore arm/*.ipk arm/ipkg/usr/bin/* hydra-gtk/src/*.o hydra-gtk/src/xhydra hydra-gtk/stamp-h hydra-gtk/config.status hydra-gtk/errors hydra-gtk/config.log hydra-gtk/src/.deps hydra-gtk/src/Makefile hydra-gtk/Makefile
|
||||
cp -f Makefile.orig Makefile
|
||||
|
||||
|
|
24
hydra.c
24
hydra.c
|
@ -2844,8 +2844,7 @@ int main(int argc, char *argv[]) {
|
|||
if (hydra_options.colonfile == NULL
|
||||
&& ((hydra_options.login == NULL && hydra_options.loginfile == NULL) || (hydra_options.pass == NULL && hydra_options.passfile == NULL && hydra_options.bfg == 0))) {
|
||||
if (j > 3) {
|
||||
fprintf(stderr,
|
||||
"[ERROR] you specified SNMPv3, defined hashing/encryption but only gave one of login or password list. Either supply both logins and passwords (this is what is usually used in SNMPv3), or remove the hashing/encryption option (unusual)\n");
|
||||
fprintf(stderr, "[ERROR] you specified SNMPv3, defined hashing/encryption but only gave one of login or password list. Either supply both logins and passwords (this is what is usually used in SNMPv3), or remove the hashing/encryption option (unusual)\n");
|
||||
exit(-1);
|
||||
}
|
||||
fprintf(stderr, "[WARNING] you specified SNMPv3 but gave no logins, NoAuthNoPriv is assumed. This is an unusual case, you should know what you are doing\n");
|
||||
|
@ -3033,7 +3032,7 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "[ERROR] Unknown optional argument: %s", optional1);
|
||||
fprintf(stderr, "[ERROR] Unknown optional argument: %s\n", optional1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3071,8 +3070,7 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
|
||||
if (hydra_options.ssl == 0 && hydra_options.port == 443)
|
||||
fprintf(stderr,
|
||||
"[WARNING] you specified port 443 for attacking a http service, however did not specify the -S ssl switch nor used https-..., therefore using plain HTTP\n");
|
||||
fprintf(stderr, "[WARNING] you specified port 443 for attacking a http service, however did not specify the -S ssl switch nor used https-..., therefore using plain HTTP\n");
|
||||
|
||||
if (hydra_options.loop_mode && hydra_options.colonfile != NULL)
|
||||
bail("The loop mode option (-u) works with all modes - except colon files (-C)\n");
|
||||
|
@ -3137,13 +3135,13 @@ int main(int argc, char *argv[]) {
|
|||
if (hydra_options.colonfile == NULL) {
|
||||
if (hydra_options.loginfile != NULL) {
|
||||
if ((lfp = fopen(hydra_options.loginfile, "r")) == NULL) {
|
||||
fprintf(stderr, "[ERROR] File for logins not found: %s", hydra_options.loginfile);
|
||||
fprintf(stderr, "[ERROR] File for logins not found: %s\n", hydra_options.loginfile);
|
||||
exit(-1);
|
||||
}
|
||||
hydra_brains.countlogin = countlines(lfp, 0);
|
||||
hydra_brains.sizelogin = size_of_data;
|
||||
if (hydra_brains.countlogin == 0) {
|
||||
fprintf(stderr, "[ERROR] File for logins is empty: %s", hydra_options.loginfile);
|
||||
fprintf(stderr, "[ERROR] File for logins is empty: %s\n", hydra_options.loginfile);
|
||||
exit(-1);
|
||||
}
|
||||
if (hydra_brains.countlogin > MAX_LINES) {
|
||||
|
@ -3166,13 +3164,13 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
if (hydra_options.passfile != NULL) {
|
||||
if ((pfp = fopen(hydra_options.passfile, "r")) == NULL) {
|
||||
fprintf(stderr, "[ERROR] File for passwords not found: %s", hydra_options.passfile);
|
||||
fprintf(stderr, "[ERROR] File for passwords not found: %s\n", hydra_options.passfile);
|
||||
exit(-1);
|
||||
}
|
||||
hydra_brains.countpass = countlines(pfp, 0);
|
||||
hydra_brains.sizepass = size_of_data;
|
||||
if (hydra_brains.countpass == 0) {
|
||||
fprintf(stderr, "[ERROR] File for passwords is empty: %s", hydra_options.passfile);
|
||||
fprintf(stderr, "[ERROR] File for passwords is empty: %s\n", hydra_options.passfile);
|
||||
exit(-1);
|
||||
}
|
||||
if (hydra_brains.countpass > MAX_LINES) {
|
||||
|
@ -3213,13 +3211,13 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
} else {
|
||||
if ((cfp = fopen(hydra_options.colonfile, "r")) == NULL) {
|
||||
fprintf(stderr, "[ERROR] File for colon files (login:pass) not found: %s", hydra_options.colonfile);
|
||||
fprintf(stderr, "[ERROR] File for colon files (login:pass) not found: %s\n", hydra_options.colonfile);
|
||||
exit(-1);
|
||||
}
|
||||
hydra_brains.countlogin = countlines(cfp, 1);
|
||||
hydra_brains.sizelogin = size_of_data;
|
||||
if (hydra_brains.countlogin == 0) {
|
||||
fprintf(stderr, "[ERROR] File for colon files (login:pass) is empty: %s", hydra_options.colonfile);
|
||||
fprintf(stderr, "[ERROR] File for colon files (login:pass) is empty: %s\n", hydra_options.colonfile);
|
||||
exit(-1);
|
||||
}
|
||||
if (hydra_brains.countlogin > MAX_LINES / 2) {
|
||||
|
@ -3258,12 +3256,12 @@ int main(int argc, char *argv[]) {
|
|||
|
||||
if (hydra_options.infile_ptr != NULL) {
|
||||
if ((ifp = fopen(hydra_options.infile_ptr, "r")) == NULL) {
|
||||
fprintf(stderr, "[ERROR] File for targets not found: %s", hydra_options.infile_ptr);
|
||||
fprintf(stderr, "[ERROR] File for targets not found: %s\n", hydra_options.infile_ptr);
|
||||
exit(-1);
|
||||
}
|
||||
hydra_brains.targets = countservers = countinfile = countlines(ifp, 0);
|
||||
if (countinfile == 0) {
|
||||
fprintf(stderr, "[ERROR] File for targets is empty: %s", hydra_options.infile_ptr);
|
||||
fprintf(stderr, "[ERROR] File for targets is empty: %s\n", hydra_options.infile_ptr);
|
||||
exit(-1);
|
||||
}
|
||||
// if (countinfile > 60) fprintf(stderr, "[WARNING] the -M option is not working correctly at the moment for target lists > 60!\n");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue