xss基础靶机
2022/7/26 6:52:50
本文主要是介绍xss基础靶机,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第一关:没有使用过滤器
从代码中可以看出,它是将用户以GET的方式提交的参数直接输出,所以用任何方法都可以通过
方法:<a href="javascript:alert(1)">aaaaaa</a>
第二关:闭合标签
从代码中可以看出,它将我们输入的值给了value,然后它再传给了一个htmlspecialchars函数,这个函数是把预定义的字符转换为 HTML 实体,说明把<script>标签吃掉了,可以通过闭合标签,使得<input name=keyword value="'.$str.'">这一句就闭合掉
方法:1" onclick="alert(1)
第三关:单引号闭合
看了看源码,发现这里不但对"号做了限制,而这在value这里也加了htmlspecialchars函数,虽然对了双引号做了限制,但是单引号还是可行的,这种情况我们可以通过事件标签触发表单执行。
方法:aaaa' onclick='alert(1)
第四关:双引号闭合
直接可以看出,它是把<>过滤掉了,所以很简单,不用<>就行了
方法:a "onclick="alert(1)
第五关:javascript伪协议
它对<script和on的都做了过滤,而且还使用strtolower函数对所有字符串变成小写,单引号也不可用了,但我们还是可以闭合语句,通过双引号加>闭合,但是闭合也不完全行,我们这时候可以使用javascript伪协议以及标签进行注入。
方法:a"><a href="javascript:alert(1)">aaaa</a>
第六关 大小写
可以看出它对<script on src data href 进行过滤,但是没对大写字母过滤
方法:aa" onclick="alert(1)
第七关:重复写
这里可以看出它把特殊语义的字符串修改成了空字符串,所以我们可以用重写的方法
方法:aa" oonnclick="alert(1)
第八关 字符实体
难度一次一次升级,我们这里直接把字符编码转换为HTML的实体编码
方法:javascript:alert(1)
第九关 关键字存在
这里多了一个strpos函数,这个函数是用来查找指定文本在字符串中第一次出现的位置,这时候我们就不得不在代码里加入http://,但是并没有过滤HTML实体编码,所以我们还是使用编码绕过
方法:javascript:alert(1)//http://www.baidu.com
第十关 隐藏信息
这里由于没有文本框,需要在浏览器后台的<input name="t_sort" value="'.$str33.'" type="hidden">这行的type值改成text
然后这里只是过滤掉了<>,可以使用触发事件标签
方法:t_sort="type="text" onm ouseover="alert(1)
这篇关于xss基础靶机的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南