ssrf简单实现

docker安装以及VPN加速
ssrf curl简单使用
web-ssrfme复现获取flag

docker安装以及VPN加速

首先安装docker可以参考以下链接:

https://blog.csdn.net/magic_ll/article/details/139985543

镜像站加速配置daemon.json我试了发现不适用,docker run会在Pulling fs layer卡住,访问github.com发现问题:windows开vpn能访问,但是虚拟机不能访问,于是指定vpn的端口让虚拟机吃到VPN加速
在这里插入图片描述
同时我还在/etc/systemd/system/文件夹下创建了docker.service.d/文件夹
并vim http-proxy.conf指定加速端口,反正两个之中有一个生效了。

在这里插入图片描述
记得输入指令重启docker

systemctl daemon-reload
systemctl restart docker

github搜pikachu,可以找到拉镜像的指令

docker run -d -p 8765:80 8023/pikachu-expect:latest

#可以不拉pikachu镜像,这里是演示,该镜像有1个多G大小
在这里插入图片描述

在这里插入图片描述
拉完docker后会自动运行,查看docker进程并重启启动其端口

docker ps -al

请添加图片描述
vscode远程ssh连接ubuntu需要额外安装docker和docker explorer模块才能访问docker镜像内的文件
请添加图片描述
点击小鲸鱼然后找到正在运行的docker ps进程,右键选attach vscode

请添加图片描述

其中ssh连接时发生了报错,没有的可以跳过,翻译后显示主机密钥更改,猜测是因为VMware虚拟机恢复快照导致公钥对不上

请添加图片描述
找到.ssh文件夹下的known_hosts文件,将其内部的密钥清空即可
请添加图片描述

ssrf curl简单使用

windows访问ubuntu的8765端口可以跳转到pikachu平台,记得安装时要配置数据库密码,下拉至ssrf模块可以看到curl,使用dict可以查看哪个端口被启用服务,如图是3306端口
请添加图片描述
使用file//+path(路径)可以访问具体文件,如图passwd文件被成功显示

请添加图片描述

gopherus可以写入不同的get shell,如图写入了redis的phpshell,路径默认,payload为<?php phpinfo();

请添加图片描述
将生成的代码URL解码可得:

请添加图片描述
解码内容简单解释:
请添加图片描述
flush all在redis内用于清空整个redis服务器数据,用来防止其对生成shell的代码造成影响

请添加图片描述
另一个生成文件ReverseShell则是任务计划Shell
请添加图片描述

web-ssrfme复现获取flag

首先在网上下载web-ssrfme.zip,然后放到虚拟机内,unzip解压,然后CD到含有docker-compose.yml文件夹目录下输入指令进行拖拽docker镜像

docker-compose up -d

#我使用的校园网访问清华镜像站被拒绝访问导致拉镜像总是报错,可能是被加入黑名单了,用手机数据共享热点成功搞定

请添加图片描述
docker进程没有端口记得restart一下
访问8091端口后跳转到代码页面,使用dict找端口,发现代码中过滤了file,dict,127.0.0.1等等,不过gopherus没有被过滤

请添加图片描述
查看代码发现有一个传参info显示phpinfo()的

请添加图片描述
在phpinfo()页面找到了不同于127.0.0.1的ip和端口

请添加图片描述
访问后发现能访问,127.0.0.1的过滤就可以绕过了
请添加图片描述
使用burpsuite抓取请求报文发送到暴力破解模块,在80端口左右add符号

请添加图片描述
payload选择1-10000,暴力破解172.18.0.3中1-10000端口有哪些是开启服务的
请添加图片描述
最后发现172.18.0.3只开放了80端口

请添加图片描述
尝试访问172.18.0.3同一网段的其他ip主机端口,发现172.18.0.1的80开着阿帕奇
请添加图片描述
访问172.18.0.2的80端口,显示Go away,扫描该IP端口
请添加图片描述
最后扫到80端口和6379端口
#因为我使用的burpsuite是免费版的,没有办法多进程同时进行,所以爆破速度很慢。

请添加图片描述
gopherus编码get shell代码

请添加图片描述

将代码执行

请添加图片描述
发现找不到shell.php

请添加图片描述
猜测路径不是默认路径/var/www/html,可能是其目录下的子文件夹,github搜fuzzdict,下载payload字典
请添加图片描述
load字典

请添加图片描述
最后暴力破解出upload文件夹

请添加图片描述
访问80端口的upload文件夹,发现是forbidden而不是not found

请添加图片描述
将路径修改为/var/www/html/upload

请添加图片描述
执行代码后访问文件发现not found

请添加图片描述
可能是URL编码问题,将代码URL编码 #记得修改IP为172.18.0.2

请添加图片描述
前往docker镜像内查看,发现成功写入shell.php文件

请添加图片描述
访问shell发现not found没了,但是没执行 ‘id’

请添加图片描述
docker下直接编写shell.php试试

<?php system('id');

请添加图片描述
发现可以执行,证明是<?php system(‘id’);代码编写的问题

请添加图片描述
该web-ssrfme要求找到flag文件,它在根目录/下

请添加图片描述
编写shell.php代码为

<?php system('cat /flag') ?>

请添加图片描述
编译代码并执行后,访问shell.php成功显示flag

请添加图片描述

  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wzzzzz06

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值