Web安全漏洞及代码审计-7 服务端请求伪造漏洞与审计_第1页
Web安全漏洞及代码审计-7 服务端请求伪造漏洞与审计_第2页
Web安全漏洞及代码审计-7 服务端请求伪造漏洞与审计_第3页
Web安全漏洞及代码审计-7 服务端请求伪造漏洞与审计_第4页
Web安全漏洞及代码审计-7 服务端请求伪造漏洞与审计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

服务端请求伪造漏洞与审计项目七Web安全漏洞及代码审计(第2版)目录01项目知识准备04项目复盘03任务2服务端请求伪造漏洞代码审计02任务1服务端请求伪造漏洞分析CONTENTS项目知识准备学习漏洞介绍、漏洞危害、审计思路01.项目知识准备服务端请求伪造(SSRF)漏洞是指攻击者能够诱使服务端发起未经授权的内部请求。其成因是服务端未对用户提供的请求目标地址(如URL)进行充分校验,便直接发起网络请求,导致攻击者可利用该服务端的权限访问或探测同内网中的其他系统,例如从外网访问本应仅限于内网访问的服务。一、漏洞介绍审计SSRF漏洞需重点检查所有服务端发起网络请求的功能点,尤其是涉及URL参数输入且未经严格过滤的场景,例如在线图片加载、链接预览、社交分享等功能。应关注代码中发起HTTP/HTTPS等网络请求的相关函数,并验证其目标地址是否受控且经过安全校验。三、审计思路SSRF漏洞危害显著,攻击者可利用它探测内网主机与端口、获取服务banner信息。此外,通过支持的不同协议(如file://读取本地文件,gopher://构造任意数据包),还能进一步实现文件读取、内网服务攻击,甚至反弹Shell,从而威胁内网安全。

二、漏洞危害任务1服务端请求伪造漏洞分析02.学习服务端请求伪造漏洞分析file_get_contents()函数file_get_contents(path,include_path,context,start,max_length)函数主要用于把文件的内容读入字符串,服务端可以模拟POST或GET请求。file_get_contents()函数的参数及其含义如表7-1所示。参

数含

义path必选参数,规定要读取的文件或URLinclude_path可选参数,可用于搜索文件context可选参数,如果不需要自定义context,则可以使用NULL忽略start可选参数,在文件中开始读取的位置max_length可选参数,规定读取的字节数file_get_contents()函数当用户输入的URL为内网地址时,因为服务端无法对其进行隐患判断,所以用户可以正常请求内网业务系统,如输入的URL为http://localhost:8081/file_get_contents.php?url=:8082/fopen()函数fopen(filename,mode,include_path,context)函数用于打开文件或URL,如果无法打开,则会返回false。fopen()函数的参数及其含义如表。参

数含

义filename必选参数,规定要打开的文件或URLmode必选参数,规定该文件/流的访问类型,如“r”(只读)、“w”(写入)等include_path可选参数,如果需要在

include_path中检索文件,则可以将该参数设置为1或truecontext可选参数,修改流行为的选项由于用户可以任意输入URL,且服务端对用户输入的URL没有进行校验,因此导致了SSRF漏洞,测试代码如下:fopen()函数利用File协议访问/data/error.log文件,测试结果。cURLcURL是一种利用URL语法传输文件和数据的工具。它支持FTP、FTPS、HTTP、HTTPS、Gopher、SCP、Telnet、DICT、File、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP等协议,是一种综合传输工具。PHP支持cURL库。cURL发送请求的过程可大致分为4步:(1)初始化cURL会话;(2)设置请求选项;(3)执行cURL会话;(4)关闭cURL会话。如果在运行cURL期间没有对传入的参数url进行校验,就会造成SSRF漏洞,测试代码如下:cURL通过DICT协议探测端口信息,如dict://:22/info,结果。任务2服务端请求伪造漏洞代码审计03.学习环境搭建、漏洞分析、漏洞利用iCMSV7.0.9环境安装本任务使用iCMSV7.0.9,在部署好源代码后,访问:8081/install/index.php,进入安装界面,请按照提示逐步填写数据库账号、密码等相关信息,完成安装配置。iCMSV7.0.9环境安装安装成功iCMSV7.0.9漏洞分析漏洞触发点在/app/spider/spider.class.php文件的posturl()函数中,可以看到该函数最下面使用了curl()函数,在任务1中提到过,如果在运行cURL期间没有对传入的参数url进行校验,就会造成SSRF漏洞,代码如下:iCMSV7.0.9漏洞分析最终在采集列表页面spider.list.php中测试功能点的触发,部分代码如下:iCMSV7.0.9漏洞利用输入地址,将参数url传入file:///data/error.log,访问:8081/admincp.php?app=spider&do=testdata&rid=2&pid=0&title=test&url=file:///data/error.log,测试结果。项目复盘根据学习到的内容进行练习04.项目复盘环境搭建练习审计思路分析源代码复现注入漏洞本地搭建iCMSV7.

温馨提示

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

评论

0/150

提交评论