实验目的

掌握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函数检测原有密码是否正确

此时就比较安全了

CSRF POST型的更多相关文章

  1. 信息安全-攻击-XSRF:XSRF/CSRF 攻击

    ylbtech-信息安全-攻击-XSRF:XSRF/CSRF 攻击 CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Ses ...

  2. DedeCMS flink_add Getshell漏洞 管理员CSRF漏洞

    DedeCMS flink_add Getshell漏洞 管理员CSRF漏洞 1.漏洞利用 由于tpl.php中的$action,$content,$filename变量没有初始化,从而能操纵这些变量 ...

  3. Web攻防之XSS,CSRF,SQL注入

    摘要:对Web服务器的攻击也可以说是形形色色.种类繁多,常见的有挂马.SQL注入.缓冲区溢出.嗅探.利用IIS等针对Webserver漏洞进行攻击.本文结合WEB TOP10漏洞中常见的SQL注入,跨 ...

  4. Coremail邮件系统存储型XSS两个

    (1):Coremail邮件系统存储型XSS之一 给受害者发送主题如下的邮件: <svg onload='img=new Image();img.src="//x55.me/geo.p ...

  5. CSRF简单介绍及利用方法-跨站请求伪造

    0x00 简要介绍 CSRF(Cross-site request forgery)跨站请求伪造,由于目标站无token/referer限制,导致攻击者可以用户的身份完成操作达到各种目的.根据HTTP ...

  6. CSRF手工测试方法

    CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF.一般来说 ...

  7. 【实习记】2014-08-23网络安全XSS与CSRF总结

        XSS:脚本中的不速之客XSS:跨站脚本(Cross-site scripting)CSRF:冒充用户之手CSRF:跨站请求伪造(Cross-site request forgery) 谷歌搜 ...

  8. 浅谈CDN、SEO、XSS、CSRF

    CDN 什么是CDN 初学Web开发的时候,多多少少都会听过这个名词->CDN. CDN在我没接触之前,它给我的印象是用来优化网络请求的,我第一次用到CDN的时候是在找JS文件时.当时找不到相对 ...

  9. 浅谈CSRF漏洞

    前言: 看完小迪老师的CSRF漏洞讲解.感觉不行 就自己百度学习.这是总结出来的.   歌曲:   正文: CSRF与xss和像,但是两个是完全不一样的东西. xss攻击(跨站脚本攻击)储存型的XSS ...

随机推荐

  1. 前端3D引擎-Cesium自定义动态材质

    本文代码基于Vue-cli4和使用WebGL的地图引擎Cesium,主要内容为三维场景下不同对象的动态材质构建. 参考了很多文章,链接附在文末. 为不同的几何对象添加动态材质 不知道这一小节的名称概况 ...

  2. 2022GDUT寒训专题一I题

    题目 题面 给一个长度为 N的数组,一个长为 K的滑动窗体从最左端移至最右端,你只能看到窗口中的 K 个数,每次窗体向右移动一位,如下图: 窗口位置 最小值 最大值 [1 3 -1] -3 5 3 6 ...

  3. ServletContext类介绍(对象的作用及演示、像map一样存取数据)

    什么是ServletContext类 1,什么是 ServletContext 1)ServletContext 是一个接口,它表示Servlet上下文对象 2)一个web工程,只有一个Servlet ...

  4. 什么是以特性为核心的持续交付|阿里巴巴DevOps实践指南

    编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...

  5. docker 安装遇到404 not find

    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce/repodata/repomd.xml: [Errno 14] HTTPS E ...

  6. 如何在pyqt中实现平滑滚动的QScrollArea

    平滑滚动的视觉效果 Qt 自带的 QScrollArea 滚动时只能在两个像素节点之间跳变,看起来很突兀.刚开始试着用 QPropertyAnimation 来实现平滑滚动,但是效果不太理想.所以直接 ...

  7. Mysql自序整理集

    1.事务 mysql事务是用于处理操作量大.复杂性高的数据 1. 事务特性 原子性:保证每个事务所有操作要么全部完成或全部不完成,不可能停滞在中间环节:如事务在执行过程中出现错误,则会回滚到事务开始之 ...

  8. webpack搭建react+ts+eslint项目

    [初始化项目] mkdir react_ts_eslint cd react_ts_eslint npm init [生成ts配置文件] tsc --init [安装相关依赖] npm install ...

  9. Notepad++官网地址 https://notepad-plus-plus.org/

    Notepad++官网地址 https://notepad-plus-plus.org/

  10. 使用Maven导入MySQL驱动包遇到的问题

    问题描述 今天在使用Maven导入MySQL数据库驱动包依赖后,直接运行项目,出现错误. java.sql.SQLException: No suitable driver found for jdb ...