Pikachu靶场实战

文章目录

    • 一、靶场介绍
    • 二、靶场配置
    • 三、靶场实战
      • 3.1 暴力破解
      • 3.2 XSS(跨站脚本攻击)
      • 3.3 CSRF(跨站请求伪造)
        • 3.3.1 CSRF(GET型)
        • 3.3.2 CSRF(POST型)
        • 3.3.3 CSRF(Token防御)
      • 3.4 SQL注入
      • 3.5 RCE(代码执行/命令执行)
      • 3.6 文件包含
      • 3.7 文件下载
      • 3.8 文件上传
      • 3.9 越权漏洞
      • 3.10 目录遍历
      • 3.11 敏感信息泄露
      • 3.12 PHP反序列化漏洞
      • 3.13 XXE(XML外部实体攻击)
      • 3.14 URL重定向
      • 3.15 SSRF(服务器端请求伪造)
        • 3.15.1 读取本地/远程文件

一、靶场介绍

GitHub:https://github.com/zhuifengshaonianhanlu/pikachu
(漏洞列表:)
Pikachu靶场实战_第1张图片

二、靶场配置

》》搭建好PHPStudy(如有问题请参阅:https://blog.csdn.net/Aaron_Miller/article/details/105735808)
》》github地址下载源码
Pikachu靶场实战_第2张图片
》》将下载的源码文件放入到网站目录下:
Pikachu靶场实战_第3张图片
》》修改配置文件
(mysql数据库的用户名和密码一致)
Pikachu靶场实战_第4张图片
》》浏览器访问安装初始化页面
Pikachu靶场实战_第5张图片
》》进入首页即完成安装配置
Pikachu靶场实战_第6张图片

三、靶场实战

3.1 暴力破解

3.2 XSS(跨站脚本攻击)

3.3 CSRF(跨站请求伪造)

3.3.1 CSRF(GET型)

场景:Hacker监听到一小白(受害者)正在修改个人信息,且提交信息的站点未对当前敏感操作进行安全校验(利用CSRF漏洞,使得受害者点击攻击者的链接后就自动修改了自己的信息!)

  • 用户操作(受害者)
    》》用户正常登录系统(用户名密码可以通过提示获得)
    Pikachu靶场实战_第7张图片
    》》点击修改个人信息Pikachu靶场实战_第8张图片
    》》住址chain修改成china,小白确认无误后点击提交:
    Pikachu靶场实战_第9张图片
    》》修改信息成功
    Pikachu靶场实战_第10张图片

  • 攻击者操作
    》》攻击者通过一些手段监听到小白正在修改个人信息(ARP欺骗劫持、中间人监听、流量嗅探……具体的攻击利用方式后边的文章中会讲到,这里为了学习就通过MITM抓包查看)
    (点击提交后发生跳转通过get方式传参)
    Pikachu靶场实战_第11张图片
    (请求包中无token认证机制)
    Pikachu靶场实战_第12张图片
    攻击者灵机一动便想恶搞一下小白(给小白发送一个get请求传参链接,链接中将小白性别改成女孩,小白神不知鬼不觉访问链接后自己的信息被偷偷改掉)
    》》构造的恶意链接
    Pikachu靶场实战_第13张图片
    》》将链接放到自己的一个服务器下(实际攻击中需要一台公网服务器)
    Pikachu靶场实战_第14张图片
    》》将恶意链接发送给小白(受害者):http://192.168.123.192/csrf_clickme.html

  • 用户操作(受害者)
    》》小白收到一链接,由于好奇心较强、安全意识不足便使用浏览器访问了下该链接:(看到页面没响应带着一面懵逼的小白便默默关了当前页面)
    Pikachu靶场实战_第15张图片
    》》哪天小白登录站点后发现自己的性别被莫名更改掉了,此时小白若有所思,便给客服打了个电话~~

Pikachu靶场实战_第16张图片

3.3.2 CSRF(POST型)

  • 用户操作(受害者)
    小白听说站点维护更新了,便想将自己的性别更改过来(毕竟自己是个汉子,怎么能挂着妹子标签~~)
    》》小白登录站点后点击修改个人信息
    Pikachu靶场实战_第17张图片
    》》将性别修改成boy后点击提交,便放心的去打了把王者
    Pikachu靶场实战_第18张图片
  • 攻击者操作
    攻击者收到了小白上线的信息后,决定再次恶搞小白
    》》在请求的链接中没有发现到get传参的请求,发现是POST方式
    Pikachu靶场实战_第19张图片
    》》攻击者呵呵一笑,服务器下写了个post传参的html脚本,并利用了些社会工程学,将文件名命名为pretty_girl:
    Pikachu靶场实战_第20张图片
    》》给受害者再次发送链接:http://192.168.1.104/pretty_girl.html
  • 用户操作(受害者)
    》》受害者收到一个链接,看到后面的pretty_girl,没有安全意识的小白再次点击了链接:
    》》一闪而过后自己的性别又被改成了girl,小白便知道了自己点击了个恶意链接
    Pikachu靶场实战_第21张图片

3.3.3 CSRF(Token防御)

》》修改个人信息,发现GET请求中多了个token字段
Pikachu靶场实战_第22张图片
》》对比两次请求发现token值每次提交都发生变化
Pikachu靶场实战_第23张图片
》》攻击者再次构造恶意链接
在这里插入图片描述
》》小白点击恶意链接发现这次网站更新后比较安全,个人信息没有被篡改
(由于token值每次提交后都会失效,恶意攻击者抓到小白的GET请求时里面的token已经失效了,所以网站也就没有执行GET请求的操作,CSRF也就防御成功)

3.4 SQL注入

3.5 RCE(代码执行/命令执行)

3.6 文件包含

3.7 文件下载

3.8 文件上传

3.9 越权漏洞

3.10 目录遍历

3.11 敏感信息泄露

3.12 PHP反序列化漏洞

3.13 XXE(XML外部实体攻击)

3.14 URL重定向

3.15 SSRF(服务器端请求伪造)

》》访问CSRF靶场,默认的显示来读一首诗:
Pikachu靶场实战_第24张图片
》》点击来读一首诗,服务器会向本机地址请求文件(这里使用了http协议)
Pikachu靶场实战_第25张图片
》》查看后端源码可知这里使用的是curl_exec()获取数据,使用GET方法提交参数内容,然后返回给客户端限制执行
Pikachu靶场实战_第26张图片

3.15.1 读取本地/远程文件

知识补充:
1. curl函数作用:一个库,通过URL和许多不同种服务器进行交流,并且支持很多协议
2. 查看curl支持哪些协议:
》》curl支持的所有协议
在这里插入图片描述

  • 使用file协议
    》》原逻辑使用http协议访问本机站点下的文件
    Pikachu靶场实战_第27张图片
    》》这里我们使用file协议访问受害机本地hosts文件
    Pikachu靶场实战_第28张图片

Tips:
访问靶场报错如下:
在这里插入图片描述
原因:Pikachu靶场是基于PHP5.4涉及的,PHPStudy切换下版本即可
Pikachu靶场实战_第29张图片

你可能感兴趣的:(漏洞靶场,靶场,漏洞靶场,pikachu,皮卡丘靶场,pikachu漏洞靶场)