​​黑盒操作LOW一、这是一个选项框内容发现输入内容会直接改变选项内容查看代码后发现js代码// 这是通过字符串拼接创建出页面显示选项if(document.location.href.indexOf(default)0){// 拼接document.location.href.indexOf():获得下标提取具体显示字段varlangdocument.location.href.substring(document.location.href.indexOf(default)8);document.write(option valuelangdecodeURI(lang)/option);document.write(option value disableddisabled----/option);}// 下面是其他选项通过URL地址中的default值来拼接页面显示那测试的payloay直接输入到url中存在js操作页面的DOM元素那就可能存在DOM型xss直接输入payload看效果URL/?defaultscriptalert(1)/script判断存在xss漏洞二、判断提交数据是否经过了后端代码的处理地址栏中输入内容后页面刷新网页出现了弹框且地址栏中信息没有变化这里推测是完全没有后端代码处理,表明后端没有任何操作三、页面未作任何过滤存在DOM型xss漏洞且后端为做任何处理Medium一、页面代码没有变直接输入payload?defaultscriptalert(1)/script页面刷新但无弹框URL地址变化。判断出后端完全过滤了script标签且判断出了存在了script标签直接定向选项为English二、尝试其他标签输入payloadURL/?defaultimgsrc1onerroralert(1)得出地址栏中的URL没有变化但网页代码中存在输入值可是被url编码了那就是判断出后端只过滤了script标签页面有显示但是被编码了那就是语句中没有闭合先前标签重新输入payloadURL/?default/option/selectimgsrc1onerroralert(1)// 先闭合正常的option标签js代码是以select为块级元素处理的所以这里闭合他存在xss漏洞三、存在DOM型xss漏洞后端只过滤了script这一个特殊标签High一、页面代码无变化先输入内容在判断?defaultEnglish/option/selectimgsrc1onerroralert(1)得到页面刷新地址变化选项显示English页面刷新和地址变化证明数据提交到后端且过滤了特殊标签且重定向选项为English二、后端会过滤那就不提交数据到后端#在URl地址中是为了跳转到指定的位置锚点标识符?defaultEnglish#img src1 onerroralert(1)存在xss漏洞三、后端获取到GET请求后过滤用户输入的书友标签有无直接指定为Englist但前端页面存在xss漏洞Impossilble一、输入payload?defaultEnglish#img src1 onerroralert(1)页面刷新地址无变化表明后端不处理数据那就只有前端做防护二、尝试其他查看页面代码发现存在编码那就是闭合方式的问题了English#/option/selectimg scr1 onerroralert(1)页面也存在编码那就是前端对输入信息进行了特殊编码三、前端对用户输入的内容做了编码防止了xss漏洞#####DVWA – 003