美文网首页
xss学习笔记1 反射型XSSReflected Cross S

xss学习笔记1 反射型XSSReflected Cross S

作者: 沙雕带你蒿羊毛 | 来源:发表于2017-12-25 21:29 被阅读0次

    在学习xss,推荐一本红书《XSS跨站脚本攻击剖析与防御(完整版)》,这个有钱的自己买,没钱的pdf  ,看完了就差实践了,谢谢诶

    先从DVWA的xss开始学习吧,网上学习xss的少,起码比sql少

    等级先调成low

    Username:admin      Security Level:low     PHPIDS:disabled

    Reflected Cross Site Scripting (XSS) --low

    这里没有进行过滤任何参数,直接引用了name参数,输入

    <script>alert(xss)</script>弹窗爆出xss.

    Medium

    `$name = str_replace('<script>'', $_GET['name'] );`

    这里过滤了<script> ,采用了黑名单的方式,这里学过sql绕过的筒子应该知道的,所以可以用双写,或者大小写绕过啊

    <Script>alert(/xss/)<sCript>  大小写可以是随机的

    或者<s<script>cript>alert(/xss/)</sc</script>ript> 双写的位子也可以是随机的,学过绕过的应该都知道,我就不说了。

    High

    `$name=preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i','',$_GET['name'] );` 这里用正则过滤了会出现<script>的每个单词,就是说大小写和双写没用了,但是由于它只过滤了<script>还可以用其他的js标签来弹窗,比如 img的onerror报错,<img src=1 onerror=alert(xss)>    onerror指的是在找不到指定图片或者网速贼慢的时候执行的另一个事件,通过一个错误的图片让弹窗执行即可

    <body onload=alert(xss)> 同理 在页面加载之后立即执行一段 JavaScript

    Impossible

    `$name = htmlspecialchars( $_GET['name'] );`

    在Impossible里面用了htmlspecialchars把预定义的字符&、”、’、<、>转换为HTML实体,也就是说不能用作html元素了,这样就不能构造代码了

    相关文章

      网友评论

          本文标题:xss学习笔记1 反射型XSSReflected Cross S

          本文链接:https://www.haomeiwen.com/subject/cdxtmxtx.html