Web安全入门先攻这五个漏洞,比盲目刷课管用

发布时间:2026/7/22 21:18:35
Web安全入门先攻这五个漏洞,比盲目刷课管用 刚装好Kali Linux和DVWA的那段时间我盯着靶场首页发了三天呆。视频收藏了上百个真正动手时却连从哪关开始都不知道。后来才想明白Web安全入门最忌讳“广撒网”与其把OWASP Top 10从头到尾刷一遍不如先把五个最基础、出现频率最高的漏洞吃透。这五个漏洞就是SQL注入、XSS、文件上传、CSRF和弱口令。它们覆盖了服务端、客户端、网络层和人为因素把攻防双方的底层逻辑展现得最清晰。下面我会按实战路径逐个拆解重点说清“怎么练”和“练到什么程度”帮你把环境真正用起来。SQL注入从SQLi-Labs第一关到盲注SQL注入的本质是用户输入被当成代码执行。理解这一点后你会发现所有Payload都是围绕“闭合原有语句、插入恶意逻辑”展开的而不是死记字符串。SQLi-Labs通关路线建议按这个顺序推进Less-1至Less-4掌握基础联合查询注入。这四关分别对应id1、id1)等不同闭合方式核心练习点是是判断字段数order by或union select null,null和回显位定位union select 1,2,3。Less-5至Less-6进入报错注入。使用extractvalue()或updatexml()让数据库主动报错带出数据理解“没有回显位时如何取数据”。Less-8至Less-10布尔盲注。通过and length(database())5这类条件判断结合页面返回的“真/假”状态逐位爆破数据。这里要配合Burp Suite的Intruder模块设置Payload为数字1-8循环观察Response长度差异。Less-9至Less-10时间盲注。用and if(length(database())5, sleep(5), 0)通过响应时间判断条件真假。这是无回显、无报错场景的最后一道防线。关键认知升级很多人卡在Less-11后就停了其实那之后才是分水岭。Less-11开始是POST型注入需要把Burp Repeater用起来手动修改Body参数。到Less-23左右会遇到过滤注释符的场景这时要改用 or 11这种不需要注释的闭合方式——这就是在训练你根据防御调整Payload的能力而不是背固定套路。通关后建议用DVWA的SQL Injection模块验证Low级别直接手工注入Medium级别加了转义需要抓包改十六进制编码High级别用LIMIT 1限制输出考察你如何绕过。三个难度差异明显能帮你建立“同一漏洞在不同防御强度下的应对思维”。XSS三种类型的实战区分XSS的Payload看起来简单但很多人分不清三种类型的利用场景差异。反射型XSSDVWA Low级别输入点直接回显在页面上构造scriptalert(document.cookie)/script即可触发。Low级别没有任何过滤重点是理解输入点与输出点的关系——你的Payload出现在哪个HTML标签里是属性值还是纯文本这决定了是否需要闭合引号或标签。存储型XSSDVWA Medium/High级别留言板场景下Payload存入数据库后每次加载页面都会执行。Medium级别用str_replace过滤script可以用ScRiPt大小写绕过或者用img srcx onerroralert(1)。High级别用preg_replace过滤更严格需要尝试onmouseover、onclick等事件处理器或者利用hrefjavascript:alert(1)。这里的关键练习是在浏览器开发者工具的Elements面板里实时观察你的输入被渲染成了什么。很多时候Payload没生效是因为被编码成了lt;实体或者嵌套在了错误的标签层级里。DOM型XSSDVWA impossible级别参考Impossible级别虽然打不了但值得看源码学习防御方案。DOM型XSS不经过服务端纯靠前端JavaScript处理。比如URL参数?defaultEnglish被直接写入页面如果代码是document.write(option value location.hash.slice(1) )那闭合单引号后就能注入脚本。防御要点是对用户输入做输出编码而非输入过滤因为输入点可能有多个。文件上传从一句话木马到解析漏洞文件上传漏洞的利用链条是找到上传点 → 绕过前端/服务端校验 → 获取WebShell路径 → 连接执行。DVWA三级别差异级别防御机制绕过方法Low无校验直接上传PHP文件访问路径即可Medium检查MIME类型抓包修改Content-Type为image/jpegHigh检查文件头扩展名白名单用GIF89a伪造文件头配合文件包含漏洞利用或利用Apache解析漏洞如shell.php.jpg在特定配置下被解析实战中的关键细节Medium级别的MIME校验绕过要在Burp中拦截上传请求把Content-Type: application/x-php改成image/jpeg。很多人忘了这一步因为浏览器开发者工具里看不到这个Header。High级别如果严格限制为jpg/png/gif就需要结合文件包含漏洞或解析漏洞。比如存在本地文件包含LFI时上传一个包含PHP代码的图片马shell.jpg再通过?page../../uploads/shell.jpg包含执行。这引出了重要认知单一漏洞可能打不通但漏洞组合能形成完整攻击链。练习时建议用蚁剑或冰蝎连接Shell理解WebShell的通信原理。不要止步于“上传成功”要能看到服务器上的文件列表、能执行命令才算真正掌握。CSRF从原理理解到Burp自动化利用CSRF的难点不在技术复杂度而在理解为什么它能成立——浏览器会自动带上目标站的Cookie而服务端不校验请求来源。DVWA Low级别手工验证登录DVWA进入CSRF页面修改密码并抓包在Burp Repeater中右键“Engagement tools” → “Generate CSRF PoC”把生成的HTML保存为poc.html在另一个浏览器或隐私窗口中打开点击按钮后目标用户的密码被修改这个流程让你直观看到攻击者不需要知道原密码只要诱导已登录用户访问恶意页面即可。Medium级别的Referer校验绕过服务端检查Referer头是否包含目标域名。绕过方法是在自己服务器上创建同名目录比如http://attacker.com/dvwa/让Referer自然带上dvwa字符串。或者利用某些浏览器对Referer的处理差异。High级别的Token防御与绕过服务端生成随机Token表单提交时校验。这属于正常防御但值得用Burp的Macro功能练习自动化设置Macro在每次请求前获取页面中的Token再填入后续请求。这个练习的价值在于理解Token机制的工作原理以及为什么单纯的Token如果不结合SameSite Cookie仍可能存在风险。弱口令Burp Suite爆破的完整工作流弱口令漏洞看似没有技术含量却是企业中最常见的突破口。掌握Burp Intruder的爆破模式是后续所有暴力破解场景的基础。标准爆破流程抓包定位拦截登录请求发送到Intruder标记变量在Positions标签中用§包裹用户名和密码字段Attack type选Cluster bomb用户名和密码各用一个Payload集交叉组合配置PayloadPayload set 1导入常见用户名列表如admin、root、testPayload set 2导入密码字典结果筛选在Options中设置Grep - Match匹配login failed之外的响应或按Response长度排序找异常进阶技巧Pitchfork模式用户名和密码一一对应时使用比Cluster bomb快得多递归提取某些系统登录失败次数过多会锁定账户需要配合Recursive grep从响应中提取Token或时间戳自定义迭代器针对用户名:密码这种单字段格式用Custom iterator设置分隔符DVWA Brute Force模块的High级别加入了Token和延时可以练习上述进阶功能。更重要的是理解爆破成功的关键在于字典质量而字典应根据目标信息定制如公司名缩写年份、常见默认密码组合不是越大越好。支付逻辑参数篡改一个综合小案例把上述技能串联起来看一个实际场景某电商网站的订单提交请求为POST /order.php参数包含product_id1001quantity1price299.00。用Burp拦截后在Repeater中尝试修改quantity-1数量负数可能实现“退款式购买”price0.01直接改价格测试服务端是否校验product_id1002替换为更贵商品ID看是否按ID重新定价这个案例同时涉及客户端校验绕过前端JavaScript限制了数量为正但服务端可能没校验、业务逻辑缺陷价格由客户端提交而非服务端查询、越权风险是否能用他人product_id。它说明漏洞往往不是孤立的理解业务逻辑比掌握单一技术更重要。环境准备与下一步上述所有练习需要以下环境Kali Linux预装Burp Suite Community Edition、SQLMap等工具DVWADocker部署最方便docker run --rm -it -p 80:80 vulnerables/web-dvwaSQLi-LabsGitHub下载后部署到本地PHP环境建议的学习节奏是每个漏洞先在DVWA Low级别手工验证原理再用Medium/High级别练习绕过最后到SQLi-Labs或CTF平台做变式训练。遇到不会的Payload不要直接复制先在本地MySQL或PHP环境里拆开测试理解每个字符的作用。当你能不看笔记独立完成SQLi-Labs前20关、DVWA全部High级别除impossible、以及一次完整的Burp爆破流程时Web安全的基础攻防思维就已经成型了。这时候再去看OWASP Top 10的其他漏洞或者转向内网渗透、代码审计都会有扎实的理解根基。