ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

新手DVWA-XSS (Reflected)

2020-07-29 08:31:14  阅读:315  来源: 互联网

标签:XSS name 代码 Reflected DVWA 过滤 服务器 Hello 弹窗


XSS (Reflected)

XSS(Cross Site Scripting)即跨站脚本攻击,是指由于过滤不当导致恶意代码注入网页,当受害者访问网页时,浏览器执行恶意代码,执行攻击者的攻击行为

low

服务器核心代码

<?php

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

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

?> 

从代码上看,没有任何过滤

解法

输入

image-20200727182600347

成功弹窗

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
    echo "<pre>Hello ${name}</pre>";
}

?> 

medium难度代码过滤了

image-20200727183214302

成功弹窗

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
    echo "<pre>Hello ${name}</pre>";
}

?> 

正则匹配彻底过滤掉了

image-20200727182600347

成功弹窗

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
    echo "<pre>Hello ${name}</pre>";
}

?> 

medium难度代码过滤了

image-20200727183214302

成功弹窗

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
    echo "<pre>Hello ${name}</pre>";
}

?> 

正则匹配彻底过滤掉了<script>标签,改用其他标签

解法

输入

image-20200727183858248

成功弹窗

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
    echo "<pre>Hello ${name}</pre>";
}

// Generate Anti-CSRF token
generateSessionToken();

?>

代码使用了htmlspecialchars()函数,将'<','>'转换为html实体,所以已经不存在XSS漏洞了
------------恢复内容结束------------

posted @ 2020-07-29 08:26  N0ri  阅读(0)  评论(0)  编辑  收藏 刷新评论刷新页面返回顶部

标签:XSS,name,代码,Reflected,DVWA,过滤,服务器,Hello,弹窗
来源: https://www.cnblogs.com/N0ri/p/13394997.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有