什么是csrf?
全称是跨站请求伪造( cross site request forgery),是一种对网站的恶意利用,就是一个中间人,当客户登录到网站上面时,会在本地生成一个cookie,如果你没有退出账户的话,攻击者就会以客户的身份,继续访问网站。比如以你的名义发送邮件、发消息,盗取你的账号,虚拟货币转账等。
csrf攻击原理?
1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
5. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。
csrf防御措施有哪些?
1、通过验证http请求头部的referer值,看看有没有改变,判断是否出现错误。
2、验证token值token 可以在用户登陆后产生并放于 session 之中,然后在每次请求时把 token 从 session 中拿出,与请求中的 token 进行比对,
3、尽量使用POST传值方式,限制GET传值使用。
ssrf漏洞原理?
全称是SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。SSRF的实质是利用存在缺陷的web应用作为代理攻击远程和本地的服务器
ssrf漏洞常出现位置?
1、通过URL地址分享网页内容
2、转码服务
3、在线翻译
4、图片加载与下载:通过URL地址加载或下载图片
5、图片、文章收藏功能
6、未公开的api实现以及其他调用URL的功能
7、从URL关键字中寻找
ssrf漏洞验证手法?
1、因为SSRF漏洞是让服务器发送请求的安全漏洞,所以我们就可以通过抓包分析发送的请求是否是由服务器的发送的,从而来判断是否存在SSRF漏洞
2、在页面源码中查找访问的资源地址 ,如果该资源地址类型为 www.baidu.com/xxx.php?image=(地址)的就可能存在SSRF漏洞
ssrf漏洞的防范措施?
1、过滤返回的信息,那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
2、统一错误信息,避免用户可以根据错误信息来判断远程服务器的端口状态。
3、限制请求的端口,比如80,443,8080,8090。
4、禁止不常用的协议,仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp://等引起的问题。
5、使用DNS缓存或者Host白名单的方式。
来源:freebuf.com 2020-07-09 15:21:46 by: AL陈先生123
请登录后发表评论
注册