SSRF漏洞防御:黑白名单的编写

文章目录

  • SSRF漏洞防御:黑白名单的编写
    • 黑名单的制作
    • 白名单的制作

SSRF漏洞防御:黑白名单的编写

以pikachu靶场中SSRF(crul)为例

SSRF漏洞防御:黑白名单的编写_第1张图片
我们可以看到未做任何防御
SSRF漏洞防御:黑白名单的编写_第2张图片
我们查看源代码
SSRF漏洞防御:黑白名单的编写_第3张图片

黑名单的制作

思路: 什么内容不能访问
构造代码

 $xy=array(
        "file"   => "",
        "http"   => "",
        "https"  => "",
        "gopher" => "",
        "dict"   => "",
        "ldap"   => "",
        "tftp"  => ""
    ); 

    $URL1=str_replace(array_keys($xy),$xy,$URL);
    if ($URL1 != $URL){
        exit("输入错误");
    };
插入到判断语句里

SSRF漏洞防御:黑白名单的编写_第4张图片
当有人进行ssrf攻击时返回输入错误
SSRF漏洞防御:黑白名单的编写_第5张图片

白名单的制作

思路:什么内容可以访问
构造代码
 $bmd = "http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info2.php";
    $bmd1 = "http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info1.php";
    if ($URL == $bmd){
        
    } elseif ($URL == $bmd1){

    }else{
        exit("输入错误!");
    };
插入到判断语句中

SSRF漏洞防御:黑白名单的编写_第6张图片
实现效果:
SSRF漏洞防御:黑白名单的编写_第7张图片
SSRF漏洞防御:黑白名单的编写_第8张图片

你可能感兴趣的:(防御手法,ssrf,漏洞防御,web安全)