我的一个客户的网站继续被“黑”(我没有做这个网站).The黑网页包含一个js脚本,加载一个图像和音频从youtube (Lol)。每一页都被修改了,每一页都有一个“新闻横幅”,我很确定问题是这个部分
<?php
$ul = new NewsList;
$ul->Load(3);
if($ul->Current() == null){ ?>
<?php }
else{
for(; $ul->Current() != null; $ul->Next()){
$new = $ul->Current(); 这个NewsList:http://pastebin.com/WuWjcJ4p的完整实现
我不是php程序员,所以我不知道问题出在哪里.我不是要有人解释每一行,也许只是建议,谢谢
发布于 2014-03-08 09:34:54
听起来像是SQL注入。
我相信loadById()方法是可注入的(取决于您如何调用它)。
以下是加强这一制度的一个途径:
function LoadById($id){
$this->news = array();
$this->current = 0;
$this->total = 0;
$ndb = new NewsDB('news');
$result = $ndb->_query("SELECT * FROM ".$ndb->table." WHERE id = " . intval($id));
$new = mysql_fetch_assoc($result);
$n = new News($new['id'], $new['titolo'], $new['data'], $new['contenuto'], $new['img']);
array_push($this->news, $n);
unset($n);
$this->total = 1;
}有人可能利用这个安全漏洞窃取了管理部门的密码,并编辑了后台的文章。
因此,我建议您更改此代码,然后更改密码,删除所有php会话,最后编辑您的文章以删除这个“新闻横幅”。
注意,它可能也是存储的XSS。你有允许对新闻进行评论的系统吗?
https://stackoverflow.com/questions/22267547
复制相似问题