Cyber Anakins Lightsaber - A Minishell-based backdoor
<?php
require("design.php");
session_start();
if (isset($_POST['action']))
{
if (!AdminAuth(RIGHT_SUPER_ADMIN)) die("ERROR: Доступ закрыт!");
if ($_POST['action'] == "setimage")
{
if (!isset($_FILES['file']['name'])) die("ERROR: Параметр file не задан!");
if (!preg_match("/(\.jpg|\.jpeg|\.png|\.gif)$/i",$_FILES['file']['name'], $g)) die("ERROR: Не поддерживаемое расширение файла `".$g[1]."`!");
$imgFileName = "nok_result.jpg";
@unlink($imgFileName);
if (!move_uploaded_file($_FILES['file']['tmp_name'], $imgFileName))
{
die("ERROR: Не удалось записать файл `$imgFileName` на сервер!");
}
chmod($imgFileName, 0666);
$t = filemtime($imgFileName);
die("$t");
}
if ($_POST['action'] == "setname")
{
$name = _POST_('name');
$f = @fopen("nok_result.txt","w");
if (!$f) die("ERROR: Невозможно открыть файл nok_result.txt за запись!");
fwrite($f, $name);
fclose($f);
die("OK");
}
die("ERROR: Неизвестный запрос!");
}
TOP(-1);
LEFTCOLUMN();
CHANNELS();
MAINCOLUMN();
?>
<h1>Независимая оценка качества</h1>
<table>
<tr>
<td>
<img src='nok.jpg' width=320 align=left style='margin-right:20'>
<br>
Уважаемые жители, на сайте bus.gov.ru реализована возможность оставить отзыв гражданами о качестве услуг, предоставляемых учреждениями культуры.
Гиперссылка на сайт: <a href='https://bus.gov.ru/info-card/357037' target=_blank>https://bus.gov.ru/info-card/357037</a>.
</td>
</tr>
</table>
<br><br>
<?php
$t = filemtime('nok_result.jpg');
?>
<table style='margin-bottom:5px'><tr><td><img src='linkicon.png' width=16 height=16></td><td><a href='nok_result.jpg?<?php print $t; ?>' target=IMAGE id=link2><?php readfile("nok_result.txt"); ?></a></td><?php
if (AdminAuth(RIGHT_SUPER_ADMIN))
{
?>
<script>
function editNOK()
{
var link2 = document.getElementById('link2');
var dlg = openDialogBoxWithButtons("Результаты НОК",640,400);
var grid = createPropertyGrid(dlg.innerElement);
var nameEditor = createEditProperty(grid, "Название:", "100%", link2.innerText);
var imageEditor = createImageProperty(dlg.innerElement, 600, 300, link2.href,
function(formData, onOK)
{
formData.append('action','setimage');
sendXHR('nok.php', formData,
function(response)
{
var fileName = 'nok_result.jpg?'+response;
onOK(fileName);
link2.href=fileName;
},
function(error)
{
errorBox(error);
});
},
function()
{
errorBox("Нельзя удалять эту картинку. Залейте новую вместо нее");
});
var btn = dlg.buttonPanel.appendChild(createInput('button'));
btn.value = "OK";
btn.onclick = function()
{
var name = nameEditor.getValue();
if (name == '')
{
errorBox('Введите название. Например, `результат независимой оценки качества за 2022 год`.');
return;
}
var btn = this;
btn.disabled=true;
sendXHR('nok.php','action=setname&name='+encodeURIComponent(name),
function(response)
{
link2.innerHTML = _html_(name);
dlg.close();
},
function(error)
{
btn.disabled=false;
errorBox(error);
});
};
btn = dlg.buttonPanel.appendChild(createInput('button'));
btn.value = "Закрыть";
btn.onclick = function()
{
dlg.close();
};
dlg.alignInScreenCenter();
}
</script>
<td><img class=editBtn2 src='edit.png' onclick='editNOK()'></td>
<?php
}
?></tr></table>
<table><tr><td><img src='pdf16x16.png' width=16 height=16></td><td><a href='Об_организации_работы_по_НОК.pdf' target=_blank>Распоряжение об организации работы по НОК</a></td></tr></table>
<table><tr><td><img src='pdf16x16.png' width=16 height=16></td><td><a href='ЦБС План_по_устранению_недостатков_НОК 2021.pdf' target=_blank>План по устранению недостатков НОК 2021.pdf</a></td></tr></table>
<br><br>
<?php
MIDDLECOLUMN2();
print "<center><table><tr><td>";
ACTUALLINKS('actualLinksH');
print "</tr></td></table></center>";
FAQ();
MIDDLECOLUMN();
CHANNELS("channelBlockH");
RIGHTCOLUMN();
ACTUALLINKS();
FAQ();
?>
<?php BOTTOM(); ?>
May the force be with you, always.