Cross-Site Scripting(XSS)

1. XSS介绍

跨站脚本攻击(Cross-Site Scripting)简称XSS,人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,将跨站脚本攻击缩写为XSS。

XSS是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种。使用该攻击方式,攻击者(恶意用户)可以将代码注入到网页,其他用户在访问并且浏览该网站时就会受到影响。

该恶意代码主要为HTML代码,也可以是其他网页代码

2. XSS的危害

      ​​​​​​​窃取用户敏感信息

  • 通过 document.cookie 获取用户会话Cookie,劫持账户。
  • 会话劫持
  • 攻击者冒充用户执行操作(如转账、修改密码)。
  • 钓鱼攻击
  • 伪造登录表单诱导用户输入账号密码。
  • 键盘记录
  • 监听用户键盘输入,窃取密码等数据。
  • 破坏页面内容
  • 篡改网页显示内容,传播虚假信息。
  • 传播恶意软件
  • 通过加载外部脚本下载木马程序。

3. XSS原理

攻击者向具有XSSbug的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。

xss攻击分为3种:反射型xss,存储型xss,DOM型xss。

4. XSS常见出现点

黑盒测试:

尽可能找到一切用户可控并且能够输出在页面代码中的地方,比如下面这些:

*URL的每一个参数

*URL本身*表单*搜索框--------------------

常见业务场景:

*重灾区:评论区、留言区、个人信息、订单信息等

*针对型:站内信、网页即时通讯、私信、意见反馈

*存在风险:搜索框、当前目录、图片属性等

4.1. XSS常见语句

常见XSS语句标签:<script>

<script>alert(1)</script>

常见XSS语句标签:<img>

<img src=x onerror=alert(/xss/)>

常见XSS语句标签:<input>

<input onclick=alert(3)>

常见XSS语句标签:<a>

<a href=javascript:alert('xss') > xss</a>

5. 反射型XSS

反射型xss又称非持久型xss,这种攻击方式是一次性的。

往往是需要用户点击该恶意链接才能攻击成功。又称非持久性xss。

以下仅是演示xss的一个例子,真正的可没有那么简单

5.1. 网站存在xss

  1. 该网站具有反射型漏洞,在任何具有输入的地方都可以进行尝试,

<script>alert(/xss/)</script>这是一段HTML代码,我们将它输入到搜索框中

出现弹窗,alert函数具有弹窗功能

5.2. pikachu xss

靶场xss反射型实验

<script>alert(/xss/)</script>输入到查询框中,

发现输入不完整,应该是在前端做了长度限制,使用检查功能修改HTML代码即可。

修改2000,再输入

恢复

弹窗,显示xss

### 关于 Pikachu 项目中的 XSS 漏洞 #### 跨站脚本攻击(XSS) 跨站脚本攻击是一种常见的安全漏洞,允许攻击者通过注入恶意脚本来执行未经授权的操作。这种攻击通常发生在 Web 应用程序未能正确验证或转义用户输入的情况下。 在 Pikachu 项目的上下文中,存在多个演示场景来展示 XSS 的工作原理及其潜在危害[^1]。 #### 登录页面的 XSS 风险 受害者可以通过访问 `http://127.0.0.1/pikachu/vul/xss/xsspost/post_login.php` 页面并使用默认凭证 (`test/abc123`) 进行登录操作。此页面可能未对用户的输入进行充分过滤,从而导致反射型或存储型 XSS 攻击的发生。 #### 利用图片标签触发 XSS 另一个典型的例子涉及 `<img>` 标签的滥用。例如,在某些情况下,可以利用如下 HTML 片段发起请求到指定服务器以窃取会话信息或其他敏感数据: ```html <img src="http://127.0.0.1/pikachu/pkxss/xfish/fish.php" /> ``` 上述代码片段展示了如何通过图像加载机制实现远程通信的目的[^2]。 #### 大小写绕过的技巧 为了测试应用程序的安全防护措施是否存在缺陷,研究者们经常尝试不同的方法规避检测规则。比如下面这个案例就说明了即使简单的字符转换也可能突破初步防御屏障: ```html <SCRIPT>alert(/xss/)</sCRIpt> ``` 这里故意改变了部分字母的大写形式试图迷惑模式匹配算法达到成功弹窗的效果[^3]。 #### 嵌套 script 标记造成破坏 更进一步地考虑实际应用环境下的复杂情况,则有这样一种构造方式能够有效避开一些基础级别的HTML净化处理逻辑: ```html </script><script> alert('xss')</script> ``` 它巧妙地关闭当前正在解析状态中的 JavaScript 区域然后再开启新的定义区域以便执行自定义命令序列[^4]。 ### 结论 综上所述,Pikachu 提供了一个很好的平台让我们深入理解各种类型的Web安全性议题,特别是针对像XSS这样的经典威胁进行了详尽的实际演练.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值