mysql在linux下诸多稀奇古怪的错误

年末了,黑客泛滥,网站被黑了,服务器也被植入了攻击代码,攻击代码待会儿贴出来php

被挂马的网站集中在PHPCMS,DEDECMS上,都是开源的应用性比较广的系统,经过一句话木马base64_decode

一、找出木马
html

find /www/web -name "*.php" |xargs grep "eval" |more
//查看最近一天内被改动的php
find -mtime -1 -type f -name \*.php
find /www/web -name "*.php" |xargs grep "shell_exec" |moremysql

find /www/web -name "*.php" |xargs grep "base64_decode" |morelinux

find /www/web -name "*.php" |xargs grep "fsockopen" |morenginx

这样基本上就能找到攻击代码或者挂马的代码所在的文件了。web

二、重装LINUXsql

木马是找出了,可是天天仍是有ddos攻击,因而我重装了系统,安装了wdlinux,这个系统安装上以后就包含了lamp环境,只是php跟mysql版本太旧了点,不推荐使用,但通常的应用应该差很少了,但有个问题,就是shtml没法解析。这里给出解决方案:网上的其余解决方案解决不了shell

见http://www.wdlinux.cn/bbs/viewthread.php?tid=4268&highlight=shtml,为避免帖子被删,这里直接贴出来吧apache

必须修改2个地方: 一个是apachenginx里的conf文件
第一步:修改apache里的httpd.conf文件
查找:AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
去掉前面的#符号
修改为:AddType text/html .shtml .html
AddOutputFilter INCLUDES .shtml .html(添加.HTML是为了让HTML也支持include调用)
查找:Options Indexes FollowSymLinks 在后面加上INCLUDES
进入:VHOST文件夹,找到你的站点配置CONF文件,
查找:Options FollowSymLinks,
修改为:Options FollowSymLinks INCLUDES IncludesNOEXEC
修改到这里的时候,前往你的网站,你会发现,访问www.abc.com 和www.abc.com/index.shtml这样的相同页面,倒是不一样的
在www.abc.com/index.shtml中,用include调用的文件,系统并不能解读出来,而在www.abc.com中却能解读出来,中间缘由未知!
而后接着第二步:
进入nginx,打开nginx.conf文件
在http, server, 和 location 段中加入:
ssi on;
ssi_silent_errors on;
ssi_types text/shtml;

而后,重启服务器,OK了!所有搞定!服务器

三、dedecms问题

dedecms出了问题,要么就是修改文章时archives is read only,要么就是添加文章找不到主键,折腾了半天,其实无非是个权限问题

a、检查mysql文件夹是否有写入权限

cd /www/wdlinux/mysql-5.1.63/var/ctaxman

ls -l

发现不是777,干脆把全部文件权限都设置777吧

chmod -R 777 *.*

作到这一步后报错依然,继续下一步

b、检查文件的用户权限

在上一步ls -l中发现,有几个数据表的文件的用户是mysql mysql,因而修改下

chown -R root:root *.*

修复数据表,仍是报错,哈哈,其实要修改为这个

chown -R mysql:mysql *.*

c、修复数据表

用phpmyadmin或者干脆在crt中执行

REPAIR TABLE dede_archives

执行完后就发现可使用了。

后记:表面上来看我这就写了三点,但在研究过程当中,到处报错,在修复数据表的时候由于没有把文件的权限以及宿主赋予到mysql(ps:文件是经过crt上传的,都是root,root),因此再修复数据表的时候会报错的,一直是没法修复的。我还看了root用户是否用写入权限,由于无论是修改表仍是删除表都报错,都报表is read only,即便删除数据表都不行,你说多坑爹。

相关文章
相关标签/搜索