Skip to content
Kurisu
Go back

XSS、文件上传、CSRF 与越权:一节课串完的 Web 漏洞攻防链

基础系列的 XSS文件上传CSRF 与越权各写过一篇,这篇是课堂串讲版——重点是把这几个洞当成一条攻击链来看,以及几个”为什么”层面的细节。

0x01 XSS 三类:一个数据流视角

统一用数据流表述,三类 XSS 的区别一目了然:

反复验证下来的本质:后端没过滤 + 输入被当代码执行。XSS-Labs 第一关($_GET['name'] 直接 echo<p> 标签)就是把这条本质裸露给你看。

对抗:htmlentities 的边界

后端用 htmlentities()< > & " 转成 HTML 实体,<script> 变成文本——但这不是万能保险:

0x02 文件上传与文件包含:一体的两条腿

课堂把上传和包含放一节讲,因为图片马必须配合文件包含才能打

  1. 制作图片马:copy /b normal.jpg + shell.php muma.jpg——PHP 代码藏进图片尾部;
  2. 上传突破(后缀白名单绕过、%00 截断、二次渲染对抗,见旧文);
  3. 关键一步:图片不会被 PHP 解析器执行——必须有文件包含漏洞(include($_GET['f']) 一类)把这个”图片”当 PHP 处理,代码才活。

所以经常出现”上传失败但攻击成功”的怪现象:只要包含漏洞在,换个渠道把图片传上去(甚至通过别的功能)就行。上传是腿,包含是肌肉,测试时要一起看。

一句话木马的原理顺便记了:<?php @eval($_POST['cmd']);?> 把请求参数当代码执行,配合蚁刀/中国菜刀类客户端管理——所有免杀技术(后面WebShell 免杀篇)都在对抗对这一行的检测。

0x03 CSRF 与越权:信任与授权的两面

CSRF:攻击者诱导已登录用户的浏览器向目标站点发伪造请求,浏览器自动携带 Cookie——攻击的是”服务器对浏览器的信任”。标准防御是 token:服务端下发随机 token、请求必须携带,攻击者跨域拿不到 token。

越权:攻击的是”服务器对用户身份的授权判断”——

实战里越权是产出最高的洞之一(我的 SRC 战果里占比很高),测试方法就是双账号对比改参数。

0x04 扫描器的定位:AWVS / Xray

课堂演示了 AWVS 的标准流程(新建扫描任务 → 输入目标 → 配置策略 → 跑出报告),并推荐了长亭 Xray。定位要说清楚:

相关旧文


Share this post:

Previous Post
SQL 注入课堂深挖:报错注入的原理细节与盲注脚本化
Next Post
寒假班实录:第一次对真实目标做 SQL 注入,用 100 万个字符打崩 WAF 正则