DVWA-XSS(DOM)

打印 上一主题 下一主题

主题 922|帖子 922|积分 2766

漏洞详解。
DOM XSS(Cross-site scripting)是一种Web安全漏洞,它利用了浏览器的DOM(文档对象模型)解析机制,通过注入恶意代码来攻击用户。
DOM XSS与传统的反射型或存储型XSS有所不同。在传统的XSS攻击中,攻击者通常在网页的URL或表单字段中注入恶意代码,用户访问网页时恶意代码就会被执行。而在DOM XSS攻击中,恶意代码被注入到网页的DOM中,当用户与网页交互时,恶意代码就会被执行。
DOM XSS攻击的危害可能比传统的XSS攻击更加严重,因为它不需要将恶意脚本传递给服务器,因此很难检测和防止。攻击者可以利用DOM XSS来窃取用户的敏感信息、执行钓鱼攻击、劫持用户会话等。
DOM XSS漏洞的原因在于,浏览器在解析HTML和JavaScript时,将HTML和JavaScript混合在一起处理,因此恶意代码可以通过修改DOM节点或属性来注入到网页中。攻击者可以通过各种方式来实现DOM XSS攻击,例如修改URL参数、修改表单数据、使用可编辑的HTML元素等。
下面将演示一个DOM的操作实例:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.   <title>DOM示例</title>
  5. </head>
  6. <body>
  7.   <h1 id="title">Hello, World!</h1>
  8.   <p>This is a paragraph.</p>
  9. </body>
  10. </html>
  11. JavaScript代码:
  12. // 获取标题元素
  13. var titleElement = document.getElementById("title");
  14. // 修改标题文本
  15. titleElement.innerHTML = "Hello, DOM!";
  16. // 创建一个新段落元素
  17. var newParagraph = document.createElement("p");
  18. newParagraph.innerHTML = "This is a new paragraph.";
  19. // 将新元素插入文档
  20. document.body.appendChild(newParagraph);
复制代码
这段代码首先获取具有ID“title”的元素,并使用innerHTML属性将该元素的文本内容更改为“Hello,DOM!”然后,它创建一个新的段落元素,并使用createElement()方法和innerHTML属性将新元素的文本内容设置为“This is a new paragraph.”最后,它使用appendChild()方法将新元素添加到文档中。
下面我们将对四个等级的代码分别进行分析。
LOW:
代码审计:
  1. Unknown Vulnerability Source
  2. vulnerabilities/xss_d/source/low.php
  3. <?php
  4. # No protections, anything goes
  5. ?>
复制代码
发现没有任何信息,直接查看网页源代码(这里截取的是我们要分析的部分)。
  1.         <form name="XSS" method="GET">
  2.             <select name="default">
  3.                
  4.             </select>
复制代码
这段代码是一个HTML表单,其中包含一个下拉菜单(元素),名为default,并使用GET方法提交数据。当页面URL中存在default=参数时,该参数的值将被添加到下拉菜单中作为默认选项。
下拉菜单的选项内容由JavaScript代码动态生成。如果URL中存在default=参数,JavaScript将读取该参数的值并将其添加到下拉菜单中作为第一个选项。如果没有该参数,JavaScript将添加默认的四个选项:English、French、Spanish和German。
这里漏洞的产生,是因为JavaScript代码使用了document.write方法来将HTML代码动态写入到页面中。document.write()是一个JavaScript方法,它可以将文本、HTML代码或JavaScript代码写入到文档中。这里他没有对用户的输入做任何的过滤和验证。
漏洞利用:
  1. http://127.0.0.1/DVWA-master/DVWA-master/vulnerabilities/xss_d/?default=
复制代码
在利用漏洞时我们只要在url中直接构建即可。
Medium:
代码审计:
[code]Unknown Vulnerability Sourcevulnerabilities/xss_d/source/medium.php
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莫张周刘王

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表