pikachu靶场XSS漏洞通关

 第一关:反射型xss(get)

1.漏洞原理

        反射型是将攻击者的恶意代码发送到服务器端后又原样返回,是一次性的攻击方式。在用户点击被攻击者插入恶意代码的网页链接后,恶意代码在被攻击者的网页中被执行。

2.攻击过程

尝试插入payload,发现是有长度限制,不能把这句完整插入

  • 在网页源代码中修改长度为1000后再插入以下代码

<script>alert(1)</script>

出现弹窗说明存在反射型xss漏洞

  • 也可以直接在网页输入框中插入

 第二关:反射型xss(post)

1.通过提示给的账号和密码成功登录后发现有输入框

2.登录后尝试用payload注入爆出cookie

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

3.在不退出登录的情况下利用cookie实现同时登录

第三关:存储型xss

1.漏洞原理

        存储型是将攻击者在留言板等输入框中输入的恶意代码直接存入数据库中,由于数据库不识别js代码,一旦有用户打开存有恶意代码的网页界面,那么恶意代码就会被从数据库中读出,是一类危害最大的xss攻击。

2.攻击过程

* 清理留言板缓存:

mysql -u root -p

show databases;   

use pikachu; #进入自己设置的数据库

show tables;

delete from message;

在输入框中插入payload

点击submit后发现留言列表里什么也没出现,但是在网页源代码中可以找到,

同时可以在xss安全平台查看被攻击者的信息

 第四关:DOM型xss

1.漏洞原理

        dom型又称self-xss,攻击者利用dom节点的结构在网页中插入一段恶意代码,这段代码被简单处理或未处理后又在网页中的一个位置显示出来,攻击过程中所有恶意代码均在前端执行。

2.攻击过程

  • 输入代码没什么反应,因为dom型均在前端

  • 查看网页源代码可知,用户输入的字符串会被存进str进行拼接

  • 插入payload后出现弹窗,说明成功攻击

'><img src="#" οnmοuseοver="alert('xss')">

第五关:DOM型xss-x

1.知道是dom型直接看网页源代码

2.分析代码与上一关相同,都是将字符串拼接

第六关:xss之盲打

1.出现了两个输入框,并不知道哪个地方存在漏洞,都插入js攻击代码试试

  现在并不知道内容提交给谁了,点一下提示发现提交到后台了

2.根据提示的账号和密码登录管理员后台(以下步骤同存储型)

3.在xss安全平台查看被攻击者的信息

4.根据获取到的cookie以管理员的身份同时登录

 第七关:xss之过滤

1.插入payload试试

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

   根据返回的结果可以判断是对一些内容进行了过滤处理,url处有回显说明是反射型

2.查看网页源代码(一无所获)

3.尝试猜猜对哪里进行过滤

  • 大小写变形      

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

  • 标签绕过

<a herf="#" οnclick="alert(document.cookie)">

第八关:xss之htmlspecialchars

1.直接插入payload,看看是什么类型

2.发现出现记录,说明是存储型

3.查看源码,发现被<a>标签编码了

4.构造payload绕过<a>标签,出现弹窗说明攻击成功

#' οnmοuseοver='alert(document.cookie)'>

第九关:xss之href输出

1.直接输入payload,没有什么反应

2.查看源代码,发现被<a>编码了无法通过闭合来绕过

3.利用href函数的属性通过js协议来构造payload

javascript:alert(document.cookie)

第十关:xss之js输出

1.先插入payload试试,结果一点反应没有

2.再看源码,发现js代码被插入到<script>标签中

3.构造payload可以使用单引号和<script>闭合掉前面的,出现弹窗,攻击成功。

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

以上所有全部通关。

  • 32
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值