网络安全-SSRF漏洞原理、攻击与防御 (1)

概述

SSRF(Server-Side Request Forgery,服务器端请求伪造) 是一种由攻击者构造请求,由服务端发起请求的一个安全漏洞。一般情况下,SSRF 攻击的目标是从外网无法访问的内部系统,因为服务器请求天然的可以穿越防火墙。漏洞形成的原因大多是因为服务端提供了从其他服务器应用获取数据的功能且没有对目标地址作正确的过滤和限制

原理

SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档等等。SSRF漏洞通过篡改获取资源的请求发送给服务器(服务器并没有检测这个请求是否合法的),然后服务器以他的身份来访问服务器的其他资源。SSRF利用存在缺陷的Web应用作为代理攻击远程和本地的服务器。

PHP中下面函数的使用不当会导致SSRF:

  • file_get_contents()
  • fsockopen()
  • curl_exec()

伪协议

  • file://:从文件系统中获取文件内容,如,file:///etc/passwd
  • dict://:字典服务器协议,访问字典资源,如,dict:///ip:6739/info
  • gopher://:分布式文档传递服务,可使用gopherus生成payload。

挖掘SSRF漏洞

能够对外发起网络请求的地方,就可能存在SSRF漏洞。

  • 从远程服务器请求资源(Upload from URL,Import &Export RSS feed)
  • 数据库内置功能(Oracle[UTL_HTTP]、MongoDB、MSSQL、Postgres、CouchDB)
  • Webmail 收取其它邮箱邮件(POP3/IMAP/SMTP)
  • 文件处理,编码处理,属性信息处理(ffpmg,ImageMaic,DOCX,PDF,XML处理器)

利用技巧

利用条件:被攻击的服务等没有开启加密传输与鉴权。

  • 端口扫描(扫描内网)
  • 攻击内网存在漏洞的服务
  • 攻击Web应用进行指纹识别及其中的漏洞
  • 如果PHP安装了expect扩展,可以通过expect协议执行系统命令
  • dos攻击
  • file 协议暴力枚举敏感文件

Redis未授权漏洞的6种利用方法

  1. 保存文件到www目录,形成webshell
  2. 创建authorized_keys文件,利用ssh 私钥登录服务器
  3. 写计划任务(/var/spool/cron/ & /etc/cron.d/)
  4. slave of 8.8.8.8 主从模式利用
  5. 写入到/etc/profile.d/ 用户环境变量修改
  6. 开启AOF持久化纯文本记录 appendfilename

攻击举例

使用靶机:pikachu

curl

我们可以看到一个url参数。

我们修改一下

url=file:///C:/Windows/win.ini

查看到win.ini文件

我们进行了SSRF攻击,成功查看到服务器的敏感文件内容。关于Windows和Linux的敏感文件路径,可以百度一下。

同样

绕过

正则绕过

http://xample.com@evil.com

配置域名

手上有可控域名,可将域名指向想要请求的IP

进制、特殊ip绕过

IP地址转为八、十、十六进制及IP地址省略写法(以下均代表127.0.0.1)

  •        0177.00.00.01
    
  •        2130706433
    
  •        0x7f.0x0.0x0.0x1
    
  •        127.1
    

库绕过

利用检测时使用的URL parse库与请求时使用的parse库的差异绕过,如 http://1.1.1.1 &@2.2.2.2# @3.3.3.3/ 不同的parse库的解析结果不一样

urllib2 : 1.1.1.1

requests + browsers : 2.2.2.2

urllib : 3.3.3.3

dns重定向绕过

设置两条A记录,利用dns重绑定绕过检测,第一次解析返回正常ip,第二次返回内网地址(dns解析记录缓存存活的时间为0,相当于每次解析都要去重新请求dns服务器,无法在本地缓存)

xip.io

一个很有趣的网站,域名解析为ip,例子如下:

      **10.0.0.1.xip.io        resolves to   10.0.0.1  
  www.10.0.0.1.xip.io   resolves to   10.0.0.1  

mysite.10.0.0.1.xip.io resolves to 10.0.0.1
foo.bar.10.0.0.1.xip.io resolves to 10.0.0.1
192.168.20.46.xip.io resolves to 192.168.20.4**

30x重定向

利用30x重定向去访问内网

使用 xray 反连平台挖掘和验证 SSRF

CRLF 编码绕过

%0d->0x0d->\r回车

%0a->0x0a->\n换行

进行HTTP头部注入

example.com/?url=http://eval.com%0d%0aHOST:fuzz.com%0d%0a 

防御

限制请求的端口只能为Web端口,只允许访问HTTP和HTTPS的请求。

限制不能访问内网的IP,以防止对内网进行攻击

屏蔽返回的详细信息

工具

gopherus

利用gopher协议,可以攻击

  • MySQL (Port-3306)
  • FastCGI (Port-9000)
  • Memcached (Port-11211)
  • Redis (Port-6379)
  • Zabbix (Port-10050)
  • SMTP (Port-25)

网络安全工程师(白帽子)企业级学习路线

第一阶段:安全基础(入门)

img

第二阶段:Web渗透(初级网安工程师)

img

第三阶段:进阶部分(中级网络安全工程师)

img

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,### 如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

如果你对网络安全感兴趣,学习资源免费分享,保证100%免费!!!(嘿客入门教程)

👉网安(嘿客)全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

img

👉网安(嘿客红蓝对抗)所有方向的学习路线****👈

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

img

学习资料工具包

压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。

在这里插入图片描述

面试题资料

独家渠道收集京东、360、天融信等公司测试题!进大厂指日可待!
在这里插入图片描述

👉嘿客必备开发工具👈

工欲善其事必先利其器。学习客常用的开发软件都在这里了,给大家节省了很多时间。

这份完整版的网络安全(客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接也可扫描下方微信二v码获取网络工程师全套资料【保证100%免费】

在这里插入图片描述

如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

  • 30
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值