mirror of
https://github.com/vanhauser-thc/thc-hydra.git
synced 2025-07-05 12:36:09 -07:00
code indent
This commit is contained in:
parent
531ee7734b
commit
720bdb3f96
83 changed files with 6377 additions and 6240 deletions
|
@ -1,6 +1,6 @@
|
|||
//This plugin was written by <david dot maciejak at gmail D O T com>
|
||||
//Tested on mongodb-server 1:3.6.3-0ubuntu1
|
||||
//MONGODB-CR is been deprecated
|
||||
// This plugin was written by <david dot maciejak at gmail D O T com>
|
||||
// Tested on mongodb-server 1:3.6.3-0ubuntu1
|
||||
// MONGODB-CR is been deprecated
|
||||
|
||||
#ifdef LIBMONGODB
|
||||
#include <mongoc.h>
|
||||
|
@ -9,9 +9,7 @@
|
|||
#include "hydra-mod.h"
|
||||
|
||||
#ifndef LIBMONGODB
|
||||
void dummy_mongodb() {
|
||||
printf("\n");
|
||||
}
|
||||
void dummy_mongodb() { printf("\n"); }
|
||||
#else
|
||||
|
||||
extern int32_t hydra_data_ready_timed(int32_t socket, long sec, long usec);
|
||||
|
@ -31,16 +29,17 @@ int is_error_msg(char *msg) {
|
|||
}
|
||||
|
||||
int require_auth(int32_t sock) {
|
||||
unsigned char m_hdr[] =
|
||||
"\x3f\x00\x00\x00" //messageLength (63)
|
||||
"\x00\x00\x00\x41" //requestID
|
||||
"\xff\xff\xff\xff" //responseTo
|
||||
"\xd4\x07\x00\x00" //opCode (2004 OP_QUERY)
|
||||
"\x00\x00\x00\x00" //flags
|
||||
"\x61\x64\x6d\x69\x6e\x2e\x24\x63\x6d\x64\x00" //fullCollectionName (admin.$cmd)
|
||||
"\x00\x00\x00\x00" //numberToSkip (0)
|
||||
"\x01\x00\x00\x00" //numberToReturn (1)
|
||||
"\x18\x00\x00\x00\x10\x6c\x69\x73\x74\x44\x61\x74\x61\x62\x61\x73\x65\x73\x00\x01\x00\x00\x00\x00"; //query ({"listDatabases"=>1})
|
||||
unsigned char m_hdr[] = "\x3f\x00\x00\x00" // messageLength (63)
|
||||
"\x00\x00\x00\x41" // requestID
|
||||
"\xff\xff\xff\xff" // responseTo
|
||||
"\xd4\x07\x00\x00" // opCode (2004 OP_QUERY)
|
||||
"\x00\x00\x00\x00" // flags
|
||||
"\x61\x64\x6d\x69\x6e\x2e\x24\x63\x6d\x64\x00" // fullCollectionName
|
||||
// (admin.$cmd)
|
||||
"\x00\x00\x00\x00" // numberToSkip (0)
|
||||
"\x01\x00\x00\x00" // numberToReturn (1)
|
||||
"\x18\x00\x00\x00\x10\x6c\x69\x73\x74\x44\x61\x74\x61\x62\x61\x73\x65\x73"
|
||||
"\x00\x01\x00\x00\x00\x00"; // query ({"listDatabases"=>1})
|
||||
|
||||
if (hydra_send(sock, m_hdr, sizeof(m_hdr), 0) > 0) {
|
||||
if (hydra_data_ready_timed(sock, 0, 1000) > 0) {
|
||||
|
@ -51,7 +50,7 @@ int require_auth(int32_t sock) {
|
|||
return 2;
|
||||
}
|
||||
|
||||
int32_t start_mongodb(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
|
||||
int32_t start_mongodb(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE *fp) {
|
||||
char *empty = "";
|
||||
char *login, *pass;
|
||||
char uri[256];
|
||||
|
@ -70,13 +69,13 @@ int32_t start_mongodb(int32_t s, char *ip, int32_t port, unsigned char options,
|
|||
pass = empty;
|
||||
|
||||
mongoc_init();
|
||||
mongoc_log_set_handler (NULL, NULL);
|
||||
mongoc_log_set_handler(NULL, NULL);
|
||||
bson_init(&q);
|
||||
|
||||
snprintf(uri, sizeof(uri), "mongodb://%s:%s@%s/?authSource=%s",login, pass, hydra_address2string(ip), miscptr);
|
||||
snprintf(uri, sizeof(uri), "mongodb://%s:%s@%s/?authSource=%s", login, pass, hydra_address2string(ip), miscptr);
|
||||
client = mongoc_client_new(uri);
|
||||
if (!client)
|
||||
return 3;
|
||||
return 3;
|
||||
|
||||
mongoc_client_set_appname(client, "hydra");
|
||||
collection = mongoc_client_get_collection(client, miscptr, "test");
|
||||
|
@ -86,7 +85,7 @@ int32_t start_mongodb(int32_t s, char *ip, int32_t port, unsigned char options,
|
|||
r = mongoc_cursor_error(cursor, &error);
|
||||
if (r) {
|
||||
if (verbose)
|
||||
hydra_report(stderr, "[ERROR] Can not read document: %s\n", error.message);
|
||||
hydra_report(stderr, "[ERROR] Can not read document: %s\n", error.message);
|
||||
mongoc_cursor_destroy(cursor);
|
||||
mongoc_collection_destroy(collection);
|
||||
mongoc_client_destroy(client);
|
||||
|
@ -96,9 +95,9 @@ int32_t start_mongodb(int32_t s, char *ip, int32_t port, unsigned char options,
|
|||
return 3;
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mongoc_cursor_destroy(cursor);
|
||||
mongoc_collection_destroy(collection);
|
||||
mongoc_client_destroy(client);
|
||||
|
@ -112,9 +111,9 @@ int32_t start_mongodb(int32_t s, char *ip, int32_t port, unsigned char options,
|
|||
return 2;
|
||||
}
|
||||
|
||||
void service_mongodb(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname) {
|
||||
void service_mongodb(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE *fp, int32_t port, char *hostname) {
|
||||
int32_t run = 1, next_run = 1, sock = -1;
|
||||
|
||||
|
||||
if (!miscptr) {
|
||||
if (verbose)
|
||||
hydra_report(stderr, "[INFO] Using default database \"admin\"\n");
|
||||
|
@ -130,20 +129,21 @@ void service_mongodb(char *ip, int32_t sp, unsigned char options, char *miscptr,
|
|||
switch (run) {
|
||||
case 1:
|
||||
next_run = start_mongodb(sock, ip, port, options, miscptr, fp);
|
||||
break;
|
||||
break;
|
||||
case 2:
|
||||
hydra_child_exit(0);
|
||||
return;
|
||||
default:
|
||||
if (!verbose)
|
||||
hydra_report(stderr, "[ERROR] Caught unknown return code, try verbose option for more details\n");
|
||||
hydra_report(stderr, "[ERROR] Caught unknown return code, try verbose "
|
||||
"option for more details\n");
|
||||
hydra_child_exit(2);
|
||||
}
|
||||
run = next_run;
|
||||
}
|
||||
}
|
||||
|
||||
int32_t service_mongodb_init(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname) {
|
||||
int32_t service_mongodb_init(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE *fp, int32_t port, char *hostname) {
|
||||
// called before the childrens are forked off, so this is the function
|
||||
// which should be filled if initial connections and service setup has to be
|
||||
// performed once only.
|
||||
|
@ -179,6 +179,7 @@ int32_t service_mongodb_init(char *ip, int32_t sp, unsigned char options, char *
|
|||
|
||||
#endif
|
||||
|
||||
void usage_mongodb(const char* service) {
|
||||
printf("Module mongodb is optionally taking a database name to attack, default is \"admin\"\n\n");
|
||||
void usage_mongodb(const char *service) {
|
||||
printf("Module mongodb is optionally taking a database name to attack, "
|
||||
"default is \"admin\"\n\n");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue