pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
По поводу обнуления выплат: если через сутки нет выплат, значит стоит вывод статистики за последние сутки.remmodulek написал(а):В моей ферме вводиш любой кошелёк для выплат плат система Паер!Но я могу проверить ещё раз сделать с нового аккаунта выплаты на 2 разных кошелька.
Я к тому что если в ферму набрать 300 игроков то будут хакеры которые лёгкие пароли и ники по словарю бомбит будут-они поимеют доступ внутрь акаунта и сделают выплату на свой кошелёк и никакой защиты не сработает на ввод кошелька для выплат и ввод плат пароля не поможет.Платёжный пароль вообще взламывается простым скриптом выкладывать не буду.
Ещё 1 баг в моей ферме это обнулились выплаты через 1 день на странице myferma.ru/ ?menu=payments Была таблица выплат 4 выплаты теперь ничего!Буду искать причину обнуления статистики выплат.
Про остальное даже комментировать не буду, т.к. Вы не компетентны в данных вопросах
fktrctq
Местный
- Сообщения
- 62
- Реакции
- 1
Поздравляем! Удаление Админки не панацея.fktrctq написал(а):Парни, я просто удалил папку admin: нет админки - нет проблем, надеюсь теперь не будут, по крайней мере, накручивать миллионы серебра
Kojo
Участник
- Сообщения
- 286
- Реакции
- 53
Да удаляй сразу весь сайт, точно проблем не будет тогда))fktrctq написал(а):Парни, я просто удалил папку admin: нет админки - нет проблем, надеюсь теперь не будут, по крайней мере, накручивать миллионы серебра
K
kalamzar
Для FF всё элементарно :
1)Любые данные надо фильтровать : числа из POST или GET запроса надо фильтровать через intval(),остальное через метод $db->RealEscape
2)Забудьте про ненадёжность МД5,на данный момент не 2013 год,и фермы не обладают такой популярностью чтобы найти взломщика который будет дешифровывать этим пароли.Если уж надо используйте алгоритм шифрования OpenSSL,он вас достаточно защитит.
Но уже само попадание взломщика в базу говорит о том,что у вас где-то дыра
3)Про алгоритмы различных модулей : проверяйте каждый модуль сами и выискивайте слабости этого модуля.Если бы тех кого ломанули через КНБ и прочее догадались глянуть что можно регать стопицот акков и каждый раз крутить,то их бы не ломанули.
Была ситуация на работе,когда регались в хайпе,делали откуда-то от 500 до 2000 рублей и уходили.Оказалось что модуль рефбека не имел порога в 100% от рефбека,и взломщик тупо делал себе 5000000000000000% рефбека,этим и крутил...
1)Любые данные надо фильтровать : числа из POST или GET запроса надо фильтровать через intval(),остальное через метод $db->RealEscape
2)Забудьте про ненадёжность МД5,на данный момент не 2013 год,и фермы не обладают такой популярностью чтобы найти взломщика который будет дешифровывать этим пароли.Если уж надо используйте алгоритм шифрования OpenSSL,он вас достаточно защитит.
Но уже само попадание взломщика в базу говорит о том,что у вас где-то дыра
3)Про алгоритмы различных модулей : проверяйте каждый модуль сами и выискивайте слабости этого модуля.Если бы тех кого ломанули через КНБ и прочее догадались глянуть что можно регать стопицот акков и каждый раз крутить,то их бы не ломанули.
Была ситуация на работе,когда регались в хайпе,делали откуда-то от 500 до 2000 рублей и уходили.Оказалось что модуль рефбека не имел порога в 100% от рефбека,и взломщик тупо делал себе 5000000000000000% рефбека,этим и крутил...
MuhaNN
Местный
- Сообщения
- 40
- Реакции
- 3
Нашел в скрипте вот это:
Это поможет от чего-то?
Код:
################## Фильтрация всех POST и GET #######################################
function filter_sf(&$sf_array)
{
while (list ($X,$D) = each ($sf_array)):
$sf_array[$X] = limpiarez(mysql_escape_string(strip_tags(htmlspecialchars($D))));
endwhile;
}
filter_sf($_GET);
filter_sf($_POST);
#####################################################################################
function anti_sql()
{
$check = html_entity_decode( urldecode( $_SERVER['REQUEST_URI'] ) );
$check = str_replace( "", "/", $check );
$check = mysql_real_escape_string($str);
$check = trim($str);
$check = array("AND","UNION","SELECT","WHERE","INSERT","UPDATE","DELETE","OUTFILE","FROM","OR","SHUTDOWN","CHANGE","MODIFY","RENAME","RELOAD","ALTER","GRANT","DROP","CONCAT","cmd","exec");
$check = str_replace($check,"",$str);
if( $check )
{
if((strpos($check, '<')!==false) || (strpos($check, '>')!==false) || (strpos($check, '"')!==false) || (strpos($check,"'")!==false) || (strpos($check, '*')!==false) || (strpos($check, '(')!==false) || (strpos($check, ')')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) )
{
$prover = true;
}
if((strpos($check, 'src')!==false) || (strpos($check, 'img')!==false) || (strpos($check, 'OR')!==false) || (strpos($check, 'Image')!==false) || (strpos($check, 'script')!==false) || (strpos($check, 'javascript')!==false) || (strpos($check, 'language')!==false) || (strpos($check, 'document')!==false) || (strpos($check, 'cookie')!==false) || (strpos($check, 'gif')!==false) || (strpos($check, 'png')!==false) || (strpos($check, 'jpg')!==false) || (strpos($check, 'js')!==false) )
{
$prover = true;
}
}
if (isset($prover))
{
die( "Попытка атаки на сайт или введены запрещённые символы!" );
return false;
exit;
}
}
anti_sql();
}
viper5
Местный
- Сообщения
- 155
- Реакции
- 2
вот такой бородой мне хакнули и выплатили сразу всё! хорошо что держу большую часть на др. кошеле.
AccountNumber, $config->apiId, $config->apiKey); if ($payeer->isAuth()) { $arBalance = $payeer->getBalance(); $balancer = $arBalance["balance"]["RUB"]["DOSTUPNO"]; $balanceb = $arBalance["balance"]["BTC"]["DOSTUPNO"]; $balancee = $arBalance["balance"]["EUR"]["DOSTUPNO"]; $balanceu = $arBalance["balance"]["USD"]["DOSTUPNO"]; echo "
".print_r($balancer, true)." RUB
"; echo "
".print_r($balanceb, true)." BTC
"; echo "
".print_r($balancee, true)." EUR
"; echo "
".print_r($balanceu, true)." USD
"; }else echo "not_settings"; die();
Были залиты 3 файла в папку с сайтом(естественно всё удалено, но дыра где то есть). Какие методы против такого?
Против иньекций стоит код в header который выкладывали здесь.
AccountNumber, $config->apiId, $config->apiKey); if ($payeer->isAuth()) { $arBalance = $payeer->getBalance(); $balancer = $arBalance["balance"]["RUB"]["DOSTUPNO"]; $balanceb = $arBalance["balance"]["BTC"]["DOSTUPNO"]; $balancee = $arBalance["balance"]["EUR"]["DOSTUPNO"]; $balanceu = $arBalance["balance"]["USD"]["DOSTUPNO"]; echo "
".print_r($balancer, true)." RUB
"; echo "
".print_r($balanceb, true)." BTC
"; echo "
".print_r($balancee, true)." EUR
"; echo "
".print_r($balanceu, true)." USD
"; }else echo "not_settings"; die();
Были залиты 3 файла в папку с сайтом(естественно всё удалено, но дыра где то есть). Какие методы против такого?
Против иньекций стоит код в header который выкладывали здесь.
mythphp
Местный
- Сообщения
- 74
- Реакции
- 9
Упакуй скрипт в zip и проверь его на XSS, SQL Injections и прочие на http://find-xss.net/scanner/
viper5
Местный
- Сообщения
- 155
- Реакции
- 2
уже сделано ещё утром..всё удалил, но вот ещё
сканер показывает на это
Подозрение на мобильный редирект, подмену расширений или автовнедрение кода
C:\Users\serj\Desktop\aibolit-for-windows\site/.htaccess
и вот ещё
Эти файлы могут быть вредоносными или хакерскими скриптами
C:\Users\serj\Desktop\aibolit-for-windows\site/pages/account/_insert.php
…/ db_payeer_insert if(isset($_POST["sum"])){$sum=round(floatval($_POST["sum"]),2 );#······· · ··$db->Query("INSERT INTO db_payeer_insert(user_id,user,sum,date_a
C:\Users\serj\Desktop\aibolit-for-windows\site/js/jquerycycle.js
…;// shuffle needs this opts.slideCount=els.length;$s.css('position','absolute'); $s[prepend?'prependTo':'appendTo'](opts.$cont);if(prepend){opts.currSlide++;opt
эти файлы и не трогал так как не знаю их значения да и вовсе не нашёл таких строк в файлах
и в штакес не знаю где это так как строчку не указало
сканер показывает на это
Подозрение на мобильный редирект, подмену расширений или автовнедрение кода
C:\Users\serj\Desktop\aibolit-for-windows\site/.htaccess
и вот ещё
Эти файлы могут быть вредоносными или хакерскими скриптами
C:\Users\serj\Desktop\aibolit-for-windows\site/pages/account/_insert.php
…/ db_payeer_insert if(isset($_POST["sum"])){$sum=round(floatval($_POST["sum"]),2 );#······· · ··$db->Query("INSERT INTO db_payeer_insert(user_id,user,sum,date_a
C:\Users\serj\Desktop\aibolit-for-windows\site/js/jquerycycle.js
…;// shuffle needs this opts.slideCount=els.length;$s.css('position','absolute'); $s[prepend?'prependTo':'appendTo'](opts.$cont);if(prepend){opts.currSlide++;opt
эти файлы и не трогал так как не знаю их значения да и вовсе не нашёл таких строк в файлах
и в штакес не знаю где это так как строчку не указало
mythphp
Местный
- Сообщения
- 74
- Реакции
- 9
Таких строк там правда нет. Сделай поиск этого кода по файлам в архиве.viper5 написал(а):уже сделано ещё утром..всё удалил, но вот ещё
сканер показывает на это
Подозрение на мобильный редирект, подмену расширений или автовнедрение кода
C:\Users\serj\Desktop\aibolit-for-windows\site/.htaccess
и вот ещё
Эти файлы могут быть вредоносными или хакерскими скриптами
C:\Users\serj\Desktop\aibolit-for-windows\site/pages/account/_insert.php
…/ db_payeer_insert if(isset($_POST["sum"])){$sum=round(floatval($_POST["sum"]),2 );#······· · ··$db->Query("INSERT INTO db_payeer_insert(user_id,user,sum,date_a
C:\Users\serj\Desktop\aibolit-for-windows\site/js/jquerycycle.js
…;// shuffle needs this opts.slideCount=els.length;$s.css('position','absolute'); $s[prepend?'prependTo':'appendTo'](opts.$cont);if(prepend){opts.currSlide++;opt
эти файлы и не трогал так как не знаю их значения да и вовсе не нашёл таких строк в файлах
и в штакес не знаю где это так как строчку не указало
farmpay
Участник
viper5
Местный
- Сообщения
- 155
- Реакции
- 2
Remdev
Участник
- Сообщения
- 77
- Реакции
- 19
Т.е. не дыра? Там шелл, мать егоfarmpay написал(а):Обязательно проверь удалена ли папка Tiny mce, в этом плагине дыра, если не удалена удаляй к чертовой матери полностью папку editor в корневом каталоге js. Точнее даже не дыра, просто права нужно правильно выставлять и закрывать доступ, но легче просто удалить.
viper5
Местный
- Сообщения
- 155
- Реакции
- 2
ты прав, но откуда влезли, вот в чём вопрос? Логи только скажут?, но они уже исчезли и я вчера не сохранил их, теперь нет того времени что было в них...я так понял они обновляются с последнего запроса онлайн...своими словами отписал - кто не понял могу скинуть логи(но они уже не те что вчера были)Remdev написал(а):Т.е. не дыра? Там шелл, мать его
mythphp
Местный
- Сообщения
- 74
- Реакции
- 9
Какие модули на ферме стоят? Ни видя скрипта сказать что то сложно.viper5 написал(а):ты прав, но откуда влезли, вот в чём вопрос? Логи только скажут?, но они уже исчезли и я вчера не сохранил их, теперь нет того времени что было в них...я так понял они обновляются с последнего запроса онлайн...своими словами отписал - кто не понял могу скинуть логи(но они уже не те что вчера были)
viper5
Местный
- Сообщения
- 155
- Реакции
- 2
mythphp
Местный
- Сообщения
- 74
- Реакции
- 9
Ни знаю,viper5 написал(а):да в принципе никаких....лотерея, чат и бонусы как у всех... бонусы 24ч и такие же только в часах меньше...что надо скину для проверки
возможно влезли через эдитор, который я уже удалил, но надо конкретно как то проверить)
Скинь содержимое _insert.php и jquerycycle.js может там есть что раз сканер на них показал.viper5 написал(а):да в принципе никаких....лотерея, чат и бонусы как у всех... бонусы 24ч и такие же только в часах меньше...что надо скину для проверки
возможно влезли через эдитор, который я уже удалил, но надо конкретно как то проверить)
viper5
Местный
- Сообщения
- 155
- Реакции
- 2
вот инзерт( у меня нет в меню сполера потому сразу извиняюсь)
<div class="s-bk-lf">
<div class="acc-title">Пополнение баланса</div>
</div>
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Пополнение баланса";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
/*
if($_SESSION["user_id"] != 1){
echo "<center><b><font color = red>Технические работы</font></b></center>";
return;
}
*/
?>
<div class="silver-bk">
<center><b>Пополнить баланс с помощью Payeer</b></center>
<hr>
    <a href="http://payeer.com" target=_blank><img src="/img/728.png"></a><br><br>
<b>Курс игровой валюты: <u>1 рубль = <?=$sonfig_site["ser_per_wmr"]; ?> монет</u></b><br>
<b>Скорость пополнения: <u>моментально</u></b><br>
<b>Минимальная сумма пополнения: <u>0.01 рубль</u></b><br><br>
<?
/// db_payeer_insert
if(isset($_POST["sum"])){
$sum = round(floatval($_POST["sum"]),2);
# Заносим в БД
$db->Query("INSERT INTO db_payeer_insert (user_id, user, sum, date_add) VALUES ('".$_SESSION["user_id"]."','".$_SESSION["user"]."','$sum','".time()."')");
$desc = base64_encode($_SERVER["HTTP_HOST"]." - USER ".$_SESSION["user"]);
$m_shop = $config->shopID;
$m_orderid = $db->LastInsert();
$m_amount = number_format($sum, 2, ".", "");
$m_curr = "RUB";
$m_desc = $desc;
$m_key = $config->secretW;
$arHash = array(
$m_shop,
$m_orderid,
$m_amount,
$m_curr,
$m_desc,
$m_key
);
$sign = strtoupper(hash('sha256', implode(":", $arHash)));
?>
<center>
<form method="GET" action="//payeer.com/api/merchant/m.php">
<input type="hidden" name="m_shop" value="<?=$config->shopID; ?>">
<input type="hidden" name="m_orderid" value="<?=$m_orderid; ?>">
<input type="hidden" name="m_amount" value="<?=number_format($sum, 2, ".", "")?>">
<input type="hidden" name="m_curr" value="RUB">
<input type="hidden" name="m_desc" value="<?=$desc; ?>">
<input type="hidden" name="m_sign" value="<?=$sign; ?>">
<input type="submit" name="m_process" value="Оплатить и получить монеты" />
</form>
</center>
<div class="clr"></div>
</div>
<?PHP
return;
}
?>
<script type="text/javascript">
var min = 0.01;
var ser_pr = 200;
function calculate(st_q) {
var sum_insert = parseFloat(st_q);
$('#res_sum').html( (sum_insert * ser_pr).toFixed(0) );
}
</script>
<div id="error3"></div>
<form method="POST" action="">
<input type="hidden" name="m" value="<?=$fk_merchant_id?>">
Введите сумму (рублей):
<input type="text" value="100" name="sum" size="7" id="psevdo" onchange="calculate(this.value)" onkeyup="calculate(this.value)" onfocusout="calculate(this.value)" onactivate="calculate(this.value)" ondeactivate="calculate(this.value)">
Вы получите <span id="res_sum">20000</span> <img src="/img/moneta.png">
<BR /><BR />
<input type="submit" id="submit" value="Пополнить баланс" >
</form>
<script type="text/javascript">
calculate(100);
</script>
<div align="left"><strong>Перед пополнением баланса следует собрать алмазы, иначе они пропадут!</strong></div>
<hr>
<br><br>
<div class="clr"></div>
</div>
и этот яваскрипт(jquerycycle.js)...загрузил на свободный сервер так как места много занимает
по нажатию сразу открывается код! ничего скачивать не надо!
http://clubzone.ucoz.ua/jquerycycle.js
<div class="s-bk-lf">
<div class="acc-title">Пополнение баланса</div>
</div>
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Пополнение баланса";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
/*
if($_SESSION["user_id"] != 1){
echo "<center><b><font color = red>Технические работы</font></b></center>";
return;
}
*/
?>
<div class="silver-bk">
<center><b>Пополнить баланс с помощью Payeer</b></center>
<hr>
    <a href="http://payeer.com" target=_blank><img src="/img/728.png"></a><br><br>
<b>Курс игровой валюты: <u>1 рубль = <?=$sonfig_site["ser_per_wmr"]; ?> монет</u></b><br>
<b>Скорость пополнения: <u>моментально</u></b><br>
<b>Минимальная сумма пополнения: <u>0.01 рубль</u></b><br><br>
<?
/// db_payeer_insert
if(isset($_POST["sum"])){
$sum = round(floatval($_POST["sum"]),2);
# Заносим в БД
$db->Query("INSERT INTO db_payeer_insert (user_id, user, sum, date_add) VALUES ('".$_SESSION["user_id"]."','".$_SESSION["user"]."','$sum','".time()."')");
$desc = base64_encode($_SERVER["HTTP_HOST"]." - USER ".$_SESSION["user"]);
$m_shop = $config->shopID;
$m_orderid = $db->LastInsert();
$m_amount = number_format($sum, 2, ".", "");
$m_curr = "RUB";
$m_desc = $desc;
$m_key = $config->secretW;
$arHash = array(
$m_shop,
$m_orderid,
$m_amount,
$m_curr,
$m_desc,
$m_key
);
$sign = strtoupper(hash('sha256', implode(":", $arHash)));
?>
<center>
<form method="GET" action="//payeer.com/api/merchant/m.php">
<input type="hidden" name="m_shop" value="<?=$config->shopID; ?>">
<input type="hidden" name="m_orderid" value="<?=$m_orderid; ?>">
<input type="hidden" name="m_amount" value="<?=number_format($sum, 2, ".", "")?>">
<input type="hidden" name="m_curr" value="RUB">
<input type="hidden" name="m_desc" value="<?=$desc; ?>">
<input type="hidden" name="m_sign" value="<?=$sign; ?>">
<input type="submit" name="m_process" value="Оплатить и получить монеты" />
</form>
</center>
<div class="clr"></div>
</div>
<?PHP
return;
}
?>
<script type="text/javascript">
var min = 0.01;
var ser_pr = 200;
function calculate(st_q) {
var sum_insert = parseFloat(st_q);
$('#res_sum').html( (sum_insert * ser_pr).toFixed(0) );
}
</script>
<div id="error3"></div>
<form method="POST" action="">
<input type="hidden" name="m" value="<?=$fk_merchant_id?>">
Введите сумму (рублей):
<input type="text" value="100" name="sum" size="7" id="psevdo" onchange="calculate(this.value)" onkeyup="calculate(this.value)" onfocusout="calculate(this.value)" onactivate="calculate(this.value)" ondeactivate="calculate(this.value)">
Вы получите <span id="res_sum">20000</span> <img src="/img/moneta.png">
<BR /><BR />
<input type="submit" id="submit" value="Пополнить баланс" >
</form>
<script type="text/javascript">
calculate(100);
</script>
<div align="left"><strong>Перед пополнением баланса следует собрать алмазы, иначе они пропадут!</strong></div>
<hr>
<br><br>
<div class="clr"></div>
</div>
и этот яваскрипт(jquerycycle.js)...загрузил на свободный сервер так как места много занимает
по нажатию сразу открывается код! ничего скачивать не надо!
http://clubzone.ucoz.ua/jquerycycle.js
viper5
Местный
- Сообщения
- 155
- Реакции
- 2