CSRF以及SSRF
CSRF
基本原理
CSRF(Cross-site Request Forgery,跨站请求伪造)是一种针对网站的恶意利用。
CSRF攻击可以利用用户已经登陆或已经授权的状态,伪造合法用户发出请求给受信任的网点,从而实现在未授权的情况下执行一些特权操作。
CSRF与XSS听起来很像,但攻击方式完全不同。XSS攻击是利用受信任的站点攻击客户端用户,而CSRF是伪装成受信任的用户攻击受信任的站点。
参考:
CSRF漏洞详解:https://blog.csdn.net/xcxhzjl/article/details/121411039
实现前提
●用户成功登陆了网站系统,能执行授权的功能。!!!
●目标用户访问了攻击者构造的恶意URL,比如恶意引导用户点击含有恶意URL的网址。
基本操作
CSRF–pikachu演示:5:00
检测有无CSRF漏洞:11:40
1、一般存在于有修改、更新、删除个人信息的页面。
2、可以xss配合csrf。
CSRF防御方案
1、当用户发送重要的请求时需要输入原始密码。
2、设置随机 Token。(最有效)
Token:相当于是每一个数据包的编号,若检测当前数据包的Token对应不上,则直接取消此操作。是服务器端源码生成的,可以放在一个hidden表单里面,客户端提交的时候post回服务端检验。
3、检验 referer 来源,请求时判断请求链接是否为当前管理员正在使用的页面(管理员在编辑文章,
黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败)–同源策略。
4、设置验证码。
5、限制请求方式只能为 POST。
SSRF(important)
原理:https://www.cnblogs.com/happystudyhuan/p/11802961.html
SSRF漏洞介绍:
SSRF漏洞(服务器端请求伪造):是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)。
简单SSRF漏洞:30:00
对SSRF漏洞的“抽象”解释:40:00
SSRF漏洞原理:
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。利用的是服务端的请求伪造。SSRF是利用存在缺陷的web应用作为代理攻击远程和本地的服务器。
1 | 其实就是借助服务器的SSRF漏洞,使服务器成为一个“跳板”,通过这个“跳板”便可以探针内网。 |
SSRF漏洞利用手段:
通过http、file(访问服务器自身–本地,无法探测内网)、dict、ftp、gopher等协议
1.可以对外网、内网、本地进行端口扫描,某些情况下端口的Banner会回显出来(比如3306的)–端口扫描;
2.攻击运行在内网或本地的有漏洞程序(比如溢出);
3.可以对内网Web应用进行指纹识别,原理是通过请求默认的文件得到特定的指纹;
4.攻击内网或外网有漏洞的Web应用;
5.使用file:///协议读取本地文件(或其他协议)
SSRF漏洞较容易出现地点:
1.分享:通过URL地址分享网页内容
2.转码服务(通过URL地址把原地址的网页内容调优,使其适合手机屏幕的浏览)
3.在线翻译
4.图片加载与下载:通过URL地址加载或下载图片
5.图片、文章收藏功能
6.未公开的api实现及调用URL的功能
7.从URL关键字中寻找
SSRF示例演示–本地:51:00
!!!SSRF示例演示–实战(真实示例):1:00:00
注意:
1、如何知道其内网段?
内网段一般都是10.xx.xx.xx或192.xx.xx.xx,用字典爆破,看哪个有返回信息即可。
2、