• CSRF POST型


    实验目的

    掌握POST型CSRF基础知识

    实验原理

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

    实验内容

    POST型CSRF漏洞

    实验环境描述

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

    实验步骤

    登录密码

    用户名为 root 密码 toor

    打开apache2

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

    打开mysql

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

    注册账户

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

    http://127.0.0.1/index.html
    

    选择快速注册,填写相关信息后即可注册成功 图片描述

    登录账户

    注册后点击登录跳转至登录页面,输入用户名密码即可登录 图片描述

    低级别POST型CSRF

    查看源代码

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

    图片描述

    可以看到这里使用了$_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

    图片描述

    点击恶意链接

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

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

    图片描述

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

    再一次登录

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

    完美防御

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

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

    此时就比较安全了

  • 相关阅读:
    树形DP
    区间DP
    洛谷P1462 通往奥格瑞玛的道路
    缓存--Redis
    Flack--SQLAlchemy
    Flask--WTForms
    Flask框架
    通过反射,获取linkedHashMap的最后一个键值对。对map按照值进行排序。
    Comparable和Comparator的使用
    构造函数,构造代码块,静态函数的执行顺序
  • 原文地址:https://www.cnblogs.com/lzkalislw/p/13627462.html
Copyright © 2020-2023  润新知