CTFHUB-SSRF-上传文件 
1.这里先访问一下flag.php  
   
这里我直接f12右键编辑html,修改前端代码加上了  
<input type="submit" name="tijiao">
  
这样就生成了提交按钮  
这里查看flag.php的源码  
这里使用file伪协议:file:///var/www/html/flag.php  
   
<?php
error_reporting(0);
if($_SERVER["REMOTE_ADDR"] != "127.0.0.1"){
    echo "Just View From 127.0.0.1";
    return;
}
if(isset($_FILES["file"]) && $_FILES["file"]["size"] > 0){
    echo getenv("CTFHUB");
    exit;
}
?>
Upload Webshell
<form action="/flag.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
</form>
  
这里要求是必须本地上传,而且这里检测了上传文件的大小,不能上传一个空文件。  
这里上传一个不是空文件即可  
我上传的是4.txt,内容是hhhhh  
这里上传的时候进行抓包。  
这里将抓到的包进行url编码  
这里编码两次。  
这里注意第一次编码后要将%0A改为%0D%0A  
编码后拼接?url=1270.0.0.1/index.php?url=gopher://127.0.0.1:80/_  
得到了flag  
这里编码两次的原因一直没有搞明白,前几天问了一个大佬,他是这么和我说的:一般的浏览器会自动的URL解码一次,所以一般要多加一次url编码。  
  
                
                
                
        
    
 
 |