一篇看懂 XSS 攻击!零基础也能轻松掌握的 Web 安全入门指南(xss攻击类型、xss攻击方式和原理)

📅 发布时间:2026/7/5 11:04:39 👁️ 浏览次数:
一篇看懂 XSS 攻击!零基础也能轻松掌握的 Web 安全入门指南(xss攻击类型、xss攻击方式和原理)
一、XSS漏洞原理XSS即跨站脚本攻击是指攻击者利用Web服务器中的应用程序或代码漏洞在页面中嵌入客户端脚本通常是一段由JavaScript编写的恶意代码少数情况下还有ActionScript、VBScript等语言当信任此Web服务器的用户访问Web站点中含有恶意脚本代码的页面或打开收到的URL链接时用户浏览器会自动加载并执行该恶意代码从而达到攻击的目的。当应用程序没有对用户提交的内容进行验证和重新编码而是直接呈现给网站的访问者时就可能会触发XSS攻击。二、XSS漏洞的危害**1窃取管理员帐号或Cookie。**入侵者可以冒充管理员的身份登录后台使得入侵者具有恶意操纵后台数据的能力包括读取、更改、添加、删除一些信息。**2窃取用户的个人信息或者登录帐号**对网站的用户安全产生巨大的威胁。例如冒充用户身份进行各种操作。**3网站挂马。**先将恶意攻击代码嵌入到Web应用程序之中。当用户浏览该挂马页面时用户的计算机会被植入木马。**4发送广告或者垃圾信息。**攻击者可以利用XSS漏洞植入广告或者发送垃圾信息严重影响到用户的正常使用。三、XSS漏洞的分类1、反射型XSS反射型XSS也称为非持久性XSS是最常见的一种XSS。XSS代码常常出现在URL请求中当用户访问带有XSS代码的URL请求时服务器端接收请求并处理然后将带有XSS代码的数据返回给浏览器浏览器解析该段带有XSS代码的数据并执行整个过程就像一次反射故称为反射型XSS。该类攻击的主要特点是它的及时性和一次性即用户提交请求后响应信息会立即反馈给用户。该类攻击常发生在搜索引擎、错误提示页面等对用户的输入做出直接反应的场景中。2、存储型XSS存储型XSS也称为持久性XSS。在存储型XSS中XSS代码被存储到服务器端因此允许用户存储数据到服务器端的Web应用程序可能存在该类型XSS漏洞。攻击者提交一段XSS代码后服务器接收并存储当其他用户访问包含该XSS代码的页面时XSS代码被浏览器解析并执行。存储型XSS攻击的特点之一是提交的恶意内容会被永久存储因而一个单独的恶意代码就会使多个用户受害故被称为持久性XSS它也是跨站脚本攻击中危害最的一类。二是被存储的用户提交的恶意内容不一定被页面使用因此存在危险的响应信息不一定被立即返回也许在访问那些在时间上和空间上没有直接关联的页面时才会引发攻击因此存在不确定性和更好的隐蔽性。这类攻击的一个典型场景是留言板、博客和论坛等当恶意用户在某论坛页面发布含有恶意的Javascript代码的留言时论坛会将该用户的留言内容保存在数据库或文件中并作为页面内容的一部分显示出来。当其他用户查看该恶意用户的留言时恶意用户提交的恶意代码就会在用户浏览器中解析并执行。3、DOM型XSSDOM (Document Objet Model)指文档对象模型。DOM常用来表示在HTML和XML中的对象。DOM可以允许程序动态的访问和更新文档的内容、结构等。客户端JavaScript可以访问浏览器的文档对象模型。也就是说通过JavaScript代码控制DOM节点就可以不经过服务器端的参与重构HTML页面。该类攻击是反射型XSS的变种。它通常是由于客户端接收到的脚本代码存在逻辑错误或者使用不当导致的。比如Javascript代码不正确地使用各种DOM方法(如document.write)和Javascript内部函数(如eval函数)动态拼接HTML代码和脚本代码就容易引发DOM型的跨站脚本攻击。因此DOM型XSS与前面两种XSS的区别就在于DOM型XSS攻击的代码不需要与服务器端进行交互DOM型XSS的触发基于浏览器端对DOM数据的解析来完成也就是完全是客户端的事情。4、判断是哪一种XSS发送一次带XSS代码的请求若只能在当前返回的数据包里发现XSS代码则是反射型若以后这个页面的返回包里都会有XSS代码则是存储型若在返回包里找不到XSS代码则是DOM型。四、XSS漏洞的检测与防御1、检测手工检测手工检测重点要考虑数据输入的地方且需要清楚输入的数据输出到什么地方。在检测的开始可以输入一些敏感字符比如“、、”等提交后查看网页源代码的变化以发现输入被输出到什么地方且可以发现相关敏感字符是否被过滤。手工检测结果相对准确但效率较低。工具检测常用工具有AVWSAcunetix Web Vulnerability Scanner、BurpSuite等。还有一些专门针对XSS漏洞的检测工具如XSSer、XSSF跨站脚本攻击框架、BeEF(The Browser Exploitation Framework)等。2、防御● 使用黑名单进行●对HTML标签或特殊字符进行过滤●使用内容安全的CSP●使用设计上就会自动编码的框架如OWASP ESAPI、React JS、JSOUP等对于JAVA而言可以使用ESAPI.encoder().encodeForHTML()对字符串进行HTML编码。●对于反射型和存储型XSS可以在数据返回给客户端浏览器时将敏感字符进行转义如将单引号进行编码替换十进制编码#39、十六进制编码#x27、HTML编码apos、Unicode编码\u0027等。●对于DOM型XSS可以使用上下文敏感数据编码。如在PHP中的htmlspecialchars、htmlentities函 数可以将一些预定义的字符转换为HTML实体如小于转化为lt、大于转化为gt、双引号转化为quot、单引号转化为apos、与转化 为amp等。●启用浏览器的HttpOnly特性可以组织客户端脚本访问cookie。如在PHP中可以通过下面的代码设置cookie并启用HttpOnly。?php HeaderSet-Cookie:password123456;httponly,false)网络安全的知识多而杂怎么科学合理安排下面给大家总结了一套适用于网安零基础的学习路线应届生和转行人员都适用学完保底6k就算你底子差如果能趁着网安良好的发展势头不断学习日后跳槽大厂、拿到百万年薪也不是不可能初级黑客1、网络安全理论知识2天①了解行业相关背景前景确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。非常重要2、渗透测试基础一周①渗透测试的流程、分类、标准②信息收集技术主动/被动信息搜集、Nmap工具、Google Hacking③漏洞扫描、漏洞利用、原理利用方法、工具MSF、绕过IDS和反病毒侦察④主机攻防演练MS17-010、MS08-067、MS10-046、MS12-20等3、操作系统基础一周①Windows系统常见功能和命令②Kali Linux系统常见功能和命令③操作系统安全系统入侵排查/系统加固基础4、计算机网络基础一周①计算机网络基础、协议和架构②网络通信原理、OSI模型、数据转发流程③常见协议解析HTTP、TCP/IP、ARP等④网络攻击技术与网络安全防御技术⑤Web漏洞原理与防御主动/被动攻击、DDOS攻击、CVE漏洞复现5、数据库基础操作2天①数据库基础②SQL语言基础③数据库安全加固6、Web渗透1周①HTML、CSS和JavaScript简介②OWASP Top10③Web漏洞扫描工具④Web渗透工具Nmap、BurpSuite、SQLMap、其他菜刀、漏扫等恭喜你如果学到这里你基本可以从事一份网络安全相关的工作比如渗透测试、Web 渗透、安全服务、安全分析等岗位如果等保模块学的好还可以从事等保工程师。薪资区间6k-15k到此为止大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗想要入坑黑客网络安全的朋友给大家准备了一份282G全网最全的网络安全资料包免费领取网络安全大礼包《黑客网络安全入门进阶学习资源包》免费分享7、脚本编程初级/中级/高级在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中面对复杂多变的网络环境当常用工具不能满足实际需求的时候往往需要对现有工具进行扩展或者编写符合我们要求的工具、自动化脚本这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中想要高效地使用自制的脚本工具来实现各种目的更是需要拥有编程能力.零基础入门建议选择脚本语言Python/PHP/Go/Java中的一种对常用库进行编程学习搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP IDE强烈推荐Sublime·Python编程学习学习内容包含语法、正则、文件、 网络、多线程等常用库推荐《Python核心编程》不要看完·用Python编写漏洞的exp,然后写一个简单的网络爬虫·PHP基本语法学习并书写一个简单的博客系统熟悉MVC架构并试着学习一个PHP框架或者Python框架 (可选)·了解Bootstrap的布局或者CSS。8、高级黑客这部分内容对零基础的同学来说还比较遥远就不展开细说了贴一个大概的路线。网络安全工程师企业级学习路线很多小伙伴想要一窥网络安全整个体系这里我分享一份打磨了4年已经成功修改到4.0版本的**《平均薪资40w的网络安全工程师学习路线图》**对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。如果你想要入坑黑客网络安全工程师这份282G全网最全的网络安全资料包网络安全大礼包《黑客网络安全入门进阶学习资源包》免费分享​​​​​​学习资料工具包压箱底的好资料全面地介绍网络安全的基础理论包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等将基础理论和主流工具的应用实践紧密结合有利于读者理解各种主流工具背后的实现机制。​​​​​​网络安全源码合集工具包​​​​视频教程​​​​视频配套资料国内外网安书籍、文档工具​​​​​ 因篇幅有限仅展示部分资料需要点击下方链接即可前往获取黑客/网安大礼包CSDN大礼包《黑客网络安全入门进阶学习资源包》免费分享好了就写到这了,大家有任何问题也可以随时私信问我!希望大家不要忘记点赞收藏哦!特别声明此教程为纯技术分享本文的目的决不是为那些怀有不良动机的人提供及技术支持也不承担因为技术被滥用所产生的连带责任本书的目的在于最大限度地唤醒大家对网络安全的重视并采取相应的安全措施从而减少由网络安全而带来的经济损失。本文转自网络如有侵权请联系删除。