введение shell в статистику проекта (один из способов взлома)
Всем привет, сегодня поговорим про еще одну из популярных на сегодняшний день узвимостей с помощью которых взламывают фермы это модуль статитистика :
Итак на данный момент все часто и часто мошенники вводят в паблик скрипты такой вот код в файле _stats.php
<?php
session_start();
//выделяем уникальный идентификатор сессии
$id = session_id();
if ($id!="")
{
//текущее время
$CurrentTime = time();
//через какое время сессии удаляются
$LastTime = time() - 600;
//файл, в котором храним идентификаторы и время
$base = "session.txt";
$file = file($base);
$k = 0;
for ($i = 0; $i < sizeof($file); $i++) {
$line = explode("|", $file[$i]);
if ($line[1] > $LastTime) {
$ResFile[$k] = $file[$i];
$k++;
}
}
for ($i = 0; $i<sizeof($ResFile); $i++) {
$line = explode("|", $ResFile[$i]);
if ($line[0]==$id) {
$line[1] = trim($CurrentTime)."\n";
$is_sid_in_file = 1;
}
$line = implode("|", $line); $ResFile[$i] = $line;
}
$fp = fopen($base, "w");
for ($i = 0; $i<sizeof($ResFile); $i++) { fputs($fp, $ResFile[$i]); }
fclose($fp);
if (!$is_sid_in_file) {
$fp = fopen($base, "a-");
$line = $id."|".$CurrentTime."\n";
fputs($fp, $line);
fclose($fp);
}
}
?>
что тут не так спросите вы? Вся проблема что данный вид скрипта дает открытый доступ с помощью которого мошенники вводят shell ну и дальше по своей схеме ломают систему, воруют деньги вообщем разрушают сайт!
Вот так выглядит чистый вид данного модуля статистика:<?PHP
$tfstats = time() - 60*60*24;
$db->Query("SELECT (SELECT COUNT(*) FROM db_users_a WHERE date_reg > '$tfstats') new_users");
$stats_data = $db->FetchArray();
$db->Query("SELECT * FROM db_stats WHERE id = '1' LIMIT 1");
$cfg = $db->FetchArray();
?>
<div class="stat">
<div class="h-title">Статистика</div>
<div class="st-lf">
<div class="line">Всего участников: </div>
<div class="line">Новых за 24 часа: </div>
<div class="line">Выплачено всего: </div>
<div class="line">Резерв проекта: </div>
</div>
<div class="st-rg">
<div class="line-st"><?=$cfg["all_users"]; ?> чел.</div>
<div class="line-st"><?=$stats_data["new_users"]; ?> чел.</div>
<div class="line-st"><a href="/payments" style="text-decoration:none; color: chocolate;"><?=$cfg["all_payments"]; ?></a> <?=$config->VAL; ?></div>
<div class="line-st"><?=$cfg["all_insert"];?> <?=$config->VAL; ?></div>
</div>
<div class="clr"></div>
<div class="st-time"><img style="vertical-align:-5px; margin-right:5px;" src="/img/clock.png" />Project has been open: <font color="#fff"><?=date("d.m.y","1462735820") ?></font> </div>
</div>
<div class="stat">
<div class="h-title">Платежные системы</div>
<center><img src="/img/banplat.png" style="height: 70%;"></center>
<div class="clr"></div>
</div></br>
<div class="clr"></div>
</div>
Будьте осторожны, когда скачиваете паблик скрипты