概述
任何网站的本质是数据包的传递
XSS:窃取Cookie(可以获取)
CSRF:利用Cookie(不能获取,只能借用)
CSRF本质:
浏览器在你不知情的情况下偷偷发送数据包(Ajax异步传输),通过JS去发送请求,然后获取信息
至于浏览器为什么会偷偷发送数据包,这里面涉及到一个信任机制,浏览器会认为你主动访问某一个网站,代表你信任那个网站
利用CSRF方法:
1、存在CSRF
2、需要自己做一个貌似合理的页面骗受害者点击
3、目标登陆过存在CSRF的这个网站,并且权限没有掉
CSRF防御方法:
网站:token(唯一解,Cookie里面有一段随机值)
用户:开启无痕浏览、隐私模式
CSRF常见的地方:
1、CMS(源码是固定的,数据包可以构建)
2、用户改用户
CSRF检测方法:
找到一个站,登录A用户,修改自己的账号密码,把数据包做成CSRF,换一个浏览器,登录 B,点击做好的CSRF,只要能修改密码,就存在CSRF
CSRF成因:
1、Cookie不过期
2、网站没有进一步验证用户信息
3、用户安全意识薄弱,访问了恶意站点
我们进入靶场:
这次的靶场是一个CMS,首先我们需要本地安装一个dedecms,然后登录后台,在后台的文件式管理器处新建一个文件666.php,内容为一句话木马,点击保存,然后Burp抓包,我们会得到一个数据包,然后鼠标右键,选中图示功能处,生成一个CSRF的页面
我们将这个生成的HTML代码复制到我们安装dedecms的目录下,命名为1.html,我们访问这个1.html,可以看到有一个按钮,我们点击之后,他会生成一个文件,文件为666.php,这个文件我们在网站后台处也能看到,但是这个需要用户点击之后才能生成一个木马文件,非常的不方便,所以我们需要在生成的这个HTML代码中加一段新的代码
在图中我们可以看到用红色框中的代码就是我们新加入的,这个是自动点击的,aaa这个可以自己命名,如果要重新命名,记得红色箭头标中的两个都要改,然后我们再访问这个1.html文件的时候,它就会自动提交并生成一个666.php文件
我们在本地做好了CSRF需要的文件,我们现在到靶场验证一下,首先需要把我们本地的地址改为靶场的地址,然后验证靶场的/dede/file_manage_control.php这个文件夹,看看存不存在,发现页面空白,那我们访问一个/dede/file_manage_control2.php,发现页面报错,所以我们判断靶场是存在这个文件夹的
然后就是路径,靶场的路径不可能和咱们自己搭建的一样,所以我们需要试一试,一般是试一下默认的文件夹,我们看到网站的URL栏上面有一个newcsrf,所以我们可以试一下在后面加一个uploads,可以看到有内容 ,所以这个路径是存在的,我们需要改一下HTML的这个路径
改好的代码如下图,我们将地址和路径改了之后就是这样的
这样全都做好了之后,把这个1.HTML放到我们自己的公网服务器上面,然后想办法让网站管理员访问我们发的链接,然后就可以直接菜刀连马了
最后
以上就是风趣鲜花为你收集整理的CSRF-跨站请求伪造的全部内容,希望文章能够帮你解决CSRF-跨站请求伪造所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复