实验目的

掌握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. Java基础(十)——枚举与注解

    一.枚举 1.介绍 枚举类:类的对象只有有限个,确定的.当需要定义一组常量时,强烈建议使用枚举类.如果枚举类中只有一个对象,则可以作为单例模式的实现. 使用 enum 定义的枚举类默认继承了 java ...

  2. 探索新冠肺炎(COVID-19)对全球航班的影响

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 随着今天从欧洲到美国的旅行限制生效,以及为了减缓新冠病毒的传播更 ...

  3. Java on Visual Studio Code的更新 – 2022年1月

    大家好,欢迎来到 Visual Studio Code Java 更新 1 月版!这是我们新年的第一篇博客,我们将回顾 2021 年的亮点,并分享我们 2022 年的产品路线图!除此之外我们还有一些令 ...

  4. 权限修饰符和final关键字

    public 不受任何限制,可以被其他任何类访问 一个JAVA文件只能包含一个public文件 java将public类作为每个编译单元的数据接口  只能有一个接口 private 只能在自己类中访问 ...

  5. Maven仓库的目录结构

    _remote.repositories文件 本地库中的包都有一个_remote.repositories文件,示例: #NOTE: This is an Aether internal implem ...

  6. Java GUI界面补充总结(不定期补充)

    一.Java中如何设置各类组件透明 感谢原文:https://kslsi.iteye.com/blog/2096608 补充:Frame透明:AWTUtilities.setWindowOpacity ...

  7. ObjectInputStream java.io.StreamCorruptedException: invalid type code: AC问题解决

    感谢原文作者:攻城狮_无名 原文链接:https://blog.csdn.net/mingyang_2016/article/details/75208117 问题描述: 每次向一个文件中序列化对象时 ...

  8. 广播接收者案例_ip拨号器

    (1)定义一个类继承BroadCastReceiver public class OutGoingCallReceiver extends BroadcastReceiver { //当接收到外拨电话 ...

  9. CSS 圆角框

    转载请注明来源:https://www.cnblogs.com/hookjc/ 其实这种圆角框是靠一个个容器堆砌而成的,每一个容器的宽度不同,这个宽度是由margin外边距来实现的,如:margin: ...

  10. Docker-Compose 容器集群的编排

    Docker-Compose 容器集群的编排 1.Docker-Compose 概述 2.Docker Compose 环境安装 Docker-Compose功能:  可以实现单机上的容器集群编排 1 ...