php可以抓取网页数据吗( 服务端请求伪造攻击(Server-sideRequestForgery)(组图))

优采云 发布时间: 2022-03-22 00:01

  php可以抓取网页数据吗(

服务端请求伪造攻击(Server-sideRequestForgery)(组图))

  SSRF 服务器请求伪造漏洞

  SSRF 服务器请求伪造漏洞

  服务器端请求伪造

  许多 Web 应用程序提供从其他服务器获取数据的功能。

  使用用户指定的 URL,Web 应用程序可以获取图像。下载文件、读取文件内容等。

  如果恶意使用此功能,可以利用有缺陷的 Web 应用程序作为代理来攻击远程和本地服务器。这种形式的攻击称为服务器端请求伪造攻击。

  - 一般来说,SSRF 攻击的目标是无法从外部网络访问的内部系统。(正是因为它是由服务器发起的,所以它可以向与其连接的内部系统请求,并与外部网络隔离)。

  形成SSRF的大部分原因是服务器提供了从其他服务器应用程序获取数据的功能,没有对目标地址进行过滤和限制。

  比如批量获取指定URL的网页文本内容,加载指定地址的图片,下载等。

  攻击者可以使用 ssrf 实现五种主要类型的攻击:

  1.可以在外网和服务器所在的内网本地进行端口扫描,获取部分服务的banner信息。

  2.运行内网或本地应用程序的攻击(如溢出)。

  3.通过访问默认文件对 Intranet Web 应用程序进行指纹识别。

  4. 对内网和外网web应用的攻击,主要是可以通过get参数实现的攻击(如struts?、SQli等)。

  5.使用文件协议读取本地文件等

  

  php-curl 扩展

  [1] 获取网页资源-爬虫

  [2] weserver-获取接口数据

  【3】FTP-下载文件

  

  

  

  curl 其他协议

  [1] dict协议:用于构建在线词典服务

  [2] gopher协议:只支持文本,不支持图片的信息搜索系统,已经被HTTP取代

  

  

  php危险函数

  

  如何使用 SSRF

  1、 通过分享功能: 通过 URL 地址分享网页内容:

  在早期的分享应用中,为了提供良好的用户体验,WEB应用通常会获取<tilte></title>标签或<meta name="descript ion" content= ""/中内容的文本内容> 显示标签以提供更好的用户体验。比如人人网的分享功能中:人人网。com/*****?res«xjrceUrl=nsfocus。com

  标题标签和相关文本内容是通过目标URL地址获取的。如果该函数中没有对目标地址的范围进行过滤和限制,则存在SSRF漏洞。

  2、 转码服务:通过URL地址调整原地址的网页内容,使其适合在手机屏幕上查看:由于手机屏幕的大小,使用时会造成很多不便直接浏览网页内容。因此,一些公司提供了转码功能,通过相关手段将网页内容转换为适合在手机屏幕上浏览的样式。例如,百度、腾讯、地狗等公司都提供在线转码服务。

  3、 在线翻译:通过URL地址翻译对应文本的内容。国内提供此功能的公司有百度、有道等。

  4、 图片加载和下载,通过URL地址加载或者下载图片: 图片加载远程图片地址 这个功能用的地方很多,但是大部分都是比较隐秘的,比如在一些公司加载自己的图片在服务器。图片用于展示。(这里可能有人会有疑问,为什么图片服务器加载图片也有问题,直接使用img标签是不是比较好?,没错,但是开发者是为了让用户有更好的体验,通常会让对图片进行了一些小调整如水印、压缩等,所以可能会导致SSRF问题)・

  5、图片,文章采集:这里的图片,文章采集在文章采集类似于分享功能中的功能1',URL地址中的标题和文字得到的内容是展示出来的,目的是为了更好的用户体验,图片采集类似于功能四、图片加载。

  6、 未记录的 api 实现和其他调用 URL 的函数:这​​里的类似函数有 360JS 提供的 网站 评级,还有一些 网站 通过点击 i 内容来获取要加载的远程地址 xml 文件。

  皮卡丘SSRF

  

  

  

  

  

  

  SSRF 修复防御

  1、过滤返回的信息并验证远程服务器对请求的响应是一种更简单的方法。如果 Web 应用程序要获取某种类型的文件。然后验证返回信息是否符合标准,再将返回结果展示给用户。统一错误信息,防止用户根据错误信息判断远程服务器的端口状态。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线