初识——服务器端请求伪造(SSRF)

 SSRF:Server-Side Request Forgery服务器请求伪造。

一种由攻击者构造请求,由服务器端发起请求的安全漏洞,漏洞属于信息泄露的一种。一般情况下,SSRF的攻击目标是网站的内部系统(正因为请求是由服务器端发起的,所以服务器能请求到与自身相连而与外网隔离的内部系统),只要当前服务器有向其他服务器发送请求的地方都可能存在SSRF漏洞。

漏洞原理:

大多数web应用都提供了从其他服务器上获取数据的功能,web应用根据用户指定的URL向其他服务器请求图片,文件等资源。一旦没有对用户请求获取资源的目标地址进行严格过滤,就会造成SSRF攻击。是不是很绕?

举个例子:假设现在有两个网站,一个网站是所有人都可以访问的外网一个是只有内部访问的内网,并且当用户请求资源时,外网会向内网请求数据,最后返还给用户。如果外网没有对用户请求的资源进行过滤,用户请求不合法时,就会以外网的身份去访问内网,导致信息泄露。

 SSRF的危害

1)扫描内网端口

2)攻击运行在内网或本地的应用程序

3)对内网web应用进行指纹识别

4)攻击内网的web应用,主要是使用GET参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等)

5)利用伪协议,file协议读取本地敏感数据文件,如file:///C:/users/dell/Desktop

SSRF漏洞利用之内网访问

SSRF漏洞测试地址:CTFHUB

获取GET参数URL,然后将内容返还至网页上,此时如果将请求的网址篡改为https://www.baidu.com,则页面会显示baidu.com的网页内容 

利用这个功能,我们将baidu.com修改为内网地址时,则会泄露内网信息,如修改为url=127.0.0.1/flag.php

SSRF漏洞利用之伪协议读取文件

SSRF漏洞测试地址:CTFHUB

将地址修改为?url=file:///var/www/html/flag.php即可读取本地文件 

常用的URL伪协议

file://  本地文件传输协议。file协议可以尝试从文件系统中获取文件,就如同在Wins资源管理器中打开文件一样,那为什么在上面实验中是file:///而不是file://呢?
那就要从URI的结构来看了
URL结构:
scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]
可以看到,如果有host的时候,前面是要加//的,因此对于http,https等这些网络地址来讲
http://www.baidu.com:80/abab/abab
写成这样很自然。
那么如果是文件呢?文件因为没有 host,所以中间的部分就不要了,那么就变成了
file:///abab/abab

dict://  dict协议。字典服务器器协议,dict是基于查询响应的TCP协议,它的目标是超越Webster protocol,并允许客户端在使用过程中访问更多字典。Dict服务器和客户机使用TCP端口2628
sftp://  sftp代表SSH文件传输协议。这是一种与SSH打包在一起的单独协议,运行在安全连接上
ldap://  ldap代表轻量级目录访问协议。是IP网络上的一种用于管理和访问分布式目录信息服务的应用程序协议
tftp://  tftp(简单文件传输协议)是一种简单的基于lockstep机制的文件传输协议。允许客户端从远程主机获取文件或将文件上传至远程主机。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值