首页 > 其他 > 详细

XSS闯关之第四关

时间:2018-05-15 20:53:55      阅读:166      评论:0      收藏:0      [点我收藏+]
开启第四关
技术分享图片
查看源代码
技术分享图片
这里我们看到,我们传入进去的值又经过了两个函数的参与。
函数说明:
Str_replace(“>”,””,$str),此函数将变量str中的字符>转换为空,转换时区分大小写。同理将<装换为空,然后在经过htmlspecialchars()函数,将一些预定义符号转换为html实体。
通过这几个函数的过滤转化,我们前三关的payload肯定对不能用的。所以接下来我们需要做的就是,在没有符号“<>”的情况下,并且语句不被htmlspecialchars()函数影响的情况下构建payload。
所以我们在这里可以构造一个输入到文本框后出现相应的事件。我们的payload:
“ onfocus=alert(1) autofocus=”
这样我们输入的payload没有被函数过滤,并且经过htmldpecailchars()函数转换并不影响最 input文本框。所以输入后文本框内容就变成了:
<input name=keyword value=””onfocus=alert(1) autofocus=””>
Onfocus事件:定义的事件将在对象获得焦点时触发,这里指input标签获得焦点。
Autofocus属性:input标签的属性,当页面加载input标签,自动获得焦点。
焦点:这里指你的光标的位置,也就是说当你的光标出现在input文本框这里,将进行onfocus事件的发生。
我们的结果:
技术分享图片
方法不唯一,欢迎加入你的体会。
总结:每段代码有它的安全机制,同样也有它的局限性,这关的代码虽然感觉写的很不错,但是,往往还是能被利用并绕过。你使用了过滤符号的机制,而我可以绕过你的过滤攻击你。这里过滤<>符号,攻击的时候就不使用带有这样符号的paylod就可以

请开启<第五关>

XSS闯关之第四关

原文:http://blog.51cto.com/12332766/2116683

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!