初次使用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实体的函数
预定义的字符是
& 成为 &amp
" 成为 &quot
’ 成为 &#039
< 成为 &lt
成为 &gt

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漏洞平台进行测试实验相关推荐

  1. 基于pikachu漏洞平台的 --SQL注入攻击学习与总结

    SQL注入攻击 基础知识 常见注释符号 使用示例 pikachu 漏洞联系平台 -- SQL注入 SQL注入攻击流程 注入点类型 数字型注入(POST) 字符型注入(GET) 搜索型注入 XX型注入 ...

  2. pikachu漏洞平台通关系列导览(所有关卡已完结)

    ~~pikachu通关系列完结撒花啦~~ pikachu总体来说不难,没啥需要绕过的,比较直白,但胜在分类比较细,关卡比较多,入门练手还挺好玩的.(其实我觉得后台代码比较简单明了也是个优点(╹ڡ╹ ) ...

  3. Pikachu漏洞平台练习

    简介 Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞. 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么Pikachu可能正合你意. 文章目录 简 ...

  4. Pikachu漏洞平台练习——PHP序列化与反序列化、PHP反序列化漏洞

    1.序列化serialize()与反序列化unserialize()  序列化:把一个对象变成可以传输的字符串. 反序列化:把被序列化的字符串还原为对象,然后在接下来的代码中继续使用. 举例说明如下: ...

  5. pikachu漏洞平台靶场练习 总结 wp

    每日学习 每日持续更新ing~ 之前一直都是在CTF刷题,感觉平常还是要打打靶场,学习一下实战环境啊~ 结合靶场视频:https://www.bilibili.com/video/BV1Y7411f7 ...

  6. pikachu RCE(remote command/code execute)(远程命令执行/远程代码执行)(皮卡丘漏洞平台通关系列)

    目录 一.官方介绍 二.诚意推荐 三.悠闲通关 第1关 exec "ping" 第2关 exec "eval" 一.官方介绍 本节引用内容来源pikachu漏洞 ...

  7. pikachu File Inclusion 文件包含漏洞 (皮卡丘漏洞平台通关系列)

    目录 一.来自官方的简介 二.来自小可爱的通关步骤 第一关  File Inclusion(local) 1.读取"隐藏"文件 2.读取系统文件 3.结合文件上传getshell ...

  8. pikachu漏洞搭建平台

    pikachu漏洞搭建平台 想要体验更好阅读并且下载下面需要的软件,请点击链接: xuwenjie. 根据需求自行下载 安装VMware以及win7系统以及win server 2003靶机 1,VM ...

  9. 渗透测试漏洞平台DVWA-参考答案

    0x00 前言 DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入. ...

最新文章

  1. phpsql拼接_SQL存储过程中SQL语句拼接
  2. 机房管理系统——vb与excel链接2
  3. 巨头的转身 ARM阵营开始烧英特尔的后院
  4. android通过数组,流播放声音的方法,音频实时传输
  5. Python爬虫教程(四)
  6. 机器学习实战-第12章Fpgrowth代码勘误+递归打印效果分析
  7. 【bzoj4444】[Scoi2015]国旗计划 倍增
  8. php与mysql网页实例,php与mysql 实例
  9. 残疾人软件开发_组织如何使残疾人更具包容性
  10. iOS开发之tintColor属性详解
  11. C#调用exe工作目录
  12. 计算机公开课打字游戏,H5公开课:古堡密卷--打字通关游戏设计及开发
  13. 【Unity Native Plugins】1.调用动态库so-android篇 附录完整工程
  14. js设计模式-状态模式-示例(高压锅状态)
  15. 团队协作神器,告别信息孤岛
  16. 01-CSS属性:字体属性和文本属性
  17. Android 第二春 无缝Harmony 开发
  18. MDIEMDIE双心封装版0.3.0.0RC6V2
  19. 【材料】 塑料件 ABS 和 PC 的区别
  20. 计算机期刊论文初稿怎么写,论文初稿可以只写大概内容吗 写初稿应注意些什么问题...

热门文章

  1. 测试开发之前端——No8.HTML5中的媒介事件
  2. 智能家居(Domoticz)怎么能少了天气预报
  3. jadx动态调试安卓apk
  4. 服务器硬件规格常用查看命令——CPU相关命令
  5. jupyterlab使用配置
  6. WP博客几款好看的图片类模板分享
  7. python 自动输入文字_pyautogui和pyperclip实现自动输入中文
  8. 谷歌浏览器网页打不开怎么办
  9. jqueryCutDown.js结合moment.js倒计时整理,直接copy可用,别忘了引入jquery
  10. 2021年过了大半了,脑机接口取得哪些进展?