mirror of
https://github.com/vanhauser-thc/thc-hydra.git
synced 2025-08-20 13:23:57 -07:00
Add module for mongodb
This commit is contained in:
parent
6575bf964d
commit
012fbe6d1b
10 changed files with 330 additions and 9 deletions
28
hydra.c
28
hydra.c
|
@ -30,6 +30,7 @@ void usage_svn(const char* service);
|
|||
void usage_ncp(const char* service);
|
||||
void usage_firebird(const char* service);
|
||||
void usage_mysql(const char* service);
|
||||
void usage_mongodb(const char* service);
|
||||
void usage_irc(const char* service);
|
||||
void usage_postgres(const char* service);
|
||||
void usage_telnet(const char* service);
|
||||
|
@ -150,6 +151,10 @@ extern int32_t service_radmin2_init(char *ip, int32_t sp, unsigned char options,
|
|||
extern void service_mcached(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname);
|
||||
extern int32_t service_mcached_init(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname);
|
||||
#endif
|
||||
#ifdef LIBMONGODB
|
||||
extern void service_mongodb(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname);
|
||||
extern int32_t service_mongodb_init(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname);
|
||||
#endif
|
||||
|
||||
extern int32_t service_adam6500_init(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname);
|
||||
extern int32_t service_cisco_init(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname);
|
||||
|
@ -189,7 +194,7 @@ extern int32_t service_rpcap_init(char *ip, int32_t sp, unsigned char options, c
|
|||
|
||||
// ADD NEW SERVICES HERE
|
||||
char *SERVICES =
|
||||
"adam6500 asterisk afp cisco cisco-enable cvs firebird ftp[s] http[s]-{head|get|post} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] memcached mssql mysql ncp nntp oracle oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres radmin2 rdp redis rexec rlogin rpcap rsh rtsp s7-300 sapr3 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp";
|
||||
"adam6500 asterisk afp cisco cisco-enable cvs firebird ftp[s] http[s]-{head|get|post} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] memcached mongodb mssql mysql ncp nntp oracle oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres radmin2 rdp redis rexec rlogin rpcap rsh rtsp s7-300 sapr3 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp";
|
||||
|
||||
#define MAXBUF 520
|
||||
#define MAXLINESIZE ( ( MAXBUF / 2 ) - 4 )
|
||||
|
@ -388,6 +393,9 @@ static const struct {
|
|||
{"memcached", service_mcached_init, service_mcached, NULL},
|
||||
#endif
|
||||
SERVICE(mssql),
|
||||
#ifdef LIBMONGODB
|
||||
SERVICE3("mongodb", mongodb),
|
||||
#endif
|
||||
#ifdef HAVE_MATH_H
|
||||
SERVICE3("mysql", mysql),
|
||||
#endif
|
||||
|
@ -1246,6 +1254,7 @@ int32_t hydra_lookup_port(char *service) {
|
|||
{"oracle-sid", PORT_ORACLE, PORT_ORACLE_SSL},
|
||||
{"oracle", PORT_ORACLE, PORT_ORACLE_SSL},
|
||||
{"memcached", PORT_MCACHED, PORT_MCACHED_SSL},
|
||||
{"mongodb", PORT_MONGODB, PORT_MONGODB},
|
||||
{"mssql", PORT_MSSQL, PORT_MSSQL_SSL},
|
||||
{"mysql", PORT_MYSQL, PORT_MYSQL_SSL},
|
||||
{"postgres", PORT_POSTGRES, PORT_POSTGRES_SSL},
|
||||
|
@ -2083,6 +2092,10 @@ int main(int argc, char *argv[]) {
|
|||
SERVICES = hydra_string_replace(SERVICES, "memcached ", "");
|
||||
strcat(unsupported, "memcached ");
|
||||
#endif
|
||||
#ifndef LIBMONGODB
|
||||
SERVICES = hydra_string_replace(SERVICES, "mongodb ", "");
|
||||
strcat(unsupported, "mongodb ");
|
||||
#endif
|
||||
#ifndef LIBMYSQLCLIENT
|
||||
SERVICES = hydra_string_replace(SERVICES, "mysql ", "mysql(v4) ");
|
||||
strcat(unsupported, "mysql5 ");
|
||||
|
@ -2539,7 +2552,7 @@ int main(int argc, char *argv[]) {
|
|||
if (strcmp(hydra_options.service, "afp") == 0 || strcmp(hydra_options.service, "firebird") == 0 || strncmp(hydra_options.service, "mysql", 5) == 0 ||
|
||||
strcmp(hydra_options.service, "ncp") == 0 || strcmp(hydra_options.service, "oracle") == 0 || strcmp(hydra_options.service, "postgres") == 0 ||
|
||||
strncmp(hydra_options.service, "ssh", 3) == 0 || strcmp(hydra_options.service, "sshkey") == 0 || strcmp(hydra_options.service, "svn") == 0 ||
|
||||
strcmp(hydra_options.service, "sapr3") == 0 || strcmp(hydra_options.service, "memcached") == 0) {
|
||||
strcmp(hydra_options.service, "sapr3") == 0 || strcmp(hydra_options.service, "memcached") == 0 || strcmp(hydra_options.service, "mongodb") == 0) {
|
||||
fprintf(stderr, "[WARNING] module %s does not support HYDRA_PROXY* !\n", hydra_options.service);
|
||||
proxy_string = NULL;
|
||||
}
|
||||
|
@ -2623,6 +2636,17 @@ int main(int argc, char *argv[]) {
|
|||
bail("Compiled without LIBMCACHED support, module not available!");
|
||||
#endif
|
||||
|
||||
if (strcmp(hydra_options.service, "mongodb") == 0)
|
||||
#ifdef LIBMONGODB
|
||||
{
|
||||
i = 1;
|
||||
if (hydra_options.miscptr == NULL || (strlen(hydra_options.miscptr) == 0))
|
||||
fprintf(stderr, "[INFO] The mongodb db wasn't passed so using admin by default\n");
|
||||
}
|
||||
#else
|
||||
bail("Compiled without LIBMONGODB support, module not available!");
|
||||
#endif
|
||||
|
||||
if (strcmp(hydra_options.service, "mysql") == 0) {
|
||||
i = 1;
|
||||
if (hydra_options.tasks > 4) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue