Web应用安全技术原理与实践 课件 第8章 Web服务器端安全-8.7SSRF漏洞原理与防御_第1页
Web应用安全技术原理与实践 课件 第8章 Web服务器端安全-8.7SSRF漏洞原理与防御_第2页
Web应用安全技术原理与实践 课件 第8章 Web服务器端安全-8.7SSRF漏洞原理与防御_第3页
Web应用安全技术原理与实践 课件 第8章 Web服务器端安全-8.7SSRF漏洞原理与防御_第4页
Web应用安全技术原理与实践 课件 第8章 Web服务器端安全-8.7SSRF漏洞原理与防御_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Web应用安全第八章Web服务器端安全--8.7SSRF漏洞原理与防御2SSRF攻击原理Web应用程序有时候需要和外部资源进行交互,如从第三方服务器获取数据,典型的应用场景有在线识图、在线翻译服务等3SSRF攻击原理SSRF攻击示例/ssrf/t1.php正常输入:攻击输入:file://c:/secret.txt4SSRF攻击原理SSRF攻击示例<formmethod="post"><label>Web网页URL:</label>

<inputtype="text"name="url"size="50"><br><inputtype="submit"value="开始检查"></form><label>Web网页内容</label><br><textarearows="8"cols="60"><?php//获取Web网页内容并展示

$url=$_POST['url'];

$con=file_get_contents($url);//请求网络资源

print(htmlentities($con));

?></textarea><?php//安全性检查,此处代码略?>5SSRF攻击原理SSRF(Server-SideRequestForgery,服务器端请求伪造)是指Web应用程序接收一个URL或类似的请求并检索这个URL的内容,但它不能完全确保请求被发送到预期的目的地SSRF是一种由攻击者构造形成特定数据,而造成Web服务端向任意其他主机发起请求的一种安全漏洞SSRF是OWASPTOP102021版本中新增的类别,排名第10位近年来,包括CapitalOne(2019年)和MSExchange(CVE-2021-26855)攻击事件在内的多起网络安全事件中,攻击者都是使用了SSRF攻击手段,使得SSRF漏洞广受关注。CWE-9186SSRF攻击原理SSRF攻击利用方法内网探测获取敏感文件……SSRF攻击原理和利用的关键要素服务器处理用户递交的URL参数服务器支持的协议类型file:///c:/secret.txt以PHP语言为例介绍7SSRF攻击原理PHP语言中处理URL文件读操作函数文件包含操作XML文档处理-外部实体引用<?php$url="http:///ssrf/a.txt";$fd=fopen($url,"r");$con=fread($fd,1024);print($con);?>allow_url_fopen=Onfile_get_content()readfile()file()highlight_file()show_source()<?php$url="http:///ssrf/a.txt";include($url);?>allow_url_include=Oninclude_once()require()require_once()<!ENTITYname1SYSTEM"/xxe/t5.php">8SSRF攻击原理cURL—libcurl库PHP语言中处理URL主要功能就是用不同的协议连接和沟通不同的服务器HTTP协议访问简单示例<?php$url="/ssrf/data.php";$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);//设置HTTP首部信息输出curl_setopt($ch,CURLOPT_HEADER,true);curl_exec($ch);//直接输出curl_close($ch);?>/ssrf/t4.php9SSRF攻击原理cURL—libcurl库PHP语言中处理URLHTTP协议POST请求<?php$url="http:///ssrf/data.php";$data=array("username"=>"alice","password"=>"123456");$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);//设置POSTcurl_setopt($ch,CURLOPT_POST,true);//访问结果以字符串形式返回curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//设置POST发送的数据curl_setopt($ch,CURLOPT_POSTFIELDS,$data);$str=curl_exec($ch);print_r($str);curl_close($ch);?>10SSRF攻击原理cURL—libcurl库PHP语言中处理URL添加HTTP首部-COOKIE<?php$url="http:///ssrf/data.php";//$headers=array("cookie:testcookie=Thisisatestcookie!");$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);//设置HTTP头的方式发送Cookie--两种方式不能同时使用//curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);//直接设置cookiecurl_setopt($ch,CURLOPT_COOKIE,"ck2=cookie2;ck3=cookie3");//访问结果以字符串形式返回curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);$str=curl_exec($ch);print_r($str);curl_close($ch);?>11SSRF攻击原理Curl命令下载地址:https://curl.se/GET方法POST方法12SSRF攻击原理PHP语言中封装协议HTTP协议特别说明:文件操作中的http协议,采用HTTP/1.0,cURL操作缺省采用HTTP/1.1http://hostname:port/path/filename内部网络访问:/test/t1.php内部主机端口扫描:

http://:888/test/t1.php13SSRF攻击原理PHP语言中封装协议FTP协议ftp://user:pass@hostname:port/path/filename内部网络访问:37/a1.txt内部主机端口扫描:

ftp://37:888/a1.txt快速返回内部网络资源开放端口返回结果慢非开放端口返回结果快14SSRF攻击原理PHP语言中封装协议file协议file://path/filename用于访问本地文件系统php协议用于访问各个输入/输出流标准输入/输出/错误输出获取HTTP协议原始数据数据过滤15SSRF攻击原理PHP语言中封装协议php协议标准输入/输出/错误输出<?php$fin=fopen("php://stdin","r");//标准输入$fout=fopen("php://stdout","w");//标准输出$ferr=fopen("php://stderr","w");//错误输出$line=fgets($fin);//输入一行字符串$outline="stdout:{$line}";$errline="errout:{$line}";fwrite($fout,$outline);fwrite($ferr,$errline);fclose($fin);fclose($fout);fclose($ferr);?>16SSRF攻击原理PHP语言中封装协议php协议获取HTTP协议原始数据php://input特别提醒:表单

enctype=“multipart/form-data”时,无效<formmethod="post"><label>输入1:</label><inputtype="text"name="str1"><br><label>输入2:</label><inputtype="text"name="str2"><br><inputtype="submit"value="发送字符串"></form><?phpif(!empty($_POST)){$fd=fopen("php://input","r");$str=fread($fd,1024);print("{$str}<br>");}?>17SSRF攻击原理PHP语言中封装协议php协议数据过滤php://filter/过滤器1|过滤器2/resource=资源字符串过滤器:string.rot13、string.toupper、string.tolower、…转换过滤器:convert.base64-encode、convert.base64-decode、编码转化、…压缩过滤器:……加密过滤器:……18SSRF攻击原理PHP语言中封装协议php协议数据过滤示例<?php$wstr="Thisisatest.";print("originstring:{$wstr}<br>");/*rot13加密后再转换为base64编码保存*/$dest="php://filter/write=string.rot13|convert.base64-encode/resource=a.txt";file_put_contents($dest,$wstr);$str=file_get_contents("a.txt");$str=htmlentities($str);print("filea.txt:{$str}<br>");//读取数据后base64解码后rot13解密$src="php://filter/read=convert.base64-d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论