Cyber Anakins Lightsaber - A Minishell-based backdoor
<?php
require("design.php");
session_start();
$limit = 15;
TOP(1);
$mysql = mysqlopen();
LEFTCOLUMN();
CHANNELS();
MAINCOLUMN();
?>
<script src='bookinfo.js?3'></script>
<h1>Новые книги</h1>
<style>
.btn
{
width:220;
height:80;
transition-property: background;
transition-duration: 500ms;
float:left;
margin-left:10;
margin-bottom:10;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor:pointer;
border:1px solid rgba(0,0,0,0.2);
border-radius:8px;
}
.btn table { height:80; }
.btn td
{
font-size:18px;
color:#336699;
}
.btn img { width:64px; height:64px; }
.btn:hover
{
background-color:#eeeeee;
}
.bookDiv
{
cursor:pointer;
width:220px;
height:380;
vertical-align:top;
padding:5 5 5 5;
float:left;
overflow-y:hidden;
}
.bookImg
{
height:280;
max-width:200;
object-fit: scale-down;
}
.bookImgDiv
{
text-align:center;
height:280;
}
.bookTextDiv
{
text-align:center;
font-size:16px;
font-weight:bold;
color:#336699;
}
.bookAuthorDiv
{
text-align:center;
}
</style>
<?php
print "<hr><center style='margin-bottom:20px'>";
for($p=1,$i=0;$p <= 10; $i+=$limit, $p++)
{
print "<span class=page id=topPage$p onclick='loadBooks($i,$p)'>$p</span> ";
}
print "</center>";
?>
<table width=100%>
<tr><td id=books>
</tr>
</table>
<?php
print "<hr><center>";
for($p=1,$i=0;$p <= 10; $i+=$limit, $p++)
{
print "<span class=page id=bottomPage$p onclick='loadBooks($i,$p)'>$p</span> ";
}
print "</center>";
?>
<script>
books = document.getElementById('books');
function onBookClick()
{
showBook(this.bookID);
}
function build(json)
{
if (!json.books) return;
json = json.books;
books.innerHTML = '';
for(var i=0; i < json.length; i++)
{
var titleURL = json[i].cover;
if (titleURL=="") titleURL = "notitle.jpg";
else
if (!titleURL.match(/^http/)) titleURL = "https://biblio-fond.ru/"+titleURL;
var td = books.appendChild(document.createElement('DIV'));
td.className = "bookDiv";
var imgDiv = td.appendChild(document.createElement('DIV'));
imgDiv.className = "bookImgDiv";
var img = imgDiv.appendChild(document.createElement('IMG'));
img.className="bookImg";
img.src=titleURL;
var textDiv = td.appendChild(document.createElement('DIV'));
textDiv.className = "bookTextDiv";
var bookName = json[i].title;
if (json[i].subTitle!='') bookName+=". "+json[i].subTitle;
if (json[i].volume!='') bookName+=". "+json[i].volume;
textDiv.innerHTML = _html_(bookName);
textDiv = td.appendChild(document.createElement('DIV'));
textDiv.className = "bookAuthorDiv";
textDiv.innerHTML = _html_(json[i].authors);
td.bookID = json[i].id;
td.onclick=onBookClick;
}
}
function loadBooks(from, page)
{
for(var i=1; i <= 10; i++)
{
var pg = document.getElementById('topPage'+i);
if (i==page) pg.className="selpage";
else
pg.className="page";
pg = document.getElementById('bottomPage'+i);
if (i==page) pg.className="selpage";
else
pg.className="page";
}
books.innerHTML = '<center><img src="formular/waiting.gif" width=128 height=128></center>';
sendXHR('https://biblio-fond.ru/api.php','action=book:list&fond=1&yearSince=<?php print (date('Y')-1); ?>&start='+from+'&count=<?php print $limit; ?>&orderby=year&orderdir=-1',
function(response)
{
build(JSON.parse(response));
},
function(error)
{
books.innerHTML = "<center>Ошибка загрузки</center><br><br><br>"+error;
});
}
loadBooks(0,1);
</script>
<br><br>
<hr>
<br>
<center>[ <a href='findbooks.php'>Найти книгу</a> ]</center>
<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.