- 这个靶场主要是讲一个xss攻击技巧,当我们发现自己的输入值进入了html标签的属性值。那么我们就可以想办法打破闭合标签,造成xss。靶场由知识盒子提供,靶场地址:https://tofu.exeye.run/dom
打开页面依旧是只有一个搜索框
尝试输入些数据,发现数据并不会存取到历史记录中
打开控制台定位到输入框
遇到这种可以控制标签属性值的情况,可以尝试闭合标签页,破坏网页结构,造成XSS
"><script>alert('XSS')</script> //注意:这里括号里的单引号不能丢
被破坏后的网页结构
最后再分析javascript代码,事实上正常流程应当先分析javascript代码的
$('.search-ipt').on('input',function () { //定义输入框函数 if ($('.search-ipt').val()==''){ //从输入框中得到的数据若为空 $('.history').css('display','none') //类history的css样式为空 } else { $('.history').css('display','block') } let val = $('.search-ipt').val() //若不为空则将数据赋予val $('.history').html('<a href="/?search='+val+'">暂无搜索结果</a>') //再将val的值嵌入到类history的标签中 })