DVWA-XSS (Reflected)-反射型XSS(1)

目的

以一种或另一种方式,窃取登录用户的cookie。

反射型XSS

反射型XSS,是指攻击者在页面中插入恶意JavaScript脚本,当合法用户正常请求页面时,该恶意脚本会随着Web页面请求一并提交给服务器,服务器处理后进行响应,响应由浏览器解析后将JavaScript脚本的执行结果显示在页面中。整个过程就像是一次“客户端—服务器—客户端”的反射过程,恶意脚本没有经过服务器的过滤或处理,就被反射回客户端直接执行并显示相应的结果。反射型XSS需要攻击者将带有恶意脚本的链接发送给其他用户,并诱惑用户点击该链接后才会发生。反射型XSS只有在用户点击时才会触发,且只执行一次,恶意代码不会在服务器中存储,因此也被称为“非持久型XSS”。


XSS漏洞分析

利用XSS漏洞时,首先寻找输入点。输入点一般是页面与用户交互之处,用户在输入点输入的数据会被提交到服务器,如URL、表单等。

其次,寻找输出点,确定Web应用程序是否将用户输入的数据显示在网页中。有的业务场景是用户输入数据后,在页面中立刻就能找到输出点,如留言板、评论等。但是,也有不在前端页面中显示的,如私信、意见反馈等,需要人工处理的,则会给XSS攻击增加难度。

最后,进行恶意代码测试。一旦知道了输入点、输出点,就可以构造含有恶意JavaScript脚本的输入,测试页面的输出。

XSS漏洞经常被用来窃取用户的Cookie,用于实施进一步的攻击,如篡改数据、盗取用户、修改用户设置等;也被用于网络钓鱼,使用短信、邮件群发恶意链接,诱导用户点击以获取用户输入敏感信息;甚至可以结合其他漏洞,对服务器发起攻击、植入木马等。在满足具体的业务场景需求时,对XSS攻击的防护较为困难,XSS漏洞范围广、引起的社会影响大,现已受到越来越多的关注。

低水平

查找输入输出点,输入内容会直接显示在页面和URL中

构造恶意脚本

Spoiler: ?name=<script>alert("XSS");</script>.

在输入框输入 点击submit,显示了alert

 弹窗显示cookie ,发现已获取cookie。

在将请求的输入包含在输出文本中之前,低级别没有对输入进行检查。

<?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>';
}

?>

中级

中级反射型XSS渗透测试环境增加了一个“Get input”部分实现对输入参数的过滤

n a m e = s t r _ r e p l a c e ( ′ < s c r i p t > ′,′′, name=str\_replace(′<script>′,′′, name=str_replace(<script>′′_GET[′name′]);”语句将name参数值中的所有“

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

?>

使用 str\_replace() 函数来清除 <script> 标记是不足以解决XSS漏洞的。应该使用适当的净化方法和输出编码方法,如 htmlspecialchars() 函数或使用模板引擎来生成JavaScript。

因此,建议对用户的输入数据进行彻底的验证和净化,包括过滤特殊字符、将HTML标签转义为它们的HTML实体等。此外,推荐使用先进的Web应用程序防火墙(WAF)和安全性别扫描程序来保护您的Web应用程序免受此类攻击。

由中级的脚本可见,该程序只把

输入低水平攻击,显示了alert(“XSS”)

但是可以使用大小写绕过,大小写绕过,就是将“”

双写绕过,就是利用“

在DVWA平台的中级反射型XSS渗透测试页面的文本框中输入“<scr”,将页面Cookie显示在弹窗中

高水平

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

?>

高级反射型XSS渗透测试源代码不再是简单地将“

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值