XSS攻击实战

一、XSS原理与分类

原理

        XSS攻击全程跨站脚本攻击。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

        与SQL注入类似,XSS也是利用提交恶意信息来实现攻击,但是XSS一般提交的是JavaScript脚本,运行在Web端,就是用户的浏览器。SQL注入提交的SQL命令在后台的数据库服务器执行。

XSS分类

  • 反射型XSS:危害较低,只要当用户访问了包含了恶意脚本的URL,才会被触发;反射性的攻击不会写入网站的数据库,是一次性的攻击。
  • 存储型XSS:该类 XSS 会把攻击代码保存到数据库,当用户访问显示该数据内容的页面,就会被攻击。
  • 基于DOM的XSS:通过修改页面的 DOM 节点形成 XSS,DOM型攻击既可能是反射型,也可能是存储型。

二、攻击实战

    1.反射型XSS(low级别)

     第一步、登录DVWA,选择XSS反射性攻击,选择攻击级别低。

     

 第二步、进行脚本注入攻击

在输入框中输入:

<script>alert(document.cookie)</script>

执行该脚本,会输出用户的cookie,就是会输出用户的密码,我们就可以进行登录账户

说明在Low级别的攻击中,该账户没有进行任何防御

2.反射型XSS(medium级别)

第一步、修改攻击级别为medium

 第二步、进行脚本注入攻击

在输入框中输入:

<script>alert(document.cookie)</script>

我们发现在输入框下放进行了输出,说明在medium级别中,对敏感的JS脚本进行了过滤或者转义

分析源代码,我们发现代码$name = str_replace( '<script>', '',$_GET[ 'name’] ) ,使用str_replace函数把提交内容中的<script>替换了空值

在PHP中,我们学习过格式严格区分大小写,而该函数只匹配小写的script,并没有匹配大写字母,我们尝试将script替换成大写,<SCRIPT>alert(document.cookie)</SCRIPT>,在执行这条脚本,我们成功拿到用户的cookie值

 3.XSS存储型(low级别)

第一步、选择XSS存储攻击,设置攻击级别为低(low),此页面是一个留言板,随意输入内容,可以直接显示在当前页面。 

第二步、进行脚本注入攻击

在输入框中,我们先随意输入,然后执行该脚本攻击

<script>alert(document.cookie)</script>

输入脚本攻击语句之后,我们成功拿到cookie值,说明在低级别中,没有进行任何防护。

 4.XSS存储型(medium级别)

  第一步、进入靶场,修改攻击级别

第二步、进行脚本攻击 

在输入框进行测试,测试在低级别的脚本攻击

<script>alert(document.cookie)</script>

查看源代码,进行分析 ,我们发现在源代码中使用了htmlspecialchars函数。在xss输入框进行脚本攻击已经不可以实现。

 我们发现在name提示框中只是进行简单的小写替换,我们可以尝试替换成大写的,在此进行脚本攻击。

<SCRIPT>alert(document.cookie)</SCRIPT>

但是在name框中进行了字符限制,在这里只进行了前端页面的设置,我们通过开启代理进行绕过,在kali环境中,我们可以使用burpsuite进行绕过。 

5.DOMXSS(low级别)

第一步、进行选择DOMxss靶场,选择攻击级别低

 第二步、进行脚本攻击

 在页面进行右键选择,查看源代码,发现选择框的内容使用了document.write的方式是输出,说明XSS为DOM类型。

我们可以尝试直接在URL进行脚本攻击

 <script>alert(document.cookie)</script>

XSS的DOM的跨站脚本攻击(medium),可以参考以上的方式进行爆破。

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

以我之名,换我未来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值