XSS跨站——基础知识

XSS跨站——基础知识

0.学习思维导图

  

1.XSS跨站的简介

   跨网站脚本(XSS)又称跨站脚本攻击,是一种经常出现在Web应用程序的安全漏洞攻击,也是代码注入的一种。

  XSS的产生层面是在客户端,主要是出现在一些输出类函数,漏洞的危害主要收到JavaScript的影响,同样,浏览器的内核版本也十分重要,如果浏览器内核版本有时候决定了JavaScript脚本能不能执行,浏览器内核版本高的话,也会有对应的应对方式,这都是构成XSS攻击的因素

2.XSS跨站的原理

  XSS攻击的原理是攻击者在目标网站的页面中注入恶意脚本,使得当其他用户访问该页面时,该恶意脚本会被执行。攻击者可以利用注入的恶意脚本窃取用户的敏感信息,例如用户名、密码、cookie等,并将这些信息发送到攻击者的服务器上。

  攻击者可以通过以下方式实现XSS攻击:

  • 反射型XSS攻击:

    攻击者通过发送包含恶意脚本的链接或者表单数据,来触发目标网站在响应中输出恶意脚本,从而实现攻击。

    发包 massage=liaoyue =>php后端 => 回包

  • 存储型XSS攻击:

    攻击者将恶意脚本存储在目标网站的数据库中,当其他用户访问包含该恶意脚本的页面时,恶意脚本会被执行。

    发包 massage=liaoyue =>php后端 => 写到数据库的表汇总 =>访问触发

  • DOM型XSS攻击:

    攻击者通过修改目标网站的DOM结构来注入恶意脚本,从而实现攻击。

    发包 massage=liaoyue =>本地浏览器静态前端代码 => php后端

  XSS攻击的成功取决于目标网站对用户输入数据的处理方式。如果目标网站没有对用户输入数据进行适当的验证和过滤,那么攻击者就可以利用这个漏洞来注入恶意脚本,并将其传播给其他用户。

3.XSS测试平台

  https://xssaq.com/

  在这个平台中,只要我们输入对应的环境,他会给出可能能够注入XSS的代码,也能看见XSS的注入效果,是一个十分不错的平台

4.XSS查找和判断

  判断一个网站是否存在 XSS 漏洞需要进行一系列测试和分析,以下是一些可能有用的方法:

  • 输入特殊字符和代码:

    在网站的输入框(如搜索框、评论框、留言板等)中输入一些特殊字符和代码(如尖括号、单引号、双引号、script 标签等),观察是否能成功执行代码并影响页面的行为。如果成功执行了代码,那么这个网站可能存在 XSS 漏洞。

  • 使用 XSS 扫描工具:

    现在市面上有许多 XSS 扫描工具,可以自动化地检测一个网站是否存在 XSS 漏洞。常见的 XSS 扫描工具包括 Acunetix、Netsparker、Burp Suite 等。

  • 查看页面源代码:

    在浏览器中查看网站的页面源代码,搜索关键字(如 “script”、“iframe”、“onload” 等),观察是否存在被注入的脚本。

  • 查看请求和响应数据:

    使用浏览器开发者工具查看网站的请求和响应数据,观察是否存在未经过滤的数据被返回给客户端的情况。如果存在未经过滤的数据,那么攻击者就可以注入恶意代码并利用 XSS 漏洞进行攻击。

  需要注意的是,以上方法都有一定的局限性,不能保证完全检测出所有的 XSS 漏洞。因此,建议在开发和部署网站时,尽可能遵循安全最佳实践,如对用户输入数据进行严格的过滤和验证、使用安全的编程语言和框架等,以减少 XSS 漏洞的风险。

5.XSS漏洞危害

  • 窃取用户信息

    攻击者可以通过注入恶意脚本,窃取用户的敏感信息,如用户名、密码、cookie 等

  • 恶意操作

    攻击者可以通过注入恶意脚本,对受害者的账户进行恶意操作,如转账、发帖、删除信息等

  • 篡改网页内容

    攻击者可以通过注入恶意脚本,篡改受害者浏览的网页内容,包括添加广告、修改页面布局等

  • 劫持会话

    攻击者可以通过注入恶意脚本,劫持受害者的会话,让受害者执行一些恶意操作,如发起攻击等


XSS跨站——基础知识
https://one-null-pointer.github.io/2022/10/01/xss跨站——基础知识/
Author
liaoyue
Posted on
October 1, 2022
传送口