![](https://img-blog.csdnimg.cn/1a8350480b174a8d93779e42716958b0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5q2j5Zyo6L-H5Z2O,size_20,color_FFFFFF,t_70,g_se,x_16)
什么是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/
去搭建自己的织梦网站吧
结果按照别人形同的文件路径进去是一片空白,查找资料看见
![](https://img-blog.csdnimg.cn/33e2adebca5c4ab69a971d09e29346bc.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5q2j5Zyo6L-H5Z2O,size_20,color_FFFFFF,t_70,g_se,x_16)
出现莫名的错误,如安装时显示空白,这样能是由于系统没装载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权限即可。
搞了好一会儿,总算进来了
![](https://img-blog.csdnimg.cn/5fcdf570fc8842409249af58f72302a7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5q2j5Zyo6L-H5Z2O,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/ea18e93aa5b4460185f14551e44895b7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5q2j5Zyo6L-H5Z2O,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/c090ad6d8f3e451f8c4ef24676263f6a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5q2j5Zyo6L-H5Z2O,size_20,color_FFFFFF,t_70,g_se,x_16)
发现木马文件可以生效,再开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攻击文件
![](https://img-blog.csdnimg.cn/8409f1c87c0e4cea86469cab63a7f9e0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5q2j5Zyo6L-H5Z2O,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/0b1de95b776a4d2ca6d8026321b939b8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5q2j5Zyo6L-H5Z2O,size_20,color_FFFFFF,t_70,g_se,x_16)
连接蚁剑,得到flag.php文件,得到flag
![](https://img-blog.csdnimg.cn/a430d52745cb4096b0c18e8906352022.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5q2j5Zyo6L-H5Z2O,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/d2b8d9d3b2cd4919ae93792a6e0243a4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5q2j5Zyo6L-H5Z2O,size_20,color_FFFFFF,t_70,g_se,x_16)