XSS基础

<aside> 💡 反射型 XSS

</aside>

黑客需要诱使用户点击链接。也叫作"非持久型XSS"(Non-persistent XSS)

适用场景:钓鱼,垃圾邮件

<aside> 💡 存储型 XSS

</aside>

把用户输入的数据"存储"在服务器端。 这种XSS具有很强的稳定性。

黑客写下一篇包含恶意JS代码的博客文章,文章发表后,所有访问该博客文章的用户,都会在他们的浏览器中执行这段恶意的JS代码。

黑客把恶意的脚本保存在服务器端,所以中XSS攻击就叫做"存储型XSS"。

适用场景:留言板,公告区

<aside> 💡

DOM型 XSS

</aside>

也是一种反射型XSS,由于历史原因被单独列出来了。通过修改页面的DOM节点形成的XSS,称之为DOM Based XSS。

<aside> 💡

各种绕过方式

</aside>

  • 大小写

    **<script>alert("xss");</script>

    可以转换为:

    <ScRipt>ALeRt("XSS");</sCRipT>**
  • 关闭标签

    "><script>alert("Hi");</script>

  • 使用hex编码

    **<script>alert("xss");</script>

    可以转换为:

    %3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%22%78%73%73%22%29%3b%3c%2f%73%63%72%69%70%74%3e**

魔术引号

magic_quotes_gpc=ON是php中的安全设置,开启后会把一些特殊字符进行轮换,比如'(单引号)转换为\',"(双引号)转换为\",\转换为\\

  • magic_quotes_gpc绕过

    **<script>alert("xss");</script>

    会转换为

    <script>alert(\\"xss\\");</script>

    这样我们的xss就不生效了。**

    复制代码
      **针对开启了magic_quotes_gpc的网站,我们可以通过JS中的String.fromCharCode方法来绕过,我们可以把alert("XSS");转换为**
    
    **String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 88, 83, 83, 34,41)那么我们的XSS语句就变成了**

<script>String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 88,83, 83, 34, 41, 59)</script>

String.fromCharCode()是JS中的字符串方法,用来把ASCII转换为字符串。

最后使用<script>转换后的放到这里</script>包含即可

  • 利用HTML<>标签属性值执行XSS

很多HTML标记中的属性都支持javascript:[code]伪协议的形式,这就给了注入XSS可乘之机

例如:

复制代码
**<img src = "javascript:alert('xss');">**
  • 空格/回车/Tab

    像<img src= "javascript: alert(/xss/); width=100> 同样能绕过

  • 产生自己的事件

事件既能让JS脚本运行,自然也可以执行跨站,另外像onerror、onMouseover等都可利用的是事件处理函数

复制代码
**<input type = "button"  value = "clickme" οnclick="alert('click me')" />**
  • 注释符绕过

相关推荐
muyouking112 小时前
Tauri Android 开发踩坑实录:从 Gradle 版本冲突到离线构建成功
android·rust
旺仔Sec3 小时前
新疆维吾尔自治区第一届“丝路杯”网络安全大赛暨2026年新疆职业院校技能大赛网络安全赛项竞赛样题
安全·web安全
Jerry4 小时前
Compose 为元素赋予动画特效
android
Jeled4 小时前
协程工具类
android·android studio
阿兰哥7 小时前
【调试篇5】TransactionTooLargeException 原理解析
android·性能优化·源码
爱吃水蜜桃的奥特曼8 小时前
玩Android Flutter版本,通过项目了解Flutter项目快速搭建开发
android·flutter
太过平凡的小蚂蚁9 小时前
Android 版本特性完全解析:从6.0到16.0的实用指南
android
杨筱毅9 小时前
【底层机制】【Android】深入理解UI体系与绘制机制
android·底层机制
介一安全10 小时前
【Frida Android】基础篇8:Java层Hook基础——调用带对象参数的方法
android·网络安全·逆向·安全性测试·frida
puyaCheer10 小时前
Android 13 启动的时候会显示一下logo,很不友好
android·gitee