实验目的

掌握POST型CSRF基础知识

实验原理

管理员点击恶意链接,密码被修改

实验内容

POST型CSRF漏洞

实验环境描述

带有CSRF漏洞的注册登录系统

实验步骤

登录密码

用户名为 root 密码 toor

打开apache2

首先,双击,kali左侧快捷栏,从上往下数第二个图标,从而打开终端,之后,输入 service apache2 restart 并回车,如出现下图所示情况,即apache启动成功。 CSRF POST型

打开mysql

继续输入service mysql start并回车,如出现下图所示情况,即mysql启动成功 CSRF POST型

注册账户

双击kali左侧快捷栏从上往下数第一个图标,打开kali自带浏览器,在上面的地址栏中输入如下的地址

http://127.0.0.1/index.html

选择快速注册,填写相关信息后即可注册成功 CSRF POST型

登录账户

注册后点击登录跳转至登录页面,输入用户名密码即可登录 CSRF POST型

低级别POST型CSRF

查看源代码

双击,kali左侧快捷栏,从上往下数第三个图标,打开文件管理,进入目录 /var/www/html/chpasswd,打开low_post.php

CSRF POST型

可以看到这里使用了$_REQUEST来获取参数,这样get和post的数据都能够处理

点击恶意链接

在浏览器新开一个页面,在地址栏中输入http://127.0.0.1/exploit/low_post_exp.html,模拟管理员点击恶意链接的操作

进入页面后右键点击View Page Source可以查看网页源代码,可以看到底部有一个

   <img src=http://127.0.0.1/csrf/low_post.php?new_pass=123456&conf_pass=123456>

相当于管理员访问了这个链接,密码会被修改为123456

再一次登录

这时回到原来的页面,点击注销,登陆时可以发现原先的密码不对了,密码变为了123456

为方便后面的学习,可以点击修改密码将密码修改回去

高级别POST型CSRF

查看源代码

双击,kali左侧快捷栏,从上往下数第三个图标,打开文件管理,进入目录 /var/www/html/chpasswd,打开plus_post.php

CSRF POST型

点击恶意链接

在浏览器新开一个页面,在地址栏中输入http://127.0.0.1/exploit/plus_post.html,模拟管理员点击恶意链接的操作

进入页面后右键点击View Page Source可以查看网页源代码,可以看到构造了一个post类型的表单

CSRF POST型

相当于管理员发送了这个post数据,密码会被修改为123456

再一次登录

这时回到原来的页面,点击注销,登陆时可以发现原先的密码不对了,密码变为了123456

完美防御

双击,kali左侧快捷栏,从上往下数第三个图标,打开文件管理,进入目录 /var/www/html/chpasswd,打开impossible_ch.php CSRF POST型CSRF POST型

可以看到使用了post方式传递数据,并使用了checkpass函数检测原有密码是否正确

此时就比较安全了

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2022-12-23
  • 2021-10-22
  • 2022-12-23
相关资源
相似解决方案