SSRF——服务端请求伪造

什么是SSRF?

服务器端请求伪造(SSRF)是指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击。(利用一个可发起网络请求的服务当作跳板来攻击其他服务)

ssrf有什么作用

一般用于探测内网端口及信息,查看文件,甚至可以getshell

攻击内外网的web应用。

ssrf一般存在于哪些地方

能够对外发起网络请求的地方,可能存在ssrf

从远程服务器请求资源处。

如何判断是否有ssrf

从远程服务器请求资源,验证请求是不是由服务器发出

看可不可以对外发起网络请求

ssrf支持哪些协议

Dict://  file://  sftp://  ldap://  gopher://  ftp://  http:// 等.

SSRF如何绕过

Ip限制绕过(十进制ip,八进制)

协议限制绕过

ssrf里的dict协议的作用

查看端口,版本信息这些

向服务器端口请求curl命令

ssrf里的file协议的作用

可以在文件系统中读取文件,有的时候会被禁用

SSRF里的gopher协议的作用

可以用这个协议发送各种格式的请求包

如何去挖ssrf漏洞

转码服务,在线翻译,通过URL地址加载或下载图片,通过url地址分享网页内容

从url关键字查找,比如url,link,target,sourceURL,imageURL

ssrf漏洞的原理

服务端为了从其他服务器应用获取数据的功能,且没有对目标地址做过滤和限制

ssrf只能通过get的方式利用么?

除了在url栏里的get利用方式外,ssrf还可以用post的方式,比如post提交xml(该处使用xml传输信息)具体还是要看接受方式,如果是$_REQUEST来获取那么POST也没啥问题

ssrf如何getshell

内网有些服务或者有些web页面存在漏洞,可以利用这些

ssrf如何防御

统一错误信息

限制请求的端口

过滤返回的信息

黑名单内网ip

禁用其他协议,允许http,https

ssrf可以结合csrf进行利用吗

可以结合使用,请求访问到后触发

ssrf的一些触发点,比如url跳转处,可能存在sql注入么

可能存在

SSRF漏洞常见吗?

相对而言还是比较常见的,在实战环境中遇到过。

SSRF的危害

主要还是攻击内网或者本机应用,例如内网存在弱密码或者是某些问题cms就可以通杀了,然后本机应用,有些易受攻击的应用并不会开放端口,但是默认本机运行开放,例如redis

还可以读取本机文件,有些敏感文件,例如数据库配置文件

SSRF挖掘重点

其实不一定非要去找传参名之类的或者功能点,在我看来,如果哪个传参带了协议名或者是带了文件后缀,都可能存在SSRF,一般而言有协议名传参的基本都有,如果是带了文件后缀的,很有可能存在SSRF漏洞或者任意文件下载或者任意文件读取。

SSRF漏洞的核心是什么?

第一点:进入了内网,绕过了很多防火墙机制,因为防御大部分对外不对内

第二点:可以去访问存在漏洞机器上面的内部开放端口。可以触发漏洞(redis之类的)

第三点:可以通过file协议读取敏感信息

SSRF漏洞如何防护?

禁用函数( file_get_contents()、fsockopen()、curl_exec()三个函数(PHP)防止SSRF)

限制内网Ip传参

开启内部访问也需要身份认证

能用SSRF做什么?


1、扫描内部网络( FingerPrint )
2、向内部任意主机的任意端口发送精心构造的数据包{Payload}
3、DOS(请求大文件,始终保持连接Keep-Alive Always )
4、暴力穷举( users/ dirs / files )

从靶场界面看,输入地址就能访问你想访问的页面,其核心为攻击内网

SSRF——服务端请求伪造_第1张图片

都给了百度的提示了,那就进baidu.com

SSRF——服务端请求伪造_第2张图片

显示百度的80端口的连接被拒绝

试试81端口,显示错误

SSRF——服务端请求伪造_第3张图片

 那就试试其他网站,也是被拒绝

SSRF——服务端请求伪造_第4张图片

 这是为什么呢?Burp抓包试一试

SSRF——服务端请求伪造_第5张图片

 

SSRF——服务端请求伪造_第6张图片

 

会发现第一个用URL去搜索的百度比第二个在靶场搜索的host不同

第二个靶场里的就是利用一个可发起网络请求的服务当作跳板来攻击其他服务,这就是SSRF攻击。

对百度进行端口爆破试试,等了半天,是没什么效果 

SSRF——服务端请求伪造_第7张图片

看来外网是不用考虑了,那就试试内网吧!!

输入http://127.0.0.1 ,发现回显是该页面的内容,说明能访问内网

SSRF——服务端请求伪造_第8张图片 

 异常?试试添加端口

输入http://127.0.0.1:80

SSRF——服务端请求伪造_第9张图片

怎么还是这种反应,端口改为81

这就很正常了,但是啥都没有,难道是用的函数不对试着改为了dict 

dict://127.0.0.1:81

SSRF——服务端请求伪造_第10张图片

啊这。。。。。 

看来思路是还是有问题,服务请求报错,说明dict函数是不行的,再试试ftp,sftp,file都还是不行

SSRF——服务端请求伪造_第11张图片 

 

容我想一想,在上面http://127.0.0.1:81时好像就没有回显了,其他的都有,那去看看源码。真不行端口爆破一下试试

好家伙,竟然在这呢!!!

SSRF——服务端请求伪造_第12张图片

嘿嘿,还没上Burp呢,结果就出来了

flag{ssrf_good_hacking}

好吧好吧这题结束吧

你可能感兴趣的:(网络基础,小白入坑,笔记,安全,服务器,http)