《ZAKU渗透论:卓伊凡的2026渗透工程》第四章:Web攻击原理(下)——XSS、CSRF、文件上传漏洞

简介: 本章详解XSS、CSRF与文件上传三大Web漏洞:XSS通过注入恶意脚本窃取Cookie;CSRF伪造已登录用户请求执行非自愿操作;文件上传漏洞则因校验缺失致服务器被控。三者共性——过度信任用户输入。(239字)

第四章:Web攻击原理(下)——XSS、CSRF、文件上传漏洞

三种常见的攻击方式

上一章我们讲了SQL注入——攻击者把代码塞进数据库查询语句里,骗数据库执行。这一章我们讲另外三种常见的Web攻击:XSS、CSRF和文件上传漏洞。

这三种攻击的目标不同、手法不同,但有一个共同点:它们都利用了网站对用户输入“过于信任”这个毛病。


XSS:跨站脚本攻击

什么是XSS?

XSS的全称是跨站脚本攻击(Cross-Site Scripting)。这个名字很拗口,但它的本质很简单:攻击者把一段恶意脚本(通常是JavaScript)注入到网页里,当其他用户访问这个网页时,这段脚本就会在他們的浏览器里执行。

用人话解释一下。

你开了一家留言板网站,用户可以在这里写任何内容。有一天,有个用户没有写“你好”,而是写了一段JavaScript代码,内容是“把访问者的Cookie发送到我的服务器”。你的网站没有做任何过滤,直接把这段代码存进了数据库。

从此以后,每个访问这个留言板的用户,浏览器都会自动执行这段代码,把自己的Cookie悄悄发给了攻击者。

攻击者拿到你的Cookie,就可以冒充你登录这个网站。

XSS的三种类型

反射型XSS是最常见的一种。攻击者把恶意脚本放在一个链接里,比如http://example.com/search?q=<script>恶意代码</script>,然后诱骗用户点击这个链接。当用户点击后,网站把<script>原样返回并在浏览器执行。这种攻击是一次性的,不会存进数据库。

存储型XSS危害更大。攻击者的恶意脚本被永久存储在服务器上(比如存在留言板、评论区、个人简介里)。每个访问这个页面的用户都会中招。这就是前面举例的那种。

DOM型XSS稍微特殊一点。它不经过服务器,纯粹是前端JavaScript自己拼接内容时出了问题。比如从URL里取出参数,直接写到页面上,中间没有任何过滤。

XSS能做什么?

XSS能做的事情非常多。窃取用户的Cookie是最基础的。偷走用户在网站上的所有隐私信息、截屏、记录键盘输入、弹窗钓鱼、强制关注某个账号、甚至发动更大规模的攻击。在JavaScript的能力范围内,XSS几乎可以做任何事。

一个直观的比喻

想象一下,你在办公室里贴了一张公告,上面写着“下午三点开会”。如果有个同事在公告下面贴了一张纸条,写着“请所有人把工牌交给小张”,然后你每次看到公告都以为这是真的,就把工牌给了别人。

XSS就是那个贴纸条的人。网页是公告板,用户的浏览器是看到公告的人。浏览器分不清“网站自己写的内容”和“攻击者塞进去的内容”。


CSRF:跨站请求伪造

什么是CSRF?

CSRF的全称是跨站请求伪造(Cross-Site Request Forgery)。它和XSS经常被搞混,但两者的攻击方向完全相反。

简单来说:XSS是攻击者在网页里植入恶意脚本;CSRF是攻击者诱导用户去执行一个用户本人不想做的操作。

用人话解释一下。

你登录了银行网站,银行网站的服务器记住了你的登录状态(通过Cookie)。这时候你点开了一个攻击者发的恶意链接。这个链接向银行网站发起了一个转账请求,比如http://bank.com/transfer?to=hacker&amount=10000

因为你的浏览器访问银行网站时,会带上你的Cookie,服务器看到这个请求是“你”发起的,就真的转了1万块钱给攻击者。

你什么都没做,钱就被转走了。

CSRF的核心条件

CSRF能成功需要同时满足三个条件。

第一,你已经登录了目标网站,浏览器里存着有效的Cookie或Token。第二,目标网站没有对请求的来源做校验,比如没有要求“确认密码”或“二次验证”。第三,攻击者能诱导你点击一个链接或访问一个恶意页面。

这三个条件在现实生活中很容易同时满足。很多人登录网站后就不退出了,一天都保持登录状态。这就给了CSRF可乘之机。

CSRF的典型攻击场景

除了转账,CSRF还可以做很多事:修改密码(把攻击者自己的手机号绑上去)、修改邮箱地址(让密码重置邮件发到攻击者邮箱)、发表恶意内容(用你的账号在论坛里发广告)、取消订单、发货地址篡改等等。

只要是网站提供的功能,CSRF都有可能“代替”你去执行。

XSS vs CSRF:一张表看懂

对比维度

XSS

CSRF

攻击目标

网站的用户

网站的用户

攻击方式

在网页里注入恶意脚本

诱导用户发起恶意请求

谁执行了恶意操作

用户的浏览器(自动执行脚本)

用户的浏览器(带着用户身份)

网站信任了什么

信任了用户的输入内容

信任了用户发起的请求

谁更危险

能做更多事(几乎任何JavaScript能做到的)

只能做网站已有的操作


文件上传漏洞

什么是文件上传漏洞?

很多网站允许用户上传文件:头像、附件、简历、图片等等。文件上传漏洞的意思是:攻击者上传了一个本不该被上传的文件类型,并且服务器把它当成了可执行文件来处理。

结果是,攻击者上传了一个“木马文件”,服务器乖乖地接受了。然后攻击者访问这个文件,木马被执行,服务器被控制。

攻击者是怎么做的?

正常情况下,一个图片上传功能只允许.jpg.png等图片格式。攻击者会想尽办法绕过这个限制。

最简单的情况是网站根本没有做任何检查。攻击者直接上传一个shell.php,里面写着一行代码“执行服务器上的任何命令”。然后访问这个文件,就可以在服务器上执行命令了。

稍微有点防护的网站会检查文件扩展名。但攻击者可以双写扩展名,比如shell.jpg.php;可以大小写绕过,比如shell.PhP;可以利用服务器解析漏洞,比如shell.php.jpg(某些旧版本Apache会把.jpg后缀的文件当作PHP解析,如果文件名里出现过.php)。

更高级的绕过手段还包括:修改文件Content-Type(把application/x-php改成image/jpeg)、图片马(把恶意代码塞进一张正常的图片里)、压缩包上传(上传一个包含恶意文件的zip,期望服务器自动解压)等等。

文件上传漏洞的后果

最直接的后果是获取服务器控制权。攻击者上传一个Webshell(一种通过网页就能执行服务器命令的后门),然后就可以在服务器上:查看所有文件、修改所有数据、删除所有内容、安装勒索病毒、把服务器变成挖矿肉鸡、用这台服务器去攻击其他网站。

如果这台服务器还能访问内网,攻击者就可以以此为跳板,入侵公司内部的其他机器。

一个看似无害的“上传头像”功能,可能成为整个公司安全的突破口。

真实世界的例子

某知名招聘网站的简历上传功能,允许用户上传PDF和Word文件。攻击者上传了一个伪装成简历的恶意文件,服务器自动解析时触发了漏洞,攻击者成功拿到了服务器的控制权限。这个漏洞被公开后,数百万份求职者的简历信息被窃取。


三种攻击的共同本质

XSS、CSRF、文件上传漏洞看似各不相同,但它们的本质是一样的:网站没有正确地处理用户输入。

攻击类型

信任了什么不该信的

后果

XSS

信任了用户输入的内容,直接输出到网页

恶意脚本在用户浏览器执行

CSRF

信任了用户发起的请求,没有验证是否是用户本意

用户被利用执行非自愿操作

文件上传

信任了用户上传的文件,没有检查是否是恶意文件

服务器被植入后门


这一章你该记住什么

第一,XSS是把恶意脚本注入网页,让其他用户的浏览器执行。窃取Cookie是最常见的用途。

第二,CSRF是诱导已登录用户发起恶意请求,代替用户执行操作。转账、改密码、改邮箱都有可能。

第三,XSS和CSRF的区别:XSS在网页里下毒,CSRF在网页外诱导。两者攻击方向相反,但都利用了网站对“用户”的信任。

第四,文件上传漏洞是允许攻击者上传恶意可执行文件。后果往往是最严重的——直接拿到服务器控制权。

第五,这三种攻击的共同本质:网站错误地信任了用户提供的内容。只要区分“用户数据”和“可执行代码/操作”,就能理解它们为什么危险。

下一章,我们将进入现代Web安全的核心:现代登录是怎么被绕过的?——JWT、OAuth、Cookie与Token安全。

目录
相关文章
|
6天前
|
SQL 安全 程序员
《ZAKU渗透论:卓伊凡的2026渗透工程》第三章:Web攻击原理(上)——注入与SQL注入
本章详解Web攻击核心——注入与SQL注入。通过“小明输入‘小明’OR‘1’=‘1’秒变管理员”的生动案例,揭示攻击本质:程序混淆数据与代码,导致恶意SQL被执行。深入剖析万能密码、数据窃取、权限绕过等危害,并指出漏洞长期存在的根源:历史代码、意识不足与修复成本。
160 2
|
6天前
|
安全 NoSQL Java
《ZAKU渗透论:卓伊凡的2026渗透工程》信息收集——黑客怎么找到你?
本章详解渗透测试中至关重要的信息收集环节:占全程50%以上工作量。涵盖被动(搜索引擎、GitHub、社交媒体、Whois、历史快照)与主动(DNS查询、子域名枚举、端口扫描、目录探测)两大策略,并聚焦2026年新趋势——供应链踩点。目标是绘制精准“攻击地图”,找到阻力最小的突破口。(239字)
162 2
|
6天前
|
SQL 安全 测试技术
《ZAKU渗透论:卓伊凡的2026渗透工程》第一章:黑客是怎么工作的?
渗透测试是授权下模拟黑客攻击,检验系统安全性;白帽合法防护,黑帽非法入侵,灰帽亦违法。攻击分7步:侦察、武器化、投递、利用、安装、C2、目标达成。它不同于自动化漏洞扫描,重在人工验证与深度分析。(239字)
154 6
|
6天前
|
人工智能 JSON 测试技术
3人团队搞定500+接口:用Skills构建可复用的“测试技能库”,复用率提升80%
本文直击接口自动化测试痛点:脚本重复率高、复用率不足20%、维护成本飙升。提出“测试技能库”新范式——将校验逻辑提炼为可检索、可组合、带契约的“技能”,实现从“代码复用”到“能力复用”的跃迁。含三层架构、落地三步法与真实订单案例,助团队降本增效。
|
6天前
|
存储 人工智能 算法
告别无效刷屏!TrendRadar:最快30秒部署的开源热点助手,让你只看真正关心的新闻
TrendRadar 是一个轻量级、易部署的热点新闻聚合与推送工具。它能够从知乎、抖音、B站、微博、百度、华尔街见闻等11个主流平台抓取热搜榜单,然后根据你设定的关键词进行智能筛选,最终将你最关心的内容推送到手机或邮箱。
162 13
 告别无效刷屏!TrendRadar:最快30秒部署的开源热点助手,让你只看真正关心的新闻
|
6天前
|
数据采集 存储 算法
视频 RAG 中分块策略:基于停顿、滑动窗口与基于 LLM 的方法
本文探讨视频RAG中的核心挑战——如何为无时间结构的视频转录文本设计有效分块策略。对比传统文本分块,提出基于停顿、重叠窗口、递归切分及LLM驱动的主题分块四层方案,实现细粒度检索与全局理解兼顾,提升视频内容检索准确性与上下文完整性。
114 13
视频 RAG 中分块策略:基于停顿、滑动窗口与基于 LLM 的方法
|
3天前
|
SQL JSON 关系型数据库
企业级多模态分析计算引擎选型:阿里云 AnalyticDB MySQL 统一分析平台方案
阿里云AnalyticDB MySQL版是PB级云原生实时数据仓库,首创多模态统一分析引擎,单SQL原生支持SQL分析、向量检索、全文搜索与JSON分析,替代3–5套独立系统,综合成本降50%+,运维复杂度降80%,适用于AI+数据融合、多源异构统一查询等企业级场景。
110 17
企业级多模态分析计算引擎选型:阿里云 AnalyticDB MySQL 统一分析平台方案
|
6天前
|
监控 API Windows
WGCLOUD v3.6.8 正式更新
WGCLOUD v3.6.8发布:修复CPU/内存等指标偶现为0、大屏离线数据不显示等Bug;新增Windows系统服务列表及开放API;优化告警脚本执行与SNMP设备运行时间兼容性。升级方式详见官方图示。
|
4天前
|
自然语言处理 前端开发 安全
2026 世界杯钓鱼即服务平台攻击机理与防御体系研究
2026世界杯前夕,“Ghost Stadium”中文钓鱼即服务平台发动大规模攻击,涉案4.7–10亿美元,受害超4.7万人,窃取FIFA凭证2500+条,注册恶意域名超4000个。该平台采用React+Layui实现像素级克隆、SSO模拟与多语言适配,构建覆盖社交广告、搜索、IM的立体攻击网络。本文基于实证分析,提出检测、响应、溯源、治理闭环防御体系,强调跨机构协同与动态对抗。(239字)
111 10
|
6天前
|
人工智能 供应链 数据可视化
长江商学院CIO徐斌:AI时代,组织的进化逻辑与人才转型新思维
徐斌,长江商学院CIO、计算机博士,20年世界500强及上市公司高管经验,首创数字化“三驾马车”方法论(流程变革、IT固化、数字运营),成功主导得力集团全链路转型,助力其获评首批浙江省未来工厂。