zoukankan      html  css  js  c++  java
  • CSRF学习笔记之CSRF的攻击与防御以及审计【00x2 】

    Medium完整代码:

    <?php
                
        if (isset($_GET['Change'])) {
        
            // Checks the http referer header
            if ( eregi ( "127.0.0.1", $_SERVER['HTTP_REFERER'] ) ){
        
                // Turn requests into variables
                $pass_new = $_GET['password_new'];
                $pass_conf = $_GET['password_conf'];
    
                if ($pass_new == $pass_conf){
                    $pass_new = mysql_real_escape_string($pass_new);
                    $pass_new = md5($pass_new);
    
                    $insert="UPDATE `users` SET password = '$pass_new' WHERE user = 'admin';";
                    $result=mysql_query($insert) or die('<pre>' . mysql_error() . '</pre>' );
                            
                    $html .= "<pre> Password Changed </pre>";        
                    mysql_close();
                }
        
                else{        
                    $html .= "<pre> Passwords did not match. </pre>";            
                }    
    
            }
            
        }
    ?>
    View Code

    在第六行增加了一个函数,这个函数相对于我较为生僻。eregi:不区分大小写的正则表达式匹配  ps:这个函数已经被高版本的PHP遗弃了。

    关于eregi函数的案例:

    <?php 
    $string = "hello world";
    if(eregi('E',$string)){//匹配E是否再$string变量中,不区分大小写
        echo "xxx";//如果存在输出xxx
    }else{
        echo "bbbbb";//否则输出bbbbb
    }
     ?>

    知道了那个函数就很容易知道,这个Medium的防御措施是如何的。既然对来源的$_SERVER['HTTP_REFERER']即referer进行了匹配,那么应该咋绕过呢?

    绕过方法:

    文件名也是在referer当中,那么我们就可以将其匹配的$_SERVER['HTTP_REFERER']当作我们的文件明来绕过。

    比如攻击者的域名是www.aaaa.com

    被攻击者的域名是:www.bbb.com

    在攻击者的服务器上上传一个文件,名字改为:www.bbb.com。即www.aaa.com/www.bbb.com

    如此便成功绕过。

  • 相关阅读:
    字符串常见考题
    二叉树的按行层序遍历及序列化和反序列化
    二叉搜索应用(2)
    Kubernetes-存活探针(liveness probe)
    Kubernetes-ReplicationController(RC)
    Kubernetes-ReplicaSet(RS)
    Kubernetes-DaemonSet
    Kubernetes-PersistentVolume(PV)介绍
    centos7.x 通过yum方式安装java jdk1.8.0
    Kubernetes-卷/存储卷(emptyDir/hostPath/pv/pvc)
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6539533.html
Copyright © 2011-2022 走看看