xss--跨站脚本攻击

一、定义

攻击者在网页中嵌入恶意脚本代码(javascript),当用户使用浏览器浏览网页时,脚本就会在用户的浏览器上执行,从而达到攻击者目的。

二、原理

本质:可控变量,显示输出变量。代码在对数据进行显示出现的安全问题。——js代码
产生层面:前端。
函数类:输出型函数。
危害影响:受js代码影响。
浏览器内核版本:受对方浏览器版本限制,可能带有过滤。

三、危害

(1)窃取管理员帐号或cookie。入侵者可以冒充管理员的身份登录后台。使得入侵者具有恶意操纵后台数据的能力,包括读取、更改、添加、删除一些信息。
(2)网站挂马。先将恶意攻击代码嵌入到Web应用程序之中。当用户浏览该挂马页面时,用户的计算机会被植入木马。
(3)发送广告或者垃圾信息。攻击者可以利用XSS漏洞植入广告,或者发送垃圾信息,严重影响到用户的正常使用。
(4)重定向

四、分类

1.反射型XSS

非持久化,一般需要用户手动点进去攻击者伪造好的链接才能触发代码

2.存储型XSS

持久性,攻击者的XSS语句存储在服务数据库,当有受害者访问这个网页都会触发代码,一般在留言板,评论区页面经常出现。

3.DOM型XSS

DOM型xss与上面两种最大的区别就是,dom型xss漏洞是基于文档对象模型(Document Object Model,DOM)的,它不需要经过后端,它是在浏览器解析渲染服务器源码的时候产生的,所以我们在抓包的过程中是看不到dom型xss有关的内容的。

五、靶场练习

pikachu靶场

1. 反射型XSS(get)

在没有过滤的情况下在提交参数中插入XSS语句,页面会出现一个弹窗,并且再次访问该页面时网站不会出现弹窗。
输入语句:

<script>alert(‘xss’)</script>

输入的语句本来是显示在页面上的,其为js代码,浏览器将其执行,弹窗回显"xss":
在这里插入图片描述

2. 反射型xss(post)

登录:用户admin 密码123456
在这里插入图片描述成功登录:
在这里插入图片描述之后的操作和反射型xss(get)一致

3. 存储型XSS

代码会存储在数据库中,访问该网页会一直触发XSS代码。
输入语句:

<script>alert(‘xss’)</script>

在这里插入图片描述 点击提交,出现弹窗"xss":在这里插入图片描述点击确定:
在这里插入图片描述之后一直点击submit(访问该网页),就会一直回显xss弹窗(一直执行输入的代码)

4. DOM型XSS

可以看到我们输入的参数使用burp抓包没有抓到,说明DOM型XSS,只在前端产生。
输入语句:

<script>alert(‘xss’)</script>

在这里插入图片描述在这里插入图片描述并没有回显,查看:
在这里插入图片描述输入的语句被当作超链接了
查看页面源代码:
在这里插入图片描述
输入语句:'onclick=“alert('xss')”>,出现弹窗:
在这里插入图片描述onclick 事件会在对象被点击时发生,然后弹出我们的xss
注:遇到输入语句会被当作超链接的,即需要点击才可以回显,那么就要引入onclick事件(用法:οnclick=“”)

5. DOM型xss-x

同样输入<script>alert(‘xss’)</script>
在这里插入图片描述查看:
在这里插入图片描述发现输入语句还是被当作超链接。
输入

'οnclick="alert('xss')">

在这里插入图片描述点击链接,出现弹窗:
在这里插入图片描述

6.xss之盲打

XSS盲打简单来说,就是不知道后台有没有xss漏洞存在的情况下,不顾一切的输入xss代码在留言,反馈之类的地方,就叫盲打
首先还是老办法,输入常用语句:

<script>alert(‘xss’)</script>

在这里插入图片描述提交:
在这里插入图片描述并没有回显
估计是上传到后台去了,看看小贴士
在这里插入图片描述在这里插入图片描述输入用户密码(admin 123456)登录后台:
在这里插入图片描述回显了!

7.xss之过滤

输入常用语句,发现语句并没有被执行,被过滤掉了。
试一下大小写绕过的方法:输入

<sCriPt>alert('xss')</ScrIpt>

在这里插入图片描述回显了!

8.xss之htmlspecialchars

htmlspecialchars会过滤一些字符 在这里插入图片描述首先老方法:
在这里插入图片描述没回显,而且查看代码发现<和>都被过滤了,而且又是被当作超链接。(其实在这之前可以先输入常用的特殊字符,查看代码看是否被过滤。)
在这里插入图片描述可以看出这里是对单引号不转义
在这里插入图片描述
从php代码可以看到默认不对单引号做处理,也写着输入’onclick=’alert(111)’试试
所以还是用之前的onclick事件:
在这里插入图片描述回显了!

9. xss之href输出

老样子输入还是被当作超链接
在这里插入图片描述用onclick事件:
在这里插入图片描述还是不行
在这里插入图片描述从代码提示可以使用javascript协议来执行js
输入javascript:alert(‘xss’),可以看到没有任何过滤,成功弹窗
在这里插入图片描述

10. xss之js输出

在这里插入图片描述可以看出将我们输入的字符存到了js代码里面然后进行判断,写一个闭合

'</script><script>alert(/xss/)</script>

在这里插入图片描述回显了!

六、xss平台的使用

注册登录,创建项目test,并配置:
在这里插入图片描述会出现:
在这里插入图片描述将代码写入到pikachu靶场的xss漏洞部分,出现弹窗:
在这里插入图片描述平台获取到cookie信息:
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值