初次使用Pikachu漏洞平台进行测试实验
初次使用Pikachu漏洞平台进行测试实验
初次实验具体操作
第一部分:XSS漏洞
1、pikachu平台上的反射型XSS漏洞(get)
1、pikachu平台上的反射型XSS漏洞(get).
首先测试是否存在漏洞,在输入框里,随便输入一组特殊字符 “<>6666”
查看网页源码后,在右上角搜索框里 搜索6666
可以发现刚刚输入的字符插入到标签<p>
中
看起来是没做任何xss过滤和转义的处理
我们尝试在输入框中输入一段script的代码:
<script>alert('xss')</script>
果然不出意料,发现弹出了一个警告框
2、反射型XSS漏洞(post)
2、反射型XSS漏洞(post)
Login默认 账号、密码是admin 123456
与刚刚一样,在框里写一些特殊字符,发现它被插入<p>
标签中
我们输入script的代码:<script>alert('xss')</script>
发现又弹出了与刚刚一样的警告框
3、存储型xss
3、存储型xss
首先测试是否存在,xss漏洞(输入特殊字符 '"<>?&666)
查看网页源码,看起来是没做任何xss过滤和转义的处理
输入一个简单的弹窗<script>alter('你看到我啦么')</script)
存储型xss和反射型的区别:就是当你刷新这个界面,还是会出现这个弹窗
4、dom型xss
4、dom型xss
随便输入文本后,显示what do you see? 搜索what得到该段代码:
从源代码中我们可以看到,getElementByld将获取到的前端dom的值插入到<a href=‘ “+str+”>‘>what do you see?中,我们按照源码中给出的提示了,直接闭合掉就行了:
a‘ οnclick=“alert(‘xss‘)”> 试一下:将 #’ οnclick=“alert(111)”> 输入到输入框里
5、xss之盲打
5、xss之盲打
我们随便输入几个字符,发现我们的输入不会在前端输出,只会在后台输出,只有管理员能看到我们的内容。
我们按照之前的思路输入一下payload,当然前端也没有输出
点击右上角的提示:登录后台,看会发生啥?后台登录地址是 /xssblind/admin_login.php
我们就去登录后台看看
登录进去后发现刚才的payload果然被插入进去了
6、xss之过滤
6、xss之过滤
输入<script>alert(1)</script>
后,并没有弹窗
查看网页源码
可以看到我们写的那句话都不显示,证明我们输入的js被过滤掉了,猜想可能过滤了小写字母,那试试大写字母:<SCrIPT>alert('xss');</ScRiPt>
7、xss之htmlspecialchars
7、xss之htmlspecialchars
还是一样先输入<>666 康康有啥情况
查看源码
发现只有单引号没被转义,那我们就构造一个特殊字符只有单引号的句子输入 ’ οnclick=‘alert(111)’ ,回车之后需要点击蓝色的记录,成功出来弹框
现在介绍下函数htmlspecialchars()是PHP里面把预定义的字符转换为
HTML实体的函数
预定义的字符是
& 成为 &
" 成为 "
’ 成为 '
< 成为 <
成为 >
8、XSS之herf输出
8、XSS之herf输出
试着输入京东网址: www.jd.com
试着让它出现弹窗,尝试了各种语句,发现之前常用的语句都不行
猜想输入的语句都被转义了
查看源码
输出:在a标签的href属性里面,可以使用javascript协议来执行js
防御:只允许http,https,其次在进行htmlspecialchars处理
设置payload: javascript:alert(666) 成功弹框了
从上可知:在a标签的href属性里面,可以使用javascript协议来执行js
9、xss之js输出
9、xss之js输出
提示中讲到:输入动态的生成到了js中,形成xss
查看网页源代码 发现是把对应的输入放在了js里面,进行判断,在进行相应的输出
它会把我们的输入放到js中,然后对这个变量进行判断,然后再输出
javascript里面是不会对tag和字符实体进行解释的,所以需要进行js转义
构造闭合,把原本的<script>
闭合掉,再插入我们自己的<script>
输入:</script><script>alert("xss")</script>
弹框
通过这个实验,我们知道输出点在js中的xss问题,应该怎么进行修复:
这里如果进行html的实体编码,虽然可以解决XSS的问题,但是实体编码后的内容,在JS里面不会进行翻译,这样会导致前端的功能无法使用。
所以在JS的输出点应该使用 \ 对特殊字符进行转义
第二部分:CSRF(跨站请求伪造)—Cross-site request forgery
1、CSRF(get)
1、CSRF(get)
根据右上角的tip,任选一进行登录
aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BvcHRhcg==,size_16,color_FFFFFF,t_70)
修改数据:
输入修改的信息之后, submit, 就可以看到数据包:
当攻击者知道了修改信息的URL之后, 就可以构造出CSRF攻击的URL:
http://localhost/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=hack&phonenum=hack&add=hack&email=hack&submit=submit
然后诱使登录状态的用户点击该URL就可以完成CSRF攻击:
2、CSRF(Post)
2、CSRF(Post)
如果修改信息的请求方式是POST型的, 攻击者则不能通过构造恶意
URL来攻击
类似于 XSS的Post型 攻击一样, 攻击者会构造一个自己的攻击站点(服务器), 站点上有一个post.html, 诱使用户点击该地址
当用户点击时,就会自动向存在CSRF的服务器提交POST请求修改个人信息, 从而完成攻击。
可以编写一个post.html:
(代码来自 https://www.cnblogs.com/dogecheng/p/11583412.html )
诱使用户(登录状态)点击, 就会自动往服务器发送POST请求,修改地址信息, 即可完成CSRF攻击:
3、CSRF Token
3、CSRF Token
在增加了Token来反CSRF的机制中, 用户每次访问改密页面时,服务器会返回一个随机的token (需要够随机,不容易被伪造),向服务器发起请求时,需要提交token参数,而服务器在收到请求时,会优先检查token,只有token正确,才会处理客户端的请求。
分析
这里可以看到, 虽然是Get方式请求, 但是有一个随机的Token验证:
即使用户点击了CSRF攻击的链接, 请求因Token不合法而遭到拒绝:
初次使用Pikachu漏洞平台进行测试实验相关推荐
- 基于pikachu漏洞平台的 --SQL注入攻击学习与总结
SQL注入攻击 基础知识 常见注释符号 使用示例 pikachu 漏洞联系平台 -- SQL注入 SQL注入攻击流程 注入点类型 数字型注入(POST) 字符型注入(GET) 搜索型注入 XX型注入 ...
- pikachu漏洞平台通关系列导览(所有关卡已完结)
~~pikachu通关系列完结撒花啦~~ pikachu总体来说不难,没啥需要绕过的,比较直白,但胜在分类比较细,关卡比较多,入门练手还挺好玩的.(其实我觉得后台代码比较简单明了也是个优点(╹ڡ╹ ) ...
- Pikachu漏洞平台练习
简介 Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞. 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么Pikachu可能正合你意. 文章目录 简 ...
- Pikachu漏洞平台练习——PHP序列化与反序列化、PHP反序列化漏洞
1.序列化serialize()与反序列化unserialize() 序列化:把一个对象变成可以传输的字符串. 反序列化:把被序列化的字符串还原为对象,然后在接下来的代码中继续使用. 举例说明如下: ...
- pikachu漏洞平台靶场练习 总结 wp
每日学习 每日持续更新ing~ 之前一直都是在CTF刷题,感觉平常还是要打打靶场,学习一下实战环境啊~ 结合靶场视频:https://www.bilibili.com/video/BV1Y7411f7 ...
- pikachu RCE(remote command/code execute)(远程命令执行/远程代码执行)(皮卡丘漏洞平台通关系列)
目录 一.官方介绍 二.诚意推荐 三.悠闲通关 第1关 exec "ping" 第2关 exec "eval" 一.官方介绍 本节引用内容来源pikachu漏洞 ...
- pikachu File Inclusion 文件包含漏洞 (皮卡丘漏洞平台通关系列)
目录 一.来自官方的简介 二.来自小可爱的通关步骤 第一关 File Inclusion(local) 1.读取"隐藏"文件 2.读取系统文件 3.结合文件上传getshell ...
- pikachu漏洞搭建平台
pikachu漏洞搭建平台 想要体验更好阅读并且下载下面需要的软件,请点击链接: xuwenjie. 根据需求自行下载 安装VMware以及win7系统以及win server 2003靶机 1,VM ...
- 渗透测试漏洞平台DVWA-参考答案
0x00 前言 DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入. ...
最新文章
- phpsql拼接_SQL存储过程中SQL语句拼接
- 机房管理系统——vb与excel链接2
- 巨头的转身 ARM阵营开始烧英特尔的后院
- android通过数组,流播放声音的方法,音频实时传输
- Python爬虫教程(四)
- 机器学习实战-第12章Fpgrowth代码勘误+递归打印效果分析
- 【bzoj4444】[Scoi2015]国旗计划 倍增
- php与mysql网页实例,php与mysql 实例
- 残疾人软件开发_组织如何使残疾人更具包容性
- iOS开发之tintColor属性详解
- C#调用exe工作目录
- 计算机公开课打字游戏,H5公开课:古堡密卷--打字通关游戏设计及开发
- 【Unity Native Plugins】1.调用动态库so-android篇 附录完整工程
- js设计模式-状态模式-示例(高压锅状态)
- 团队协作神器,告别信息孤岛
- 01-CSS属性:字体属性和文本属性
- Android 第二春 无缝Harmony 开发
- MDIEMDIE双心封装版0.3.0.0RC6V2
- 【材料】 塑料件 ABS 和 PC 的区别
- 计算机期刊论文初稿怎么写,论文初稿可以只写大概内容吗 写初稿应注意些什么问题...