结合DVWA的反射型XSS浅析

一.概念

XSS:跨站脚本攻击。黑客通过HTML注入篡改了网页,在网页中插入恶意脚本。

二.分类

1.反射型XSS:简单地把用户输入的数据反射给浏览器。

2.存储型XSS:将用户输入的数据存储在服务器端。

3.DOM型XSS:通过修改页面的DOM节点形成XSS。

三.DVWA-XSS实践

1.低级

看下源码,这里无任何过滤。直接将用户的输入反射给浏览器。

        故直接构造payload语句:<script>alert(/This is XSS!/)</script> ,直接在输入框输入它。效果如下:

获取cookie,构造    <script>alert(document.cookie)</script>  ,效果如下:

http://127.0.0.1/DVWA/login.php来到登录页面,f12,修改cookie为刚才弹出来的cookie。删掉login.php,回车,即可登录。

2.中级

看下源码:

        这里str_replace( '<script>', '', $_GET[ 'name' ] ) 作用是删除name中出现的<script>,故可以(1)大小写绕过:<Script>alert(document.cookie)</script>,或者

(2)双写绕过:<s<script>cript>alert(document.cookie)</script>,或者

(3)用别的标签实现绕过:<body οnlοad=alert(document.cookie)>  或  <a href='' οnclick=alert(document.cookie)>click</a>  或  iframe:<iframe οnlοad=alert(document.cookie)> 。

        得到了cookie。

3.高级

看下源码:这里过滤<script>标签,双写,大小写失效

(1)i是正则表达式 i: 表示in-casesensitive,即大小写不敏感。

(2) (.*)正则表达式
        (.*)涉及到贪婪模式。当正则表达式中包含能接受重复的限定符时,通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。以这个表达式为例:a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。

        那么,用其他标签,如:

(1)<img src=1 οnerrοr=alert(document.cookie)>

(2)iframe:<iframe οnlοad=alert(document.cookie)>

(3)<body οnlοad=alert(document.cookie)> 

(4)<a href='' οnclick=alert(document.cookie)>click</a> 。

4.最高级

看下源码:

        PHP的htmlspecialchars() 函数:将预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体,如,在输入框输入<img src=1 οnerrοr=alert(document.cookie)> ,标签不再起作用。

这就避免了XSS漏洞。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值