Modernized php
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// Executed every 25 hours via cron - checks for phishing clones on known phishing sites.
|
||||
// Executed daily via cronjob - checks for phishing clones on known phishing sites.
|
||||
date_default_timezone_set('UTC');
|
||||
require_once(__DIR__.'/../common_config.php');
|
||||
try{
|
||||
@ -14,10 +14,11 @@ curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 25);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
|
||||
|
||||
check('http://tt3j2x4k5ycaa5zt.onion/onions.php?cat=15&pg=0', 'http://tt3j277rncfaqmj7.onion/onions.php?cat=15&pg=0');
|
||||
check('http://skunksworkedp2cg.onion/sites.html', 'http://skunkrdunsylcfqd.onion/sites.html');
|
||||
//check('http://tt3j2x4k5ycaa5zt.onion/onions.php?cat=15&pg=0', 'http://tt3j277rncfaqmj7.onion/onions.php?cat=15&pg=0');
|
||||
//check('http://skunksworkedp2cg.onion/sites.html', 'http://skunkrdunsylcfqd.onion/sites.html');
|
||||
check('http://dhosting4xxoydyaivckq7tsmtgi4wfs3flpeyitekkmqwu4v4r46syd.onion/list.php', 'http://dhostingwwafxyuaxhs6bkhzo5e2mueztbmhqe6wsng547ucvzfuh2ad.onion/list.php');
|
||||
|
||||
function check($link, $phishing_link){
|
||||
function check(string $link, string $phishing_link){
|
||||
global $ch, $db;
|
||||
curl_setopt($ch, CURLOPT_URL, $link);
|
||||
$links=curl_exec($ch);
|
||||
@ -27,8 +28,9 @@ function check($link, $phishing_link){
|
||||
$phishings=$db->prepare('INSERT IGNORE INTO ' . PREFIX . 'phishing (onion_id, original) VALUES ((SELECT id FROM onions WHERE md5sum=?), ?);');
|
||||
$select=$db->prepare('SELECT id FROM ' . PREFIX . 'onions WHERE md5sum=?;');
|
||||
$insert=$db->prepare('INSERT INTO ' . PREFIX . 'onions (address, md5sum, timeadded) VALUES (?, ?, ?);');
|
||||
preg_match_all('~(https?://)?([a-z0-9]*\.)?([a-z2-7]{16}).onion(/[^\s><"]*)?~i', $links, $addr);
|
||||
preg_match_all('~(https?://)?([a-z0-9]*\.)?([a-z2-7]{16}).onion(/[^\s><"]*)?~i', $phishing_links, $phishing_addr);
|
||||
$update=$db->prepare('UPDATE ' . PREFIX . 'onions SET locked=1 WHERE md5sum=?;');
|
||||
preg_match_all('~(https?://)?([a-z0-9]*\.)?([a-z2-7]{16}|[a-z2-7]{56}).onion(/[^\s><"]*)?~i', $links, $addr);
|
||||
preg_match_all('~(https?://)?([a-z0-9]*\.)?([a-z2-7]{16}|[a-z2-7]{56}).onion(/[^\s><"]*)?~i', $phishing_links, $phishing_addr);
|
||||
$count=count($addr[3]);
|
||||
if($count===count($phishing_addr[3])){ //only run with same data set
|
||||
for($i=0; $i<$count; ++$i){
|
||||
@ -41,6 +43,7 @@ function check($link, $phishing_link){
|
||||
$insert->execute([$phishing_address, $md5, time()]);
|
||||
}
|
||||
$phishings->execute([$md5, $address]);
|
||||
$update->execute([$md5]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,52 +0,0 @@
|
||||
<?php
|
||||
// Executed daily via cronjob - checks for phishing clones on known phishing sites.
|
||||
date_default_timezone_set('UTC');
|
||||
require_once(__DIR__.'/../common_config.php');
|
||||
try{
|
||||
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||
}catch(PDOException $e){
|
||||
die($I['nodb']);
|
||||
}
|
||||
$ch=curl_init();
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_PROXY, PROXY);
|
||||
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 25);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
|
||||
|
||||
//check('http://onionsnjajzkhm5g.onion/onions.php?cat=15&pg=0', 'http://onionsbnvrzmxsoe.onion/onions.php?cat=15&pg=0');
|
||||
//check('http://7cbqhjnlkivmigxf.onion', 'http://7cbqhjnpcgixggts.onion');
|
||||
check('http://dhosting4xxoydyaivckq7tsmtgi4wfs3flpeyitekkmqwu4v4r46syd.onion/list.php', 'http://dhostingwwafxyuaxhs6bkhzo5e2mueztbmhqe6wsng547ucvzfuh2ad.onion/list.php');
|
||||
|
||||
function check($link, $phishing_link){
|
||||
global $ch, $db;
|
||||
curl_setopt($ch, CURLOPT_URL, $link);
|
||||
$links=curl_exec($ch);
|
||||
curl_setopt($ch, CURLOPT_URL, $phishing_link);
|
||||
$phishing_links=curl_exec($ch);
|
||||
if(!empty($links) && !empty($phishing_links)){
|
||||
$phishings=$db->prepare('INSERT IGNORE INTO ' . PREFIX . 'phishing (onion_id, original) VALUES ((SELECT id FROM onions WHERE md5sum=?), ?);');
|
||||
$select=$db->prepare('SELECT id FROM ' . PREFIX . 'onions WHERE md5sum=?;');
|
||||
$insert=$db->prepare('INSERT INTO ' . PREFIX . 'onions (address, md5sum, timeadded) VALUES (?, ?, ?);');
|
||||
$update=$db->prepare('UPDATE ' . PREFIX . 'onions SET locked=1 WHERE md5sum=?;');
|
||||
preg_match_all('~(https?://)?([a-z0-9]*\.)?([a-z2-7]{16}|[a-z2-7]{56}).onion(/[^\s><"]*)?~i', $links, $addr);
|
||||
preg_match_all('~(https?://)?([a-z0-9]*\.)?([a-z2-7]{16}|[a-z2-7]{56}).onion(/[^\s><"]*)?~i', $phishing_links, $phishing_addr);
|
||||
$count=count($addr[3]);
|
||||
if($count===count($phishing_addr[3])){ //only run with same data set
|
||||
for($i=0; $i<$count; ++$i){
|
||||
if($addr[3][$i]!==$phishing_addr[3][$i]){
|
||||
$address=strtolower($addr[3][$i]);
|
||||
$phishing_address=strtolower($phishing_addr[3][$i]);
|
||||
$md5=md5($phishing_address, true);
|
||||
$select->execute([$md5]);
|
||||
if(!$select->fetch(PDO::FETCH_NUM)){
|
||||
$insert->execute([$phishing_address, $md5, time()]);
|
||||
}
|
||||
$phishings->execute([$md5, $address]);
|
||||
$update->execute([$md5]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -37,13 +37,14 @@ add_onions($onions, $db);
|
||||
//delete links that were not seen within a month
|
||||
$db->exec('DELETE FROM ' . PREFIX . "onions WHERE address!='' AND timediff>2419200 AND lasttest-timeadded>2419200;");
|
||||
|
||||
function check_links(&$onions, &$ch, $link_to_check, $scan_children = false, &$scanned_onoins = []){
|
||||
function check_links(array &$onions, CurlHandle &$ch, string $link_to_check, bool $scan_children = false, array &$scanned_onoins = []){
|
||||
curl_setopt($ch, CURLOPT_URL, $link_to_check);
|
||||
$links=curl_exec($ch);
|
||||
if(preg_match_all('~(https?://)?([a-z0-9]*\.)?([a-z2-7]{16}|[a-z2-7]{56}).onion(/[^\s><"]*)?~i', $links, $addr)){
|
||||
$mh = null;
|
||||
$curl_handles = [];
|
||||
if($scan_children){
|
||||
$mh = curl_multi_init();
|
||||
$curl_handles = [];
|
||||
}
|
||||
foreach($addr[3] as $link){
|
||||
$link=strtolower($link);
|
||||
@ -96,7 +97,7 @@ function add_onions(&$onions, $db){
|
||||
// $update=$db->prepare('UPDATE ' . PREFIX . "onions SET address = '', locked=1, description=CONCAT(description, ' - SCAM'), category=15 WHERE md5sum=? AND address!='';");
|
||||
$stmt=$db->query('SELECT md5sum FROM ' . PREFIX . 'onions;');
|
||||
while($tmp=$stmt->fetch(PDO::FETCH_NUM)){
|
||||
if(isSet($onions[$tmp[0]])){
|
||||
if(isset($onions[$tmp[0]])){
|
||||
unset($onions[$tmp[0]]);
|
||||
// $update->execute($tmp);
|
||||
}
|
||||
|
Reference in New Issue
Block a user