什么是CSRF?

CSRF(Cross-site request forgery)跨站请求伪造:也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

实说白了, csrf漏洞的成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个都网站,会默认你已经登录的状态。而在这个期间,攻击者发送了构造好的csrf脚本或包含csrf脚本的链接,可能会执行一些用户不想做的功能(比如是添加账号等)   js(可以发送数据包) ajax

CSRF和SSRF的区别

CSRF为跨站请求伪造,SSRF为服务器请求伪造,CSRF的核心是让客户端的浏览器去访问,SSRF核心是让服务器去访问。

CSRF与XSS的区别

csrf伪造请求,xss为跨站脚本攻击,一个为伪造cookie等验证信息,一个则是使用一个脚本攻击。

XSS 核心是操作目标网站的HTML代码 窃取Cookie

CSRF 核心是在非目标网站的HTML代码做手脚 让受害者浏览器偷偷的去访问目标网站。

为什么CSRF会利用的cookie信息可以不过过期?

因为Cookie具有时效性,但时效性不一定,常见的是一次会话,什么是一次会话?就是浏览器关闭开启一次。

Cookie是什么?

Cookie就是个验证信息,用于对登陆的用户进行一个验证,看看是什么身份。

Cookie在CSRF中的作用?

CSRF中,就是利用这个cookie,来盗用其他用户的身份来进行操作,就相当于有个人拿了你的身份证去上网,cookie就相当于这个身份证

CSRF怎么和XSS打组合拳

首先使用XSS直接执行CSRF的JS恶意语句

csrf可以用于钓鱼吗

可以,可以和xss一起用,用一个反射型的xss,盗取cookie后,构造csrf脚本或脚本去攻击

CSRF的成因

Cookie不过期,没有进行进一步的验证用户信息,没有安全意识访问了恶意站点

csrf的操作流程

用户A登陆B站,在登陆网站B时,收到了攻击者C发送的盗取cookie进行操作的链接到C,得到cookie后csrf进行操作

csrf能有什么操作

转账,修改密码,越权等N种操作

一定要登陆A时同时访问C吗

不一定,cookie都有时效性,一次性的cookie必须这样,不是一次性的则会存在硬盘中

CSRF可以直接盗取在本地的cookie吗

不可以,但这是xss的操作,csrf只是利用cookie

CSRF的载体

一个包含恶意链接或脚本

csrf poc是什么

一个带验证的数据表单的脚本或链接,内有要操作的数据

csrf操作过程

生成一个脚本或链接,当你操作时触发,就获得你在目标网站上的cookie把数据提交到目标地址,当你访问或者操作时,浏览器偷偷执行了攻击者的操作

csrf是什么

csrf为跨站请求伪造,伪造利用其它用户来完成请求操作,简单来说就是让别人来进行我想要的操作

token防御csrf原理

Token就是一段字母数字的随机值,访问时服务端会生成一个随机的token值并传回到前端的表单里,当我们提交表单时,token会作为一个参数提交到服务端进行验证 [终极方案]

referer防御csrf原理

Refer记录了该http请求的来源地址,访问一个安全受限页面请求必须来自同一个网站,如果不是则请求不合法无法生效  [可绕过]

如何绕过token

Token的生成一定要随机,有些Token根本就不验证或者时间戳做Token

如果存在xss漏洞,token防御将无效

csrf如何绕过referer

当浏览器的检测不严,比如referer值为空时,可以绕过

Referer可以伪装绕过

来来来,进靶场

我的网站http://59.63.166.75:8010/newcsrf/

去搭建自己的织梦网站吧

结果按照别人形同的文件路径进去是一片空白,查找资料看见

出现莫名的错误,如安装时显示空白,这样能是由于系统没装载mysql扩展导致的,对于初级用户,可以下载dede的php套件包,以方便简单的使用。

1)php文件被使用记事本编辑或其他情况造成文件中存在BOM头导致代码运行错误,这种情况可以在网上下载php一键清除BOM工具进行清除。

2)DEDECMS多数代码采用PHP4的语句,在较新的PHP主机环境中不支持。需要对代码进行适当调整。

如includeuserlogin.class.php文件中的 session_register函数PHP5.4以后就不在支持,注释掉相关代码即可。

3)DEDE系统某处出现错误,但是由于DEDE默认是屏蔽了代码错误提示,造成无法看到错误提示。

解决方法找到includecommon.inc.php文件,打开,查找程序代码:error_reporting(E_ALL);error_reporting(E_ALL  ~E_NOTICE);替换为error_reporting(E_ALL);error_reporting(E_ALL  ~E_NOTICE);

然后即可根据错误提示来解决问题。

4)进入datasessions 目录删除缓存数据,然后在测试。如果是在服务器端一般是文件权限的问题,只需设置文件的user权限即可。

搞了好一会儿,总算进来了

发现木马文件可以生效,再开burp抓包,制作为CSRF

将http://192.168.102.170/uploads/dede/file_manage_control.php

改为http://192.168.102.170/newcsrf/dede/file_manage_control.php

看两个地址是否同源,可以登录查看,若不会报错就是同源

然后在投诉模块上传CSRF攻击文件

连接蚁剑,得到flag.php文件,得到flag

CSRF - 跨站请求伪造相关推荐

  1. Web框架之Django_09 重要组件(Django中间件、csrf跨站请求伪造)

    摘要 Django中间件 csrf跨站请求伪造 一.Django中间件: 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于 ...

  2. CSRF 跨站请求伪造 为什么b网站请求a网站的地址能带上a网站的cookie

    知道csrf后的问题:CSRF 跨站请求伪造 为什么b网站请求a网站的地址能带上a网站的cookie 答:script.image.iframe的src都不受同源策略的影响.

  3. 8中间件,csrf跨站请求伪造,auth模块

    昨日内容回顾  多对多三种创建方式   1.全自动    完全依赖于ManyToMany让django orm自动创建第三张表    优势:不需要你创建第三张表  自动创建    不足:第三张表扩展性 ...

  4. python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页)...

    python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页) 一.ajax登录示例 新建项目login_ajax 修改urls.py,增加路径 fro ...

  5. XSS跨站脚本攻击与CSRF跨站请求伪造攻击的学习总结。

    之前就了解过这方面的知识,但是没有系统地总结.今天在这总结一下,也让自己在接下来的面试有个清晰的概念. XSS跨站脚本攻击: xss 跨站脚本攻击(Cross Site Scripting),为了不和 ...

  6. XSS跨站脚本攻击与CSRF跨站请求伪造攻击的学习总结

    转载:https://blog.csdn.net/baidu_24024601/article/details/51957270 XSS跨站脚本攻击与CSRF跨站请求伪造攻击的学习总结. <di ...

  7. CSRF 跨站请求伪造攻击

    1.概念 全称是CSRF 跨站请求伪造攻击,攻击者利用用户已登陆的账号,诱导用户访问已构造好的恶意链接或页面,在用户不之情的情况下,做一些违反用户本意的一些违法操作. 同源策略:协议相同,域名相同,端 ...

  8. CSRF跨站请求伪造 | 总结记录

    CSRF跨站请求伪造 CSRF通常会配合XSS. 服务端错把浏览器发起的请求当成用户发起的请求,会造成XSS问题. 产生原因: 1.同上. 2.已登录的浏览器打开恶意网址后执行了相应操作. 一些概念 ...

  9. 浏览器安全之CSRF跨站请求伪造

    基本概念 跨站请求伪造(Cross-site request forgery)简称CSRF,尽管与跨站脚本漏洞名称相近,但它与跨站脚本漏洞不同.XSS利用站点内的信任用户,而CSRF则通过伪装来自受信 ...

  10. CSRF(跨站请求伪造)漏洞

    CSRF(Cross-site request forgery) 跨站请求伪造,由客户端发起,是一种劫持受信任用户向服务器发送非预期请求的攻击方式,与XSS相似,但比XSS更难防范,常与XSS一起配合 ...

最新文章

  1. 2009年国内十强开源CMS排行榜[转]
  2. 虚拟化--YESLAB DC Vphere5 上课PDF
  3. 既然使用神经网络也可以解决分类问题,那SVM、决策树这些算法还有什么意义呢?...
  4. ML 03、机器学习的三要素
  5. android studio 控件提示大写
  6. 基于LZ77算法的文件解压缩项目缺陷分析
  7. 《Apache SkyWalking实战》送书活动结果公布
  8. 对一组同构对象用单数组表示法实现(算法导论第十章10.3-2)
  9. java byte数组string_byte数组和String之间的转化
  10. 深根固柢 云起磐石——移动云大云磐石服务器重磅推出
  11. 【JAVA基础篇】内部类
  12. SQL Server 2016 新功能之综述
  13. 【五级流水线CPU】—— 6. 加载存储指令(14)
  14. python处理excel的优势-用Python读写Excel文件的方式比较
  15. auto_ptr scoped_ptr shared_ptr weak_ptr unique_ptr
  16. java之mybatis之缓存
  17. Path.Combine 合并两个路径字符串,会出现的问题
  18. 学习笔记-Speed-Win
  19. 拆装计算机主机,计算机主机拆卸步骤[多图]
  20. 教老妈学认字的战斗史

热门文章

  1. 设计模式-行为型软件设计模式(四)
  2. 软件测试 (5) 数据库语句
  3. SDIO接口(4)——SDIO通信
  4. 传智播客黑马程序员28期JavaEE基础及就业班视频教程
  5. Kotlin教程,从入门到精通
  6. matlab有限元分析教程,Matlab做有限元分析
  7. matlab 电机 热仿真,MATLAB在电机仿真中的应用
  8. Axure RP 8--模板的使用
  9. 性能优化大牛 Brendan Gregg 的新书要来了
  10. android游戏存档在哪里,网易安卓模拟器游戏存档在哪个文件夹的详细解析