学习记录-SSRF漏洞
注:文章仅用于学术交流,不用于其它用途
一、SSRF实质 通过目标站点访问其它服务,可以是内网或本机达到绕过防火墙获取信息,因为防御大部分对外不对内
二、如何判断是否有SSRF(两种标准) 1.从远程服务器请求资源,验证请求是不是由服务器发出,看可不可以对外发起网络请求 2.是否能访问本机或内网
三、如何去挖SSRF漏洞 1.转码服务,在线翻译,通过URL地址加载或下载图片,通过url地址分享网页内容,从url关键字查找, 比如url,link,target,sourceURL,imageURL 2.实不一定非要去找传参名之类的或者功能点,在我看来,如果哪个传参带了协议名或者是带了文件后缀,都可能存在SSRF, 一般而言有协议名传参的基本都有,如果是带了文件后缀的,很有可能存在SSRF漏洞或者任意文件下载或者任意文件读取。 xxx.com/xxx.php?page=xxx.php xxx.com/xxx.php?page=http:xxx
四、找到SSRF能做什么 1.扫描内部网络(可以暴力破解,获取内网ip) 2.扫描内部网络的任意端口(可暴力破解端口,获取端口信息) 3.扫描内网文件(可暴力破解,获取文件内容,常见协议file、http、ftp等, 若发现内网存在cms,可以使用通杀漏洞,若内网服务器有存在远程代码执行也称RCE漏洞,通过SSRF向内网发送木马获取shell) 4.dos攻击,请求大文件,保持keep-alive,消耗资源
五、SSRF如何防御 统一错误信息 限制请求的端口 过滤内网ip传参 禁用其他协议,允许http,https的信息 黑名单内
六、什么是网站远程代码执行漏洞 远程连接命令/代码执行漏洞,简称RCE漏洞,能够让攻击者直接向后台服务器远程写入服务器 系统命令或者代码,从而控制后台系统。RCE分为远程连接命令执行ping和远程代码执行evel 命令木马。
七、SSRF里的gopher协议的作用 它是在http出来之前的协议,与http非常相似,可以用这个协议发送各种格式的请求包(如get、post),因它可以发送TCP数据流,SSRF中,Gopher协议可以对FTP、Telnet、Redis、Memcache、mysql进行攻击