1.URL Bypass
题目提示:请求的URL中必须包含http://notfound.ctfhub.com,来尝试利用URL的一些特殊地方绕过这个限制吧
打开环境发现URL中必须包含http://notfound.ctfhub.com,先按照之前的经验查看127.0.0.1/flag.php,发现没什么反应,按照题目提示加上http://notfound.ctfhub.com,结果还是没反应,根据提示,发现应该用@进行绕过,即可得出本题flag
2.数字IP Bypass
题目提示
这次ban掉了127以及172.不能使用点分十进制的IP了。但是又要访问127.0.0.1。该怎么办呢
因为这次数字被禁掉了,所以尝试其他方式表达数字:
1.)十进制
127.0.0.1的十进制:2130706433
2.)十六进制
127.0.0.1的十六进制:0x7F000001
继续访问flag.php
1.)?url=http://2130706433/flag.php
2.)?url=http://0x7F000001/flag.php
试了两种数字表达,发现都可以出现flag
3.302跳转 Bypass
题目提示:SSRF中有个很重要的一点是请求可能会跟随302跳转,尝试利用这个来绕过对IP的检测访问到位于127.0.0.1的flag.php吧
第一步还是先尝试访问127.0.0.1/flag.php 显示禁掉了这个IP地址,根据上一题的提示,把数字变为十进制进行尝试,得出了本题flag
第二种方法是访问localhost/flag.php
1)关于localhost原理,作用以及环回地址
原理:
当你在计算机上 ping
IP地址时,你尝试联系互联网上的另一台计算机,但是当你ping
IP地址127.0.0.1时,你正在与本地主机通信。localhost 始终是你自己的计算机。且windows自动将localhost解析为127.0.0.1。
local host作用:
开发人员使用本地主机来测试Web应用程序和程序。网络管理员使用环回来测试网络连接。localhost的另一个用途是hosts文件,你可以使用环回来阻止恶意网站。
环回地址是主机用于向自身发送通信的一个特殊地址(不再通过数据链路层传递数据,而是直接在自己的网络层,运输层进行传递数据)
Ipv4的环回地址为127.0.0.0到127.255.255.255(只有两个特殊的保留),此地址中的任何地址都不会出现在网络中
127.0.0.1是保留地址之一,只是被经常的使用,来检验本机TCP/IP协议栈而已
Localhost是一个域名,也是本机地址,它可以被配置为任意的IP地址(可以通过hosts这个文件进行修改),不过通常情况下都指向IPV4:表示127.0.0.1
IPV6:表示[::1]
localhost也叫local ,正确的解释是:本地服务器
127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)
他们的解析通过本机的host文件,windows自动将localhost解析为127.0.0.1
localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的限制。
127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。
4.DNS重绑定 Bypass
题目提示:
关键词:DNS重绑定。剩下的自己来吧,也许附件中的链接能有些帮助
1.)DNS的作用
DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。你可以把它想象成一本巨大的电话本。
举例来说,如果你要访问域名math.stackexchange.com
,首先要通过DNS查出它的IP地址是151.101.129.69
。
首先尝试127.0.0.1
2.)DNS Rebinding
根据给出的题目附件进行学习,发现应用DNS Rebinding攻击。
以下是其形成原因:
在网页浏览过程中,用户在地址栏中输入包含域名的网址。浏览器通过DNS服务器将域名解析为IP地址,然后向对应的IP地址请求资源,最后展现给用户。而对于域名所有者,他可以设置域名所对应的IP地址。当用户第一次访问,解析域名获取一个IP地址;然后,域名持有者修改对应的IP地址;用户再次请求该域名,就会获取一个新的IP地址。对于浏览器来说,整个过程访问的都是同一域名,所以认为是安全的。这就造成了DNS Rebinding攻击。
我们先找到本机IP地址192.168.239.1
接着到DNS服务器上解析域名
bp抓包 将url改成刚刚解析的域名 发送给repeater 即可得到本题flag
5.上传文件
题目提示
这次需要上传一个文件到flag.php了.祝你好运
首先查看127.0.0.1/flag.php 发现类似文件上传 没有上传键 于是我们进行构造 进行上传 发现应该从127.0.0.1访问,于是bp抓包之后 类似上一道题的做法url三次编码 结果这题flag没出来不知道什么原因
参考资料:
https://blog.csdn.net/weixin_43910086/article/details/126370380