关于DOM xss跨站的一点点经验之谈
Xss的危害各位小牛 大牛们都意识到了Xss开始的csrf和挂马 到盗cookies和ajax 到xssshell 还有各种利用....
我们一般找到的都是大多数都停留在找直接输入输出上,这类型的一般很容易被过滤。
隐蔽型的就是DOM xss了.
也就是不是直接输出的,
换句话话说,输出内容,在源代码里看不到.
比如你这里这个的话, 你右键,查看源代码的话 内容都是直接可以看到的这种就是直接 输入输出的
这个就是直接输出类型
对于查找DOM XSS的基本方法:
一般是这样的, 先发一个正常的内容,
然后Fhttps://www.jb51.net/hack/12打开调试工具(火狐Firebug插件);
定位到你发的内容上,调试工具里,有一个箭头,可以选择网页里指定的位置的.
然后看你发送的内容里 有没有什么隐藏的属性 或自定义属性
哦 通常的情况是○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○x
而且,“你输入的某句话” ,你直接查看源代码是看不到的
换句话说, ○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○x 这个 是被动态产生的
这个时候,就有潜在的问题来了。 如果 “你输入的某句话” 写为○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○"><"
会变成<"">○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○x
就会插入一个HTML标签进去了
但是 实际情况下," , > 都是被过滤的(到了这里一般的黑友会说转义了过滤了啊没得突破了-_-我曾经也是这样)
你输入的某句话 写为
○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○"><img><"
由于是动态产生的 最后" 会自动变为" 大家觉得很奇怪吧等下解释
>---> >
< ----> <所以最后效果还是<"">○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○x (而且很多程序员,没有过滤& )
下面我们本地测试下
复制代码代码如下:
内容就是我们输入的内容如 www.jb5https://www.jb51.net/hack/1.net
'
一个编码列子再给大家写个列子
复制代码代码如下:
○○@https://www.jb51.net/hack/1$@○○.innerHTML= yyy.
某个属性- -成功编码绕过("="=')编码问题不是我开发的别问我了-_-~!
我们还可以这样来测试下
复制代码代码如下:
Unicode字符列表:http://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%Ahttps://www.jb51.net/hack/1%A8
Xss安全测试字符转换工具:http://app.baidu.com/app/enter?appid=280383
作者 90sec
我们一般找到的都是大多数都停留在找直接输入输出上,这类型的一般很容易被过滤。
隐蔽型的就是DOM xss了.
也就是不是直接输出的,
换句话话说,输出内容,在源代码里看不到.
比如你这里这个的话, 你右键,查看源代码的话 内容都是直接可以看到的这种就是直接 输入输出的
这个就是直接输出类型
对于查找DOM XSS的基本方法:
一般是这样的, 先发一个正常的内容,
然后Fhttps://www.jb51.net/hack/12打开调试工具(火狐Firebug插件);
定位到你发的内容上,调试工具里,有一个箭头,可以选择网页里指定的位置的.
然后看你发送的内容里 有没有什么隐藏的属性 或自定义属性
哦 通常的情况是○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○x
而且,“你输入的某句话” ,你直接查看源代码是看不到的
换句话说, ○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○x 这个 是被动态产生的
这个时候,就有潜在的问题来了。 如果 “你输入的某句话” 写为○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○"><"
会变成<"">○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○x
就会插入一个HTML标签进去了
但是 实际情况下," , > 都是被过滤的(到了这里一般的黑友会说转义了过滤了啊没得突破了-_-我曾经也是这样)
你输入的某句话 写为
○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○"><img><"
由于是动态产生的 最后" 会自动变为" 大家觉得很奇怪吧等下解释
>---> >
< ----> <所以最后效果还是<"">○○@https://www.jb51.net/hack/1$@○○○○@https://www.jb51.net/hack/1$@○○x (而且很多程序员,没有过滤& )
下面我们本地测试下
复制代码代码如下:
x
内容就是我们输入的内容如 www.jb5https://www.jb51.net/hack/1.net
'
一个编码列子再给大家写个列子
复制代码代码如下:
○○@https://www.jb51.net/hack/1$@○○.innerHTML= yyy.
某个属性- -成功编码绕过("="=')编码问题不是我开发的别问我了-_-~!
我们还可以这样来测试下
复制代码代码如下:
x
Unicode字符列表:http://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%Ahttps://www.jb51.net/hack/1%A8
Xss安全测试字符转换工具:http://app.baidu.com/app/enter?appid=280383
作者 90sec
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/websafe/anquanjiaocheng/147374.html