ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Pikachu-XSS

2019-11-15 16:02:17  阅读:172  来源: 互联网

标签:XSS 输出 Pikachu 漏洞 前端 代码 输入


XSS(跨站脚本)概述
Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
    1.反射性XSS;
    2.存储型XSS;
    3.DOM型XSS;

XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
  输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
  输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

攻击流程

    假设存在漏洞的是一个论坛,攻击者将恶意的JS代码通过XSS漏洞插入到论文的某一页面中

    当用户访问这个页面时,都会执行这个恶意的JS代码,这个代码就会在用户的浏览器端执行

XSS攻击类型

危害:存储型 > 反射型 > DOM型

  • 反射型:交互的数据一般不会被存在数据库里面,一次性,所见即所得,一般出现在查询页面等
  • 存储型:交互的数据会被存在数据库里面,永久性存储,一般出现在留言板,注册等页面
  • DOM型:不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题,一次性,也属于反射型

XSS形成原因

    形成XSS漏洞的主要原因是程序中输入和输出的控制不够严格

    导致“精心构造”的脚本输入后,在输出到前端时被浏览器当作有效代码解析执行

XSS漏洞测试流程

    ① 在目标上找输入点,比如查询接口、留言板

    ② 输入一组 “特殊字符(>,',"等)+唯一识别字符” ,点击提交后,查看返回源码,看后端返回的数据是否有处理

    ③ 通过搜索定位到唯一字符,结合唯一字符前后语法确定是否可以构造执行js的条件(构造闭合)

    ④ 提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在XSS漏洞

 

反射型XSS(get)

 

 

 先输入'"kingjerry 发现并没有理我~

看一下网页源代码:

 

 

 

 

害呀,科比就科比吧……

 

 …………

行吧KobeNB

试试XSS注入吧 简单的JS代码呈上:<script>alert("xss")</script>

长度被限制在了20,改一下再试试~

 

 

 

成功

 

 

 

 

标签:XSS,输出,Pikachu,漏洞,前端,代码,输入
来源: https://www.cnblogs.com/p201721420021/p/11867274.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有