SSRF漏洞学习实验环境推荐及过程记录
这一关为了停止和上一关一样,代码中没有本身实现IP理会的成果,而是选择挪用 python2.7 自带的库函数理会 IP 地点,详细代码如下:
上面的代码用了 python2.7 中的 urlparse 模块来理会 url,该模块可以或许理会多个协议。获取了 url 中 host 参数之后,再对域举办判定。 跟第一个情形一样,我们先用http://secret.corp来测试。 URL 理会器说明出这部门内容是会见已被限定的域,下面要先容一个新的常识点了,我们先来测试一下它能不能起浸染。在测试点输入http://google.com# @secret.corp。 绕过这个到底是基于什么道理呢?让我们再次回首一下 url 的布局。
原本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 两个版本中都是同等的。 为了可以或许进一步验证 urllib 可否正确吸取到,在 VPS 上输入呼吁nc -lvvv 9444监听当地 9444 端口,再凭证下面呼吁通过 python 发送哀求:
之后在开启监听端口的处事器可以吸取到如下的回显: 验证完毕。 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.....懒人就不一再说前面的内容了,来试试本身把握了没有吧!
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |