个人学习笔记之Pikachu漏洞练习平台(Cross-Site Scripting模块)
个人学习笔记之Pikachu漏洞练习平台(xss模块)
环境:
1:在线环境http://www.wufumao.com
2:本地搭建 在集成环境phpStudy下,将源码放在WWW文件夹中,打开浏览器url中输入:http://127.0.0.1/pikachu-master/即可。
主要工具:Mantra
xss简介
Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
1.反射性XSS;
2.存储型XSS;
3.DOM型XSS;
XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成原因
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
反射型xss(get传参)
点击模块进入练习。只有一句Which NBA player do you like?和一个搜索框。随便输入,可以发现没有任何过滤,只不过是限制了输入字符的长度。
这里改一下限制长度。尝试xss利用。
<script>alert(’1‘)</script>
反射型xss(post传参)
点击进入显示界面
点击提示显示让用admin/123456登陆。
<script>alert(document.cookie)</script>
存储型xss
尝试插入语句,发现没有任何过滤
DOM型xss
进入domxss查看源码
οnclick=“domxss()” 点击按钮,调用domxss()函数,会出现what do you see?
读取用户键入的值,拼接到"what do you see?"。
' onclick="alert('xss')">
盲打xss
登陆后台会弹框。
xss过滤
发现会把<script过滤,换个语句试一下。
xss之htmlspecialchars
htmlspecialchars()函数把预定义的字符转换为HTML实体。
输入语句测试,发现输入被拼接到中。
我们构造闭payload
xss之href输出
输入语句测试发现全都被过滤转义了。输入的被拼接到<a href=’’输入’‘> 属性。我们构造payload
Javascript:alert(document.cookie)
查看源码:
xss之js输出
键入test测试
被输出到脚本中。我们可以跳出单引号,构造payload。
键入’;alert(document.cookie)//
XSS漏洞的防范
一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义.
- 个人学习笔记----基于Spring4.3.1+mybatis+postgresql+maven搭建的个人用调度平台(二)
- JavaScript学习笔记-跨站脚本(Cross-site scripting,CSS,XSS)漏洞
- spring io 平台 模块个人学习笔记
- 个人学习笔记----基于Spring4.3.1+mybatis+postgresql+maven搭建的个人用调度平台(一)
- Python:个人学习和练习笔记
- 个人学习笔记----基于Spring4.3.1+mybatis+postgresql+maven搭建的个人用调度平台(三)
- 个人学习笔记----基于Spring4.3.1+mybatis+postgresql+maven搭建的个人用调度平台(四)
- PHP学习笔记--几种主流的Web应用程序平台;LAMP网站开发组合及发展走势;
- GreenSock动画平台学习笔记(三)TimelineLite
- android个人学习笔记:Unable to open sync connection!异常处理
- 个人安卓学习笔记---Android布局大总结(一)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(三) - java基础 - 环境和工具
- 【安全牛学习笔记】手动漏洞挖掘(四)
- 11月7号笔记 代码练习以及学习心得
- 漏洞及渗透练习平台
- 【安全牛学习笔记】答疑(Conky、Goagent、Linux4.4内核发布),手动漏洞挖掘
- 个人学习笔记1
- 个人安卓学习笔记---分别利用SAX、DOM和Pull实现对XML文件的解析并进行单元测试
- linux学习笔记16-linux基础练习三