SSRF
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF 攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定 URL 地址获取网页文本内容,加载指定地址的图片,下载等等。
检测
SSRF 漏洞的验证方法:
1)因为 SSRF 漏洞是让服务器发送请求的安全漏洞,所以我们就可以通过抓包分析发送的请求是否是由服务器的发送的,从而来判断是否存在 SSRF 漏洞
2)在页面源码中查找访问的资源地址 ,如果该资源地址类型的就可能存在 SSRF 漏洞
SSRF 漏洞的成因 防御
绕过
成因:模拟服务器对其他服务器资源进行请求,没有做合法性验证。利用:构造恶意内网 IP 做探测,或者使用其余所支持的协议对其余服务进行攻击。防御:禁止跳转,限制协议,内外网限制,URL限制。绕过:使用不同协议,针对 IP,IP 格式的绕过,针对 URL,恶意 URL 增添其他字符,@之类的。301 跳转+dns rebindding。
上传
文件上传漏洞原理
由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件
常见的上传绕过方式
前端 js 验证:禁用 js/burp 改包
大小写
双重后缀名
过滤绕过 pphphp->php
防护
文件上传目录设置为不可执行
使用白名单判断文件上传类型
用随机数改写文件名和路径
审查上传点的元素有什么意义?有些站点的上传文件类型的限制是在前端实现的,这时只要增加上传类型就能突破限制了。
文件包含
原理
引入一段用户能控制的脚本或代码,并让服务器端执行 include()等函数通过动态变量的方式引入需要包含的文件;
用户能够控制该动态变量。
导致文件包含的函数
PHP:include(), include_once(), require(), re-quire_once(), fopen(), readfile(), … JSP/Servlet:
ava.io.File(), java.io.Fil-eReader(), … ASP:include file, include virtual,
本地文件包含
能够打开并包含本地文件的漏洞,被称为本地文件包含漏洞
更多关于网络安全培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。