当前位置: 首页 > news >正文

第十周SSRF漏洞

1.SSRF漏洞

SSRF(Server-Side Request Forgery:服务端请求伪造)是由攻击者构造形成,由服务端发起请求的一种安全漏洞一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。正是因为它是由服务端发起的,所以它能够访问到与它相连而与外网隔离的内部系统。

大多是由于服务端提供了从其他服务器(相当于中介)应用获取数据的功能,但又没有对目标地址做严格过滤与限制,导致攻击者可以控制后端服务器对传入的任意地址发送请求,并返回对该目标请求的响应。

通过控制Web服务器当作跳板机来发起请求,攻击内网中其他服务从而获得内网的敏感信息。比如,通过控制前端请求的远程地址,来让请求数据由远程URL域名修改为本地或者内网的IP地址及服务,来造成对内网系统的攻击。

案例的话可以:360某处ssrf漏洞可探测内网信息(附内网6379探测脚本) | wooyun-2016-0229611| WooYun.org

1.1漏洞危害

  1. 扫描内网开放服务
  2. 向内部任意主机的任意端口发送 payload 来攻击内网服务
  3. DoS 攻击(请求大文件,始终保持连接 Keep-Alive Always)
  4. 攻击内网的 Web 应用,例如直接 SQL 注入、XSS 攻击等
  5. 利用 file、gopher、dict 协议读取本地文件、执行命令等

1.2漏洞检测和绕过

对于不同语⾔实现的Web系统,可以使⽤的协议也存在差异
phphttphttpsfilegopherphardictftpsshtelnet...
javahttphttpsfileftpjarnetdocmailto...
场景1:限制为 http://www.xxx.com 域名:可以尝试采⽤http基本身份认证的⽅式绕过,通过添加@来构造URL:
场景2:限制请求IP不为内网地址:可采用短网址绕过 :短网址-短链接生成
我们的网址不仅仅可以是常用的127
也可以使⽤在线在线进制转换在线进制转换 | 进制转换器 — 在线工具, 127转换16进制为7f,系统中表示16进制前⾯要加0x,8进制前加0
哪⼀种进制可以绕过和程序后端的处理逻辑有关系,需要我们不断进行尝试。我们
可以对 127.0.0.1 使用进制转换
八进制:0177.0.0.1
十六进制:0x7f.0.0.1
十进制:2130706433
这些玩意就相当于小名一样照样可以使用

场景3:限制请求只为http协议:采⽤302跳转(访问的是A,跳转到B),还是用短网址-短链接生成,也可以用其他的短网址生成 - 7OK.CN

场景4:利用句号绕过

SSRF绕过方法总结:SSRF绕过方法总结 - SecPulse.COM | 安全脉搏

1.3漏洞出现点

share
wap
url
link
src
source
target
display
sourceURl
imageURL
domain
还有其他的可以自己找
挖掘SSRF漏洞方法
  1. 观察法:观察 URL 中是否有 share、url、image 等关键字,可能存在 SSRF 漏洞,尝试将关键字的值修改为内网地址并发起请求。
  2. 使用 DNSLog 等工具进行测试,查看是否被访问。生成一个域名用于 SSRF 漏洞测试,看漏洞服务器是否发起 DNS 解析请求,若成功访问在DNSLog Platform上就会有解析日志。就代表有SSRF漏洞,但执行不了的话也不能完全证明没有漏洞

  1. 抓包分析发送的请求是不是由服务端发送的,如果不是客户端发出的请求,则有可能存在 SSRF,接着寻找存在 HTTP 服务的内网地址尝试发起访问。
  2. 访问日志检查:伪造请求到自己控制的公网服务器,然后在服务器上查看访问日志是否有来自漏洞挖掘 SSRF 漏洞的服务器(即服务端)的请求。
  3. 扫描工具。

1.4实验来看看。

使用Pikachu演示

更改http后面,或者使用dnslog

还可以利用file协议

因为源码

SSRF(file_get_content)

file_get_content()函数的作用是把整个文件读入一个字符串中。

php://filter(伪协议)可以在访问数据流之前进行「过滤」,并指定过滤方式,用于对来自非安全来源的数据(比如用户输入)进行验证和过滤。前提是代码不是串接代码,就是前面没有字符串

名称
描述
resource=<要过滤的数据流>
这个参数是必须的。它指定了你要筛选过滤的数
据流,即要读的⽂件。
read=<读链的筛选列表>
可选。可以设定⼀个或多个过滤器名称,
以管道符(`
write=<写链的筛选列表>
可选。可以设定⼀个或多个过滤器名称,
以管道符(`
<;两个链的筛选列表>
任何没有以 read= write= 作前缀 的筛
选器列表会视情况应⽤于读或写链。
http://127.0.0.1/vul/ssrf/ssrf_fgc.php?file=php://filter/resource=ssrf.php

当 PHP 文件被服务器解析时,我们无法直接获取其源代码。若要获取网站的源代码,需要先对代码进行编码处理,使其不被服务器解析,获取编码后的内容后再进行解码,这样就能得到网站的源代码了。在read参数中加入 convert.base64-encode
再把代码复制下来利用赛博厨子来解析。

2.XXE漏洞

外部实体注入(XXE)漏洞。这种漏洞产生的根本原因是 XML 解析器在处理包含外部实体引用的 XML 文档时,没有对外部实体进行严格的安全限制和过滤,导致攻击者可以构造恶意的 XML 内容,诱导解析器加载并执行外部资源,从而可能造成敏感信息泄露、服务器端请求伪造等安全问题。

xml简介

XML是一种用于结构化电子文档的标记语言,能够标记数据并定义数据类型。作为可扩展的标记语言,它允许用户自定义标记规则。典型的XML文档包含三个主要部分:XML声明、文档类型定义(DTD)和文档元素。(XML 被设计用来传输和存储数据,不用于表现和展示数据

XML 文档声明,在文档的第一行 
XML 文档类型定义(DTD),这里也是XXE漏洞所在的地方
XML 文档元素统一字体
DTD实体是⽤于定义引⽤普通⽂本或特殊字符的快捷⽅式的变量,因为DTD(⽂档类型定义)分为内部 声明和外部引⽤两种利⽤⽅式,所以DTD实体⼜可以分成内部声明实体和外部引⽤实体。
内部声明实体 <!DOCTYPE 实体名称 "实体的值">
引⽤外部实体 <!DOCTYPE 实体名称 SYSTEM "URL"> 或者 <!DOCTYPE 实体名称 PUBLIC "public_ID" "URL">
外部引用实体即引用外部资源,有两个关键字 SYSTEM 和 PUBLIC ,表示实体来自本地计算机还是公共计算机。这里的“外”是相较于XML文档本身而言的。外部引用实体的利用会用到协议如下。
正是因为外部实体⽀持http、file等协议,那么就有可能通过引⽤外部资源进⾏远程⽂件读取。

危害:

当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网服务等危害。

读取任意文件:PHP中可以通过FILE协议、HTTP协议和FTP协议读取文件,还可利用PHP伪协议
执行系统命令:这种情况很少发生,但在配置不当或者开发内部应⽤情况下(PHP expect模块被加载到了易受攻击的系统或处理XML的内部应⽤程序上),攻击者能够通过XXE执行代码。

Pikachu演示

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE note [<!ENTITY hack "magedu">
]>
<name>&hack;</name>
并不是所有的XXE会有回响的。
在服务端开启了DTD外部引用且没有对DTD实体进行过滤的情况下,可以利用DTD实体引用系统关键文件(引用外部实体)。
<?xml version="1.0"?>
<!DOCTYPE ANY [
<!ENTITY magedu SYSTEM "file:///etc/passwd">(如果没有回响的可以更改为DNSlog来查看是否有xxe漏洞)
]>
<x>&magedu;</x>(必须引用的,跟上面的一摸一样)

3.目录遍历漏洞(相当于信息泄露)

是由于网站本身存在配置缺陷,导致网站目录可以被任意浏览,从而使得使得攻击者可以访问到原本不具备权限访问的内容,造成信息泄露,为攻击者实施进一步的网络入侵提供帮助。
原理:
由于用户输入的文件名可以任意更改且服务器支持“~/”、“../”等目录跳转符,而网站在实现上又没有过滤用户输入的目录跳转符,从而导致攻击者可以拼接路径来遍历服务器上的目录或者文件,造成目录遍历漏洞。
查看文件时,在文件名添加../
http://www.magedu.com/getfile=..\..\..\windows\win.in
服务器再次处理传送过来的 ..\..\..\windows\win.ini 文件名,自动添加完整路径:
c://site/hack/..\..\..\windows\win.ini

文件包含和目录遍历的区别

  • 文件包含漏洞是通过include、require、read等函数把文件读取到当前路径内并进行加载和解析,而目录遍历漏洞则是中间件配置不完善所引发的问题,一般不具备解析功能。
  • 从URL表现来看:文件包含中URL = 后面的内容通常是文件名,而目录遍历中URL = 后面的内容不⼀定是⽂件名,也有可能是目录。
  • 从内容表现来看:文件包含造成的信息泄漏,泄漏的信息是展示在HTML文件中,而目录遍历引发的泄漏可能是泄漏文件自身。
  • 从攻击效果来看:⽂件包含可以实现Getshell,⽬录遍历则是造成信息泄露。

如何发现⽬录遍历漏洞

1.手工发现

2.自动化扫描

利用avws,goby

常见绕过

1.绝对路径绕过

应用程序禁用了目录跳转符如 ../ ,直接换成绝对路径即可实现绕过。

../../../etc/passwd ===> /etc/passwd

2.双写绕过

应用程序通过正则匹配目录跳转符然后清除,但是仅清除⼀次,所以利用双写即可实现绕过。

../../../etc/passwd ===> ..././..././..././etc/passwd

3.编码绕过

这⾥只是以URL编码作为举例,其他编码也是同样的道
../../../etc/passwd ===> ..%2f..%2f..%2fetc%2fpasswd

4.加密参数绕过

应用程序对文件名加密后再提交。

../../../etc/passwd ===> Li4vLi4vLi4vZXRjL3Bhc3N3ZA==

5.预期路径绕过

应用程序仅检测路径的开头部分是否预期路径(比如要求开头部分是 /var/www/html ),如果是预期路径则允许通过,此时可以利用 起始预期路径+相对路径 的方法来实现绕过。
../../../etc/passwd ===> /var/www/html/../../../etc/passwd

实验

http://pikachu_ip/vul/dir/dir_list.php?title=../../../../../../etc/passwd

4.CSRF漏洞

跨站请求伪造(也称 CSRF),是一种挟持用户在当前已登录的Web应用程序上执行非本意操作的攻击方法,允许攻击者诱导用户在不知情的情况下执行他们并不打算执行的操作(改密码什么之类的)。当用户访问包含恶意代码的网页时,会向指定正常网站发送非本人意愿的请求数据包,如果此时用户恰好登录了该正常网站(也就是身份验证是正常的),就会以该用户的身份执行该恶意代码的请求,从而造成CSRF漏洞。当你U

  • 一个功能操作。应用程序中存在攻击者有可能诱导用户的操作,这可能是特权操作(例如修改其他用户的权限)或对用户特定数据的任何操作(例如更改用户的邮箱、密码)。 
  • 基于 Cookie 的会话处理。执行该操作涉及发出一个或多个 HTTP 请求,并且应用程序仅依赖会话 cookie 来识别发出请求的用户,没有其他机制可用于跟踪会话或验证用户请求。
  • 没有不可预测的请求参数。执行该操作的请求不包含攻击者无法确定或猜测其值的任何参数。例如,当用户更改密码时,如果攻击者需要知道现有密码的值,则该功能不会受到攻击,因为攻击者预先构造的恶意链接中无法提前预测并定义“现有密码”的值。

DVWA演示

可以看到密码是password

1.顶部的URL
http://127.0.0.1:8080/vulnerabilities/csrf/?password_new=123456&password_co
nf=123456&Change=Change#

更改密码

http://127.0.0.1:8080/vulnerabilities/csrf/?password_new=aaa&password_conf=
2&Change=Change#

这么长的地址一看就有问题,所以使用短网址,让人容易点击

访问地址,正常的来说是不希望有提示,可以更换一个短地址来写。

这样子就换好了。我们其实还可以更好的,把代码写的不会停留该页面过久,且不会输入提示。

真正的攻击是会找一个跟你的目标域名相似的,至少不会让人简单的看出破绽。就像风灵月影宗一样,也有人盗版它的,长的几乎一样,不细看的话分不出来。

http://www.dtcms.com/a/396242.html

相关文章:

  • Pyside6 + QML - 信号与槽06 - 一个信号触发多个函数
  • html5旅游网站八大员报名入口官网
  • 海外建站平台创建网站主题在哪里
  • 太阳能电池红外异常检测+光伏巡检创新+低空经济方案
  • 建阳网站建设wzjseo苏州网站优化哪家好
  • 自动化抓取谷歌AI实战
  • seo网站优化培训多少价格部署一个网站要做哪些工作
  • 如何免费注册网站域名个人注册公司的详细步骤
  • 龙华区住房和建设局网站官网钱多网站
  • 0基础如何做网站手机主页网站推荐
  • git status突然显示很多文件改动
  • 微网站免费软件互联网服务公司有哪些
  • 做婚纱摄影网站wordpress怎样添加模板
  • 成都科技网站建设咨指数
  • 化妆品销售网站的源代码好的空间网站
  • 快速构建网站网站上内容列表怎么做
  • 网站备案注销申请表深圳网站建设有没有市场
  • 通俗易懂地解释Bradley-Terry-Luce(BTL)模型
  • 互联网营销网站建设聊城网站建设报价
  • 做网站用什么ide制作动漫的软件
  • 建设单位到江川区住房和城乡建设局网站东莞网络推广产品的公司吗
  • 网站建设与制作实训报告qq说说赞在线自助下单网站
  • AVM 全景式监控影像系统:原理、应用与未来
  • 网站建设服务方案大型门户网站建设定制
  • 栾城住房和城乡建设局网站有哪些网站可以免费做推广的
  • 单页网站模板wap做亚马逊需要的图片外链网站
  • wordpress 适合做小说站吗2023网络营销案例分析
  • 做网站用哪种语言好广西送变电建设公司网站
  • 网站免费制作教程点餐小程序模板
  • 龙华网站建设主要工作大通证券手机版下载官方网站下载