dvwa下xss练手实践

本文介绍了跨站脚本(XSS)攻击的概念、分类,并通过DVWA(Damn Vulnerable Web Application)实践了反射型和储存型XSS攻击的不同级别。详细探讨了如何绕过过滤机制,包括使用不同注入方法和标签。同时,提供了检测XSS漏洞的一些方法。
摘要由CSDN通过智能技术生成

xss简介:

跨站脚本(英语:Cross-site scripting,通常简称为:XSS)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。从而使目标计算机收到危害。

分类:

xss漏洞分为三类,分别是存储和反射。还有第三种不太知名的XSS攻击类型,基于DOM的XSS。

存储的XSS攻击

存储攻击是指注入的脚本永久存储在目标服务器上的攻击,例如在数据库,消息论坛,访问者日志,注释字段等中。受害者在请求存储时从服务器检索恶意脚本。信息。存储的XSS有时也称为持久性或类型 Ⅰ XSS。

反射型的XSS攻击

反射攻击是指注入的脚本从Web服务器反射出来的攻击,例如错误消息,搜索结果或包含作为请求的一部分发送到服务器的部分或全部输入的任何其他响应。反射的攻击通过其他途径传递给受害者,例如在电子邮件中或在其他一些网站上。当用户被欺骗点击恶意链接,提交特制表单,甚至只是浏览恶意网站时,注入的代码会传播到易受攻击的网站,这会将攻击反映回用户的浏览器。然后浏览器执行代码,因为它来自“可信”服务器。反射的XSS有时也称为非持久性或II型XSS。

本文就验证两种xss攻击,因为笔者尚未学习php语言,无法写出实验的网站代码,所以就使用dvwa进行渗透实验。

DVWA网站的安装可以参见以下网站:

https://www.cnblogs.com/amberly/p/6089224.html

在登陆DVWA以及将安全等级调为low等级之后,进行xss

(经笔者实验,在chrome浏览器下不能正常得到攻击后的响应,所以如果要进行实验的话建议使用Firefox等浏览器)

反射型xss:

Low

服务器端核心代码

Low Reflected XSS Source

<?php

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

?>

观察到并没有对name进行任何的过滤操作。

那么输入<script>alert(123456)</script>

观察到弹窗。

接下来看中级的xss源代码:

Medium Reflected XSS Source

<?php

// 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>";
}

?>

看到有一个 $name = str_replace( '<script>', '', $_GET[ 'name' ] );
这个函数将字符“<script>”换为NULL,那么由于函数只执行一次,有多种方法可以绕过。

比如将这个标签双写绕过,但是只能过滤一次,就达成了我们的目的。

比如:<sc<script>ript>alert(123456)</script>

  • 12
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值