Javascript弹窗函数
Low 等级
Medium 等级
过滤了<script
stripos() 函数查找字符串在另一字符串中第一次出现的位置(不区分大小写)
使用img标签发现没有弹窗
查看网页源码,发现语句被插入到了value值中,并没有插入到option标签的值中,所以img标签并没有发起任何作用。
构造语句闭合option标签:
default=></option><img src=x onerror=alert(1)>
依旧没有弹窗
查看网页源代码,发现只有>被插入到了option标签的值中,因为</option>
闭合了option标签,所以img标签并没有成功插入
构造语句闭合select标签:
default=></option></select><img src=x onerror=alert(1)
>
成功弹窗
High 等级
使用白名单进行过滤
URL中#号之后的内容,不会发送到服务器,可以直接与浏览器进行交互
https://dvwa.practice.rois.io/vulnerabilities/xss_d/?default=English#%3Cscript%3Ealert(1)%3C/script%3E
Impossible 等级
在客户端进行了保护
大多数浏览器默认对从URL获取的内容进行编码,以防止执行任何注入的javascript