您当前的位置: 首页 > 

仙女象

暂无认证

  • 0浏览

    0关注

    136博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

DVWA通关--反射型XSS(XSS (Reflected))

仙女象 发布时间:2020-12-16 21:54:43 ,浏览量:0

目录

LOW

通关步骤

源码分析

MEDIUM

通关步骤

源码分析

HIGH

通关步骤

源码分析

IMPOSSIBLE

源码分析

总结

LOW 通关步骤

1、输入payload:

alert(1)

有弹框弹出,攻击成功

2、获取cookie

payload:

document.write('')

ip是攻击机的网络地址,需要先在攻击机上起http服务:

python2 -m SimpleHTTPServer 8899

然后在输入框中输入上述payload

在攻击机上就可以看到cookie了

源码分析

可以看出来,源代码没有任何防护,只要输入不为空,就会直接显示到用户浏览器界面上。

MEDIUM 通关步骤

1、先试了一下payload:alert(1)

这次没有弹出弹框,而是显示出来了alert(1)

查看网页源代码,被删掉了

 

2、尝试一下大写绕过

payload:alert(1)

成功弹框

源码分析

比LOW多了个str_replace函数,这个函数在这里的作用是在$_GET['name']中如果找到字符串''就替换成'',也就是起到删除的效果。

注意这个str_replace函数是区分大小写的,所以这里可以用大写绕过。

从代码看,这关也可以用不包含的payload,比如

HIGH 通关步骤

1、尝试了payload:alert(1)

以及payload:alert(1)

全都是只剩下一个>

一时想不通是什么情况

2、尝试payload:

弹出弹框

3、这关看起来好像挺简单,但是我后来试了一下,想要获取cookie也没有这么容易。

用payload:

发现服务器上没有收到get请求,页面显示下面这样

本以为是青铜,没想到套路奇特,让人摸不到头脑。

后来看了代码(详见源码分析),发现这个payload正好能匹配上,而且又是在a标签里面的,所以如果不html实体编码一下,这个>就和进行html实体编码也是不行的,虽然页面上的显示是正确的,但是服务器是获取不到get请求的。

源码分析

这个比LOW多了个preg_replace函数,该函数执行正则表达式的搜索和替换。

正则表达式被/定界,/后面的i表示忽略大小写,即不区分大小写。

这里是在$_GET['name']中搜索匹配正则表达式

关注
打赏
1661867686
查看更多评论
立即登录/注册

微信扫码登录

0.0454s