XSS漏洞:pikachu靶场中的XSS通关

8 篇文章 0 订阅

目录

1、反射型XSS(get)

2、反射性XSS(POST)

3、存储型XSS

4、DOM型XSS

5、DOM型XSS-X

6、XSS之盲打

7、XSS之过滤

8、XSS之htmlspecialchars

9、XSS之href输出

10、XSS之js输出


最近在学习XSS漏洞,这里使用pikachu靶场中的SQL注入来复习+练习一下XSS漏洞

进入漏洞环境中可以看到有好几种类型,我们先点击到概述:

可以看到是这样介绍XSS漏洞的:

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
    1.反射性XSS;
    2.存储型XSS;
    3.DOM型XSS;
XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
  输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
  输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

1、反射型XSS(get)

首先就是反射性的XSS,这个简单易懂,就是直接插入一个反弹代码,如果成功反弹了就是存在反射性XSS漏洞,可以看到这里的页面如下所示:

那么就可以尝试在输入框中输入一个<script>alert(1)</script>来验证一下

但是尝试发现输入框的长度有限制,我们需要将限制长度修改一下:

尝试后发现,修改完长度后,输入<script>alert(1)</script>后点击submit后成功弹窗了

2、反射性XSS(POST)

来到这一关,可以看到时一个登录框,是POST提交的方式

可以使用简单的暴力破解就可以知道账号密码时admin 123456 ,登录成功后的页面:

然后尝试进行弹窗:

可以看到成功的弹窗了

既然可以弹窗那么就可以尝试使用在线xss来获取更多信息:

XSS在线平台新建项目,生成xss代码:

将url放在弹窗处:

再去看xss在线平台就可以看到成功的获取到了信息:

3、存储型XSS

来到存储型xss模块中可以看到如下页面:

可以看到是一个留言板,那么尝试输入script代码:

可以看到弹窗了,后面再次刷新页面就会发现又弹窗了,这说明我们输入的内容插入到网站的后台数据库中了,如果在这里插入在线网站的获取cookie的js代码,那么后面所有查看该留言的所有用户的信息都会被我们获取到

4、DOM型XSS

来到这一关,可以看到如下页面:

可以看到是一个输入框,然后可以点击click me!

那么尝试输入一个弹窗代码试试看:

可以看到输入后,并没有弹窗,而是输出了一个链接,那么我就想起来之前学习过的使用a超链接来进行弹窗的方法,尝试一下:

对前面的gref标签进行闭合后,我们可以输入一个事件弹窗代码,然后将鼠标移动到图片上后就成功大弹窗了,也可以使用点击事件进行弹窗:

5、DOM型XSS-X

来到这一关,可以看到如下页面:

可以看到是一个输入框,后面写着“请说出你的伤心事”,有趣

尝试进行闭合弹窗:

点击链接可以看到跳转到下一个页面,成功弹窗了:

6、XSS之盲打

可以看到是一个意见提交页面,我们输入弹窗代码,然后看提示会发现后台地址,因此我们提交完评论后尝试访问后台登录地址:

可以看到输入后台登录账号密码后,直接进行了弹窗,这时如果登录的是管理员,我们就成功的可与拿到管理员的信息

7、XSS之过滤

来到这一关,尝试弹窗,可以看到好像输入的标签被过滤了,因此我们需要绕过后再进行弹窗,

通过不断地测试会发现使用大小写、事件弹窗都可以绕过限制成功弹窗:

接下来我们尝试大小写混合的方式来进行注入,成功弹窗。

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

<img src=x onerror="alert(111)"/> 

8、XSS之htmlspecialchars

首先先来了解一下htmlspecialchars是什么:

htmlspecialchars是一种用于转义HTML特殊字符的函数,可以将一些特殊字符转换为HTML实体,防止恶意用户输入恶意代码导致安全漏洞。htmlspecialchars函数可以将特殊字符如<、>、&、"等转换为对应的HTML实体,从而确保在网页中显示这些字符时不会被解释为HTML代码。htmlspecialchars函数在PHP中常用于对用户输入的数据进行处理,以防止跨站脚本攻击(XSS)等安全问题。

那么说明这一关是有很严格的过滤的,因此还是需要绕过限制才能进行弹窗:

可以看到使用'闭合后,加上点击事件是可以成功弹窗的

9、XSS之href输出

href输出在a标签的herf属性里面,可以使用javascript协议来执行js 防御的时候只允许http或者https

因此我们可以利用js为协议来进行弹窗:

10、XSS之js输出

这一关通过不断尝试发现提前闭合<script>标签可以进行弹窗:

到此,pikachu靶场中的XSS相关的关卡就学习完毕了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

未知百分百

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

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

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

打赏作者

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

抵扣说明:

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

余额充值