• dvwa学习笔记之xss


    反射型
    Low
    直接输入<script>alert(/xss/)</script>
    就可以发现弹窗
    Medium
    检查源码 可以看到网站对输入字符进行了过滤,尝试双写绕过,构造
    <scr<script>ipt>alert(/xss/)</script> 输入进行尝试,弹窗xss说明ok!另一种方法就是大小写混写 构造一个 <Script>alert(/xss/)</Script>,成功,说明攻击成功!
    High
    先输入<Script>alert(/xss/)</Script>发现不管用了,然后打开源码,发现网站利用函数
    $name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );
    过滤了字符,使得上面两种方法失效了。虽然无法使用标签注入XSS代码,但是可以通过img、body等标签的事件或者iframe等标签的src注入恶意的js代码。下面构造语句
    <img src="" onerror="alert('XSS')">  成功。
    Impossible
    核心代码: $name = htmlspecialchars( $_GET[ 'name' ] );


    总结: htmlspecialchars 函数可以有效防止反射性xss
    存储型
    Low
    查看源码,可以看出并没有防范xss的措施,直接在message框里面写入<script>alert(/xss/)</script>,成功执行。
    Medium
    strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签,但允许使用标签。
    addslashes() 函数返回在预定义字符(单引号、双引号、反斜杠、NULL)之前添加反斜杠的字符串。
    可以看到,由于对message参数使用了htmlspecialchars函数进行编码,因此无法再通过message参数注入XSS代码,但是对于name参数,只是简单过滤了字符串,仍然存在存储型的XSS。打开burp抓包,1.把name改成<sc<script>ript>alert(/xss/)</script>。Go 成功!2.大小写混淆绕过,改成<Script>alert(/xss/)</script>
    High
    打开源码可以看到,这里使用正则表达式过滤了标签,但是却忽略了img、iframe等其它危险的标签,因此name参数依旧存在存储型XSS。老办法,抓包改name参数为

    <img src=1 onerror=alert(1)> 或者<img src="" onerror="alert('XSS')">  成功弹窗
    Impossible

    打开源码,可以看到,通过使用htmlspecialchars函数,解决了XSS,但是要注意的是,如果htmlspecialchars函数使用不当,攻击者就可以通过编码的方式绕过函数进行XSS注入,尤其是DOM型的XSS。
    想法:
    htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。
    预定义的字符是:
    • & (和号)成为 &
    • " (双引号)成为 "
    • ' (单引号)成为 '
    • < (小于)成为 <
    • > (大于)成为 >
    提示:如需把特殊的 HTML 实体转换回字符,请使用 htmlspecialchars_decode() 函数。
    那么如果在有转义的地方,可不可以用decode这个函数转回字符,可以继续攻击呢?欢迎交流!
    DOM型xss
    low

    default=<script>alert('xss')</script>弹窗

    Medium

    ></option></select><img src=1 onerror=alert('hack')>

    High

    URL中#号之后的内容,不会被提交到服务器,可以直接与浏览器进行交互
    default=English#<script>alert(1)</script>

  • 相关阅读:
    P1964 【mc生存】卖东西
    到达型01背包---P1877 [HAOI2012]音量调节
    组合数学---P1358 扑克牌
    分组背包---P1757 通天之分组背包
    01背包---P2392 kkksc03考前临时抱佛脚
    背包DP 方案数
    完全背包---P1679 神奇的四次方数
    01-背包---P2663 越越的组队
    17、排序算法-希尔排序
    16、排序算法-插入排序
  • 原文地址:https://www.cnblogs.com/ly584521/p/10595651.html
Copyright © 2020-2023  润新知