加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

SSRF裂痕进修尝试情形保举及进程记录

发布时间:2019-06-17 23:48:53 所属栏目:建站 来源:Seas0n
导读:在网上找到一个进修 SSRF 的情形,SSRF-LABS 有一个悦目又简捷的界面,提供了最根基的 REST API 和客户端 WebHook 成果用于 SSRF 测试。前面只是或许的先容,知道就好,不损耗费过多精神相识。 SSRF 先容 处事端哀求伪造,用户通过 WEB 会见/上传/发出哀求
副问题[/!--empirenews.page--]

在网上找到一个进修 SSRF 的情形,SSRF-LABS 有一个悦目又简捷的界面,提供了最根基的 REST API 和客户端 WebHook 成果用于 SSRF 测试。前面只是或许的先容,知道就好,不损耗费过多精神相识。

SSRF 先容

处事端哀求伪造,用户通过 WEB 会见/上传/发出哀求,绕过处事器防火墙,获取处事器及其内网信息。SSRF 可以说是一个前言,团结处事器中的处事,经常可以形成一条完备的进攻链。

SSRF裂痕进修尝试情形保举及进程记录

情形筹备

我的情形是 Ubuntu16.04,假如行使其他的体系,也许安装 docker 的要领差异,可以到网上搜一下。下面为安装 docker 的步调。

  1. $ curl -sSL https://get.docker.com/ | sh #剧本安装docker 
  2. $ apt install docker-compose #安装docker compose 

先凭证下面的呼吁把 basic 这一关搭建好,其他的基内情同。在建设容器的时辰停止出斗嘴,端口 8999 在配置要留意,停止与当地已开启端口发生斗嘴。

  1. $ git clone https://github.com/m6a-UdS/ssrf-lab.git 
  2. $ cd ~/ssrf-lab/basics #进入basics文件夹 
  3. $ docker build -t ssrf-lab/basic . #构建镜像 
  4. $ docker run -d -p 8999:80 ssrf-lab/basic #建设容器 
  5. $ docker ps #查察ssrf-lab/basic容器编号 
  6. $ docker stop [容器编号] #封锁容器 

在 Advances 系列的文件夹尚有 ctf 中没有 dockerfile 文件,只有 docker-compose.yml 文件,这时辰我们就要在构建镜像的时辰就换 docker-compose 来建设镜像并开启容器了。

  1. $ cd ~/ssrf-lab/advanced1 # 进入advanced1目次下 
  2. $ docker-compose up -d #开启容器  
  3. $ docker-compose down #封锁容器 

在开启容器的时辰的时辰出了题目,由于在官网找不到 urllib2 的下载路径,编辑 ~/ssrf-lab/advanced2/flask-webserver 文件,去掉个中的 urllib2。

Part 1:basic

尝试进程

打开页面,OUTGOING WEBHOOK 部门输入的https://yourhandler.io/events是有 REST API 监听的必要测试项目,在 SEE THE RESULT 的部门会表现哀求相应的功效和状态码。输入 https://yourhandler.io/events的位置就可以作为一个测试点。

我们先用http://127.0.0.1举办测试。

SSRF裂痕进修尝试情形保举及进程记录

发明数据表现出来了,声名这里没有对内网 IP 举办限定。

SSRF裂痕进修尝试情形保举及进程记录

为了进一步举办测试,我们来相识一下 URL 的布局。

  1. scheme://user:pass@host:port/path?query=value#fragment 

从布局中我们可以看出差异的 SSRF 的操作姿势,有协议、URL 绕过等等。这一关就实行从协议入手,用 file 协议取代 http 协议可能 https 协议。在测试点输入file:///etc/passwd我们可以获得用户文件,我们也可以通过这样的方法得到其他文件。

SSRF裂痕进修尝试情形保举及进程记录

乐成之后我们可以通过深挖设置文件和源代码举办我们进一步的渗出,好比得到数据库的用户凭据。这里乐成实现是由于URL没有颠末严酷的过滤,更精确地说应该是完全没颠末过滤,下一关不会这么简朴了。

SSRF 协议中的操作

看了许多教程都是团结 Redis 处事一路讲的,为了利便先容下面几个协议,我们先在 ssrf-basics 容器内里安装该处事。

  1. $ docker ps #查察容器编号 
  2. $ docker exec -it [ssrf-lab/basics容器编号] /bin/bash #进入容器 
  3. $ apt-get install redis-server # 安装redis处事 
  4. $ redis-server #开启redis处事 

这一关可以操作协议网络信息及反弹 shell,都是没用协议白名单的锅,导致多个协议操作起来毫无阻力。

1. file

上面实行的过的file:///etc/passwd就是操作了file协议,操作这个协议可以读取主机内恣意文件。

2. dict

操作dict协议,dict://127.0.0.1:6379/info可获取当地redis处事设置信息。

SSRF裂痕进修尝试情形保举及进程记录

还可以用dict://127.0.0.1:6379/KEYS *获取 redis 存储的内容。

SSRF裂痕进修尝试情形保举及进程记录

Gopher 协议

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读