首页 > 其他分享 >DVWA靶场实战(十一)——XSS(Reflected)

DVWA靶场实战(十一)——XSS(Reflected)

时间:2023-01-28 17:13:23浏览次数:39  
标签:XSS name 代码 Reflected DVWA Hello

DVWA靶场实战(十一)

十一、XSS(Reflected):

1.漏洞原理:

  XSS被称为跨站脚本攻击(Cross Site Script),而Reflected被称作反射型XSS。不同于DOM和Stored,Reflected反射型无法存储。防御措施以及利用手法同DOM大同小异。

2.实战:

(1)Low:

  代码分析:

<?php

header ("X-XSS-Protection: 0");

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Feedback for end user
    $html .= '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}

?>

  基本上也是不设防状态,所以我们可以直接尝试攻击。

  这里我们用弹窗进行测试,利用语句“<script>alert(1)</script>”,得到以下情况,说明攻击成功。

(2)Medium:

  代码分析:

<?php

header ("X-XSS-Protection: 0");

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Get input
    $name = str_replace( '<script>', '', $_GET[ 'name' ] );

    // Feedback for end user
    $html .= "<pre>Hello ${name}</pre>";
}

?>

  这里我们看到会将<script>替换为空格,所以我们可以使用双写注入或者大小写绕过。

  这里我们利用语句“<sc<script>ript>alert(1)</script>”(双写注入),或者“<sCript>alert(1)</ScRipt>”(大小写注入)。可以看见如下就是成功了。

(3)High:

  代码分析:

<?php

header ("X-XSS-Protection: 0");

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Get input
    $name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );

    // Feedback for end user
    $html .= "<pre>Hello ${name}</pre>";
}

?>

  这里已经不区分大小写的屏蔽“script”了,所以我们这里采用img标签注入。

  我们开始攻击,利用“<img src=# one rror=alert("xss")>”语句进行攻击,发现成功。

(4)Impossible:

  代码分析:

<?php

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Check Anti-CSRF token
    checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );

    // Get input
    $name = htmlspecialchars( $_GET[ 'name' ] );

    // Feedback for end user
    $html .= "<pre>Hello ${name}</pre>";
}

// Generate Anti-CSRF token
generateSessionToken();

?>

  作为防御模板,将输入的代码转为HTML实体。

#文章来源:wybsignal

标签:XSS,name,代码,Reflected,DVWA,Hello
From: https://www.cnblogs.com/wybsignal/p/17070866.html

相关文章

  • XSS攻击是什么
    攻击者可以通过向Web页面里面插入script代码,当用户浏览这个页面时,就会运行被插入的script代码,达到攻击者的目的。XSS的危害一般是泄露用户的登录信息cookie,攻击者可以通过c......
  • NodeJS - XSS-Attribute
    参考:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-attribute-xss-attribute/kbid-3-xss-attributef12看看修改color的值,英文句子就会改变颜色,这......
  • NodeJS - XSS-href
    参考:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-href-xss-href/kbid-3-xss-url输入https://www.baidu.com再点击visit,会跳转至百度页面,这里可能......
  • NodeJS - XSS
    首先进入/skf-labs-master/XSS文件夹下,执行命令:$npminstall$npmstart抓包看看内容查看源码app.post("/home",(req,res)=>{letuserInput=req.body.stri......
  • Python - XSS-href
    参考资料:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-href-xss-href/kbid-3-cross-site-scripting-href$sudodockerpullblabla1337/owasp-sk......
  • DVWA靶场实战(十)——XSS(DOM)
     DVWA靶场实战(十) 五、XSS(DOM):1.漏洞原理:XSS全称为CrossSiteScripting,由于和层叠样式表(CascadingStyleSheets,CSS)重名,所以为了区别别叫做XSS。主要基于Java......
  • Python - XSS-Attribute
    参考资料:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-attribute-xss-attribute/kbid-3-cross-site-scripting-attribute靶场环境$sudodockerp......
  • Python XSS
    参考资料:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-xss/kbid-3-cross-site-scripting靶场环境搭建$sudodockerpullblabla1337/owasp-skf-l......
  • P27_wxss - 全局样式和局部样式
    全局样式定义在app.wxss中的样式为全局样式,作用于每一个页面。局部样式在页面的.wxss文件中定义的样式为局部样式,只作用于当前页面。注意:当局部样式和全局样......
  • DVWA靶场实战(九)——Weak Session IDS
    DVWA靶场实战(九)九、WeakSessionIDS:1.漏洞原理:WeakSessionIDS也叫做弱会话,当用户登录后,在服务器就会创造一个会话(session),叫做会话控制,接着访问页面的时候就不用......