尝试为ssrf漏洞编写黑名单与白名单

发布时间:2024年01月23日

以pikachu靶场ssrf(curl)为例:

?你会发现什么也没防御项访问基本的文件内容,端口开放都是可以看到的,没有任何防御措施。

我们去查看一下他的源码有没有过滤什么

?没有任何过滤,咱么尝试进行过滤一下,禁止使用dict,file 等协议的黑名单

注:为了保险将原有的代码复制一份在进行测试黑白名单

?黑名单:

简单来说就是什么不能访问咱就构造啥

$URL =$_GET['url'];
$lin =array(
   "file" => "",
   "dict" => ""
);
$URL1 = str_replace(array_keys($lin),$lin,$URL);
if ($URL1 != $URL){
    exit("你想咋滴!退");
};

?场景测试:

防御成功。

尝试只能允许http和HTTPS协议

白名单:

 $URL =$_GET['url'];
    $octet = explode( ":", $URL);
	
	if($octet[0]=="http" | $octet[1]=="https"){
echo $octet;
        
		die("小子你想干啥?");
	}
	
	
	$URL=$octet[0].":".$octet[1];
   

?测试场景:

输入http协议的可以通过

输入file协议就会拦截不让访问

防御成功。

            
文章来源:https://blog.csdn.net/m0_46390077/article/details/135790259
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。