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

SSRF漏洞学习实验环境推荐及过程记录

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

这一关为了停止和上一关一样,代码中没有本身实现IP理会的成果,而是选择挪用 python2.7 自带的库函数理会 IP 地点,详细代码如下:

  1. url=request.form['handler'] 
  2. host = urlparse.urlparse(url).hostname 
  3. if host == 'secret.corp':     
  4.     return 'Restricted Area!' 
  5. else:     
  6.     return urllib.urlopen(url).read() 

上面的代码用了 python2.7 中的 urlparse 模块来理会 url,该模块可以或许理会多个协议。获取了 url 中 host 参数之后,再对域举办判定。

跟第一个情形一样,我们先用http://secret.corp来测试。

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

URL 理会器说明出这部门内容是会见已被限定的域,下面要先容一个新的常识点了,我们先来测试一下它能不能起浸染。在测试点输入http://google.com# @secret.corp。

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

绕过这个到底是基于什么道理呢?让我们再次回首一下 url 的布局。

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

原本http://google.com# @secret.corp中@后头的secret.corp是真正要会见的 host,前面的google.com#绕过了 urlparse 的理会。感受很神奇并且让人有点摸不着脑子,相识一下道分析好许多。SSRF 裂痕发生的基础缘故起因是 url 中有空格(CRLF 注入),这让 python 中的两个模块理会 url 的时辰起了斗嘴,urlparse 以为 host 是 google.com,而 urllib 则以为真正的 host 是 secret.corp 而且直接发出了哀求。

为了进一步叙述上面裂痕操作的道理,用 python 写几行代码来验证一下,假若有点紊乱,可以再看看上面的源代码,用 urlparse 理会 URL 举办判定是先于挪用 urllib 发出哀求的。下图为 urlparse 理会的功效,在 python2.7 和 python3.5 两个版本中都是同等的。

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

为了可以或许进一步验证 urllib 可否正确吸取到,在 VPS 上输入呼吁nc -lvvv 9444监听当地 9444 端口,再凭证下面呼吁通过 python 发送哀求:

  1. $ python 
  2. $ import urllib 
  3. $ url = "http://google.com# @[VPS的IP地点]:9444" 
  4. $ urllib.urlopen(url).read() 

之后在开启监听端口的处事器可以吸取到如下的回显:

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

验证完毕。

advanced3

advanced3 感受作者代码不完备,感受像在测试阶段,实行过修改源代码,可是现实环境并不如我所想。以是这里就不富厚这部门内容了,假如之后作者对这部门标题有修改,我会对这部门内容举办增补。

ctf exp

下面是 ctf 标题获取 flag 的要领,由于我不是亚马逊的处事器,以是获取不到 ctf 最后一题的 flag,假如想实行的,可以看看这篇文章:

https://medium.com/poka-techblog/server-side-request-forgery-ssrf-attacks-part-1-the-basics-a42ba5cc244a

最后这个标题各人可以作为操练,到最后才看 payload.....懒人就不一再说前面的内容了,来试试本身把握了没有吧!

  • http://secret1.corp
  • file:///etc/passwd
  • http://10.38 #a000026、167772198
  • http://google.com# @secret3.corp

(编辑:湖南网)

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

热点阅读