dvwa10——XSS(DOM)

发布于:2025-06-09 ⋅ 阅读:(22) ⋅ 点赞:(0)

XSS攻击:

  • DOM型XSS
  1. 只在浏览器前端攻击
  2. 触发:修改url片段
  3. 代码不存储
  • 反射型XSS
  1. 经过服务器攻击
  2. 触发:可能通过提交恶意表单,连接触发
  3. 代码不存储
  • 存储型XSS
  1. 经由服务器攻击
  2. 触发:可能通过提交恶意表单,连接触发
  3. 代码存储

这一关有关于DOM型XSS攻击,是完全发生在浏览器url栏中的攻击

LOW

查看源码,没有发现任何过滤

界面上的select一下,观察url栏的变化

http://10.24.8.102/DVWA/vulnerabilities/xss_d/?default=English

我们在等号后面进行改动,这样浏览器就会把我们输入的内容当成网页的一部分来执行

在url栏里加上javascript的内容,这个alert是javascript的内置函数,作用是在浏览器中弹出对话框

http://10.24.8.102/DVWA/vulnerabilities/xss_d/?default=<script>alert<'im lee'>;</script>

f12在查看器的html里也可以看到我们插入的代码被成功执行了

MEDIUM

分析源码:

红框内使用stripos()函数检测了 <script 标签,不区分大小写,并且一旦发现含有<script 的恶意输入,立马重定向到english页面

过滤不全面,我们还可以通过其他 html 标签触发xss,例如

<img src=x onerror=alert('im lee');>

img是html的图像标签,src是img的属性,onerror是<img>标签的事件处理器,在图片加载失败的时候触发,也就是说我们想要的内容会在图片加载失败的警告框里面出现

我们让src=x,这里的x是一个无效的图片路径

输入之前没产生回显,所以进一步检查页面的html,发现代码在option里面,但img无法嵌套在option内,所以我们要把select和option标签都闭合,

也就是在刚才的代码前插入这个 

</select></option><img src=x onerror="alert('im lee')">

回显成功: 

 

HIGH

分析源码,添加了白名单验证,如果输入的不是四者之一,就会重定向到English的页面

这一关的方法是用字符#,#及以后的内容称为“片段标识符”,浏览器不会把这部分内容发送到服务器,也就意味着不会被过滤,只会在客户端本地处理

构造payload如下

?default=English#<script>alert('im lee')</script>

回显成功

IMPOSSIBLE

分析源码:

直接在客户端处理了,url里输入什么都没有用

❀❀❀ 完结撒花!!❀❀❀


网站公告

今日签到

点亮在社区的每一天
去签到