防止通过get方式泄露数据
1、白名单
(防止文件curl的漏洞)
通过将配置文件进行白名单,将前端URL进行过滤,
需要用的URL进行匹配 除了匹配到的URL,其余的都要拒绝
yload: //file:///etc/passwd 读取文件 //http://192.168.1.15:22 根据banner返回,错误提示,时间延迟扫描端口 if(isset($_GET['url']) && $_GET['url'] != null){ //接收前端URL没问题,但是要做好过滤,如果不做过滤,就会导致SSRF $URL = $_GET['url']; //使用白名单 if($URL!="http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info1.php") { //程序中止 die("禁止访问"); } $CH = curl_init($URL); curl_setopt($CH, CURLOPT_HEADER, FALSE); curl_setopt($CH, CURLOPT_SSL_VERIFYPEER, FALSE); $RES = curl_exec($CH); curl_close($CH) ;
白名单和黑名单需要判断在需求使用的方式
2)黑名单
为配置文件配置黑名单
//读取PHP文件的源码:php://filter/read=convert.base64-encode/resource=ssrf.php