DVWA-XSS(Reflected)

打印 上一主题 下一主题

主题 893|帖子 893|积分 2679

漏洞详解:
Reflected型XSS攻击是由于某些应用程序在处理输入时没有对输入进行过滤和验证,导致攻击者可以通过构造包含XSS攻击载荷的URL,从而向应用程序中注入恶意脚本代码。当用户单击包含恶意URL的链接时,恶意脚本代码就会被浏览器执行。
Reflected型XSS攻击通常通过以下三种方式实现:

  • 直接URL注入:攻击者将恶意脚本作为URL参数发送给应用程序。当用户通过单击链接或在浏览器中手动复制并粘贴URL时,恶意脚本就会被浏览器执行。
  • 表单输入注入:攻击者将恶意脚本代码作为表单输入发送给应用程序。当用户提交表单并浏览器显示处理结果时,恶意脚本就会被浏览器执行。
  • HTTP头注入:攻击者将恶意脚本代码作为HTTP头发送给应用程序。当应用程序响应请求时,恶意脚本就会被浏览器执行。
Reflected型XSS攻击的主要危害是可以窃取用户的敏感信息、窃取用户的会话Cookie,或者执行任意恶意代码,例如在受害者的账号下发布恶意内容等。
Low:
代码审计:
  1. Reflected XSS Source
  2. vulnerabilities/xss_r/source/low.php
  3. <?php
  4. header ("X-XSS-Protection: 0");
  5. // Is there any input?
  6. if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
  7.     // Feedback for end user
  8.     echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
  9. }
  10. ?>
复制代码
我们可以看到
上述代码并没有对我们传入的参数进行任何的检查,那么该漏洞便可直接利用。
漏洞利用:
直接在输入框中输入:
  1. [/code][b]Medium:[/b]
  2. 代码审计;
  3. [code]Reflected XSS Source
  4. vulnerabilities/xss_r/source/medium.php
  5. <?php
  6. header ("X-XSS-Protection: 0");
  7. // Is there any input?
  8. if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
  9.     // Get input<br>//这里利用str_repclace函数将
复制代码
可以看到这里还是采用了黑名单的思想,我们在上一级别提到的三种绕过方法的前两种由于正则表达式的存在将无法继续使用,但第三种并不受影响。所以这里不多做演示。
Impossible:
代码审计:
[code][/code]当用户在 URL 中输入一个 "name" 参数(使用 GET 方法发送)时,代码将检查是否存在与用户会话关联的 Anti-CSRF 令牌,并使用 htmlspecialchars 函数对输入值进行转义,以确保输入的任何 HTML 标签或其他特殊字符均不会被执行。然后,代码在 HTML 页面上显示 "Hello [name]" 的欢迎消息。
如果未找到 Anti-CSRF 令牌或令牌不匹配,代码将显示错误消息并不执行代码。
此外,generateSessionToken 函数被调用来生成一个 Anti-CSRF 令牌,并将其存储在用户会话中,以便在后续请求中使用。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

干翻全岛蛙蛙

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