百度杯WriteUp

十月第一场

签到题 misc

纯属脑洞题,在i春秋公众号里输入 百度杯么么哒 就可以拿到flag

我要变成一只程序猿 misc

下载文件,看到里面txt是一段c语言写的代码

#include<stdio.h>
#include<string.h>
void main() {
char str[100]="";
int i;
int len;
printf("input string:\n");
gets(str);
len=strlen(str);
printf("result:\n");
for(i=0;i<len+1;i++)
{
    putchar(str[len-i]);
}
printf("\n");
}

不难是倒序输出,flag为ba1f2511fc30423bdb的倒序

那些年我追过的贝丝

看题目和字符串最后的=号判断是base64,python脚本如下

#!/usr/bin/env python
import base64
s = ‘ZmxhZ3tpY3FlZHVfZ29nb2dvX2Jhc2U2NH0=‘
print base64.b64decode(s)

flag{icqedu_gogogo_base64}

十月第二场

传说中的签到题 misc

自古签到多脑洞,扫二维码看到“就算你发现我但是知道flag是什么??” 所以flag就是 什么

challenge misc

666c61677b686578327374725f6368616c6c656e67657d

观察一下这一串字符串,由数字和字母组合,字母小于f(推测出很可能是16进制),数字小于8而且两位一组的看前面一位不是6就是7(推测出是ascii码),从而推测出是16进制转ascii,python脚本如下

#!/usr/bin/env python
import binascii as ba
b = ‘666c61677b686578327374725f6368616c6c656e67657d‘
a = ba.a2b_hex(b)
print a

flag{hex2str_challenge}

剧情大反转 misc

}~144_0t_em0c14w{galf  一眼就看出来是把字符顺序反转,python脚本如下

#!/usr/bin/env python
str = ‘}~144_0t_em0c14w{galf‘
print str[::-1]

flag{w41c0me_t0_441~}

十月第三周

表姐家的签到题 misc

居然没套路直接给答案,加个格式就行flag{123456abcdef}

try again misc

下载文件后扔进linux里用strings 命令打印出可打印字符再用grep命令结合管道过滤出含flag字段的 命令为:

strings babyre | grep flag

flag{re_start_007}

听说是RC4算法 misc

题目说明了是RC4算法,给出了key值为welcometoicqedu 密文为UUyFTj8PCzF6geFn6xgBOYSvVTrbpNU4OF9db9wMcPD1yDbaJw==  百度个python脚本修改一下

import random, base64
from hashlib import sha1  

def crypt(data, key):
    x = 0
    box = range(256)
    for i in range(256):
        x = (x + box[i] + ord(key[i % len(key)])) % 256
        box[i], box[x] = box[x], box[i]
    x = y = 0
    out = []
    for char in data:
        x = (x + 1) % 256
        y = (y + box[x]) % 256
        box[x], box[y] = box[y], box[x]
        out.append(chr(ord(char) ^ box[(box[x] + box[y]) % 256]))
    return ‘‘.join(out)    

def tdecode(data, key, decode=base64.b64decode, salt_length=16):
    if decode:
        data = decode(data)
    salt = data[:salt_length]
    return crypt(data[salt_length:], sha1(key + salt).digest())  

if __name__==‘__main__‘:
    data = ‘UUyFTj8PCzF6geFn6xgBOYSvVTrbpNU4OF9db9wMcPD1yDbaJw==‘
    key = ‘welcometoicqedu‘
    decoded_data = tdecode(data=data, key=key)
    print decoded_data

flag{rc4_l_keepgoing}

十月第四场

泄露的数据 misc

看题目第一反应就是MD5,数了一下密文长度32位基本确认,扔 http://www.dmd5.com/md5-decrypter.jsp 上秒出明文12345678,加上格式即可

考眼力 misc

从格式上就不难看出是凯撒密码,python脚本如下

# Caesar Cipher

MAX_KEY_SIZE = 26

def getMode():        while True:            print(‘Do you wish to encrypt or decrypt a message?‘)            mode = raw_input().lower()            if mode in ‘encrypt e decrypt d‘.split():                return mode            else:                print(‘Enter either "encrypt" or "e" or "decrypt" or "d".‘)

def getMessage():        print(‘Enter your message:‘)        return raw_input()

def getKey():        key = 0        while True:            print(‘Enter the key number (1-%s)‘ % (MAX_KEY_SIZE))            key = int(input())            if (key >= 1 and key <= MAX_KEY_SIZE):                return key

def getTranslatedMessage(mode, message, key):        if mode[0] == ‘d‘:            key = -key        translated = ‘‘

        for symbol in message:            if symbol.isalpha():                num = ord(symbol)                num += key

                if symbol.isupper():                    if num > ord(‘Z‘):                        num -= 26                    elif num < ord(‘A‘):                        num += 26                elif symbol.islower():                    if num > ord(‘z‘):                        num -= 26                    elif num < ord(‘a‘):                        num += 26

                translated += chr(num)            else:                translated += symbol        return translated

mode = getMode()message = getMessage()if mode[0] != ‘d‘:    key = getKey()print(‘Your translated text is:‘)

if mode[0] != ‘d‘:    print(getTranslatedMessage(mode, message, key))else:    for key in range(1,MAX_KEY_SIZE + 1):        print(key,getTranslatedMessage(‘decrypt‘,message,key))print(‘Your translated text is:‘)print(getTranslatedMessage(mode, message, key))

跑出来一堆结果,但第一个就是flag flag{4c850c5b3b2756e67a91bad8e046ddac}

flag格式 misc

不知道考点是啥,直接复制就好了,flag{0ahief9124jfjir}

时间: 2024-11-05 19:43:16

百度杯WriteUp的相关文章

SQL报错注入结合sqli lab和百度杯CTF VId

0x00 背景 学习记录一下报错型的注入,经各方整理和自己总结形成. 所有的注入原理都是一样,即用户输入被拼接执行.但后台数据库执行语句产生错误并回显到页面时即可能存在报错注入. 0x01概念 报错型注入的利用大概有以下3种方式: 1:?id=2' and (select 1 from (select count(*),concat( floor(rand(0)*2),(select (select (查询语句)) from information_schema.tables limit 0,1

2017 百度杯丶二月场第一周WP

1.祸起北荒 题目: 亿万年前 天子之子华夜,被父神之神末渊上神告知六荒十海之北荒西二旗即将发生一场"百度杯"的诸神之战 他作为天族的太子必须参与到此次诸神之战定六荒十海 华夜临危受命,马上带着火凤凰飞行到北荒"西二旗" 却没想到这六荒之首北荒西二旗果然名不虚传,这是一个位于六层虚数空间上的时空大陆 他需要闯过每一层虚数空间,方能到达虚数空间 第一层虚数空间是需要与一个上古神器"i春秋"进行智能比拼,获取开启第一层虚数空间的flag 启动法诀:

十一月百度杯pwnme 详细wp

目录 程序基本信息 程序溢出点 整体思路 exp脚本 成功获得flag 参考 程序基本信息 可以看到开启了栈不可执行和got表不可写保护. 程序溢出点 在函数sub_400AF7中,v8可以读入0x12C个字节,同时if判断中对v8进行字节截断,所以我们可以输入如0x101个字符,在保证能够溢出到返回地址的同时,v8字节截断后的0x01又能够通过if判断,然后通过函数sub_400A90进行溢出. 函数sub_400AD1中存在格式化字符串漏洞,我们可以通过这个漏洞泄露任意地址的内容,并通过Dy

2017 百度杯丶春秋欢乐赛 writeup

1. 内涵图(Misc) 题目: 我不是一个简单的图片 我是一个有内涵的图片 解:保存到桌面,右键属性->详细信息,即可获得flag. 2. 小电影(Misc) 题目: 我说过 这次比赛是让大家开开心心的度过的 所以 送给你们一个小电影 解:图片被损坏. (1)检查文件头,发现没有GIF8,用winhex补上. (2)重新打开gif,图片已修复. (3)使用Stegsolve分帧查看,可得flag. 3.水果宴 题目: 你吃了多少水果 访问地址:http://120.132.85.112:200

百度杯CTF夺旗大赛9月场writeup

在i春秋上注册了账号,准备业余时间玩玩CTF.其中的九月场已经打完了,但是不妨碍我去做做题,现在将一些思路分享一下. 一. 第二场web SQL 根据题目来看是一个SQL注入的题目: 这里推荐两篇文章: sql注入字符绕过方法:http://www.2cto.com/Article/201301/182519.html sql注入实例一枚: http://blog.csdn.net/praifire/article/details/51926863 下面是这个题目的思路: 1. 首先看看是否有字

“百度杯”CTF比赛(二月场)-web-writeup

爆破一: 打开网页看到源代码: 根据提示这题就是找变量的值,本想爆破,但不太现实.百度 php获取变量的值 有个超全局数组 $GLOBALS 爆破二: 打开网页看到源代码: 看到了eval() 函数,想到命令执行 提示不在变量中,应该再flag.php中 Exp: ?hello=);system("cat flag.php");// 闭合前面,注释后面 但有一个问题,就是会被i春秋自己的waf挡,我们改成post,然后传一个参数,让其值大约2万个左右. 爆破三: 打开网页看到源代码:

“百度杯”CTF比赛 九月场_YeserCMS

题目在i春秋ctf大本营 题目的提示并没有什么卵用,打开链接发现其实是easycms,百度可以查到许多通用漏洞 这里我利用的是无限报错注入 访问url/celive/live/header.php,直接进行报错注入 xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(database())) ),

“百度杯”CTF比赛 九月场_Test(海洋cms前台getshell)

题目在i春秋ctf训练营 又是一道cms的通用漏洞的题,直接去百度查看通用漏洞 这里我使用的是以下这个漏洞: 海洋CMS V6.28代码执行0day 按照给出的payload,直接访问url+/search.php?searchtype=5&tid=&area=eval($_POST[1]) 之后用菜刀连接,但乍一看并没有flag.php 反手去查了一下海洋cms的数据库配置文件的存放地址: 出去用菜刀连接数据库 编辑完成后右键数据库管理,可以看到flag了 原文地址:https://ww

2018小训—“百度杯”CTF比赛_九月场_SQLi

题目源: i春秋CTF大本营 小工具: Burp Suite(抓包神器) 思路点用黄色加粗标记,操作点用绿色加粗标记 解题的流程: 1.点进去一片空白习惯性,看源码.<!-- login.php?id=1 -->,看来要改改url.将原来的"/XXXXXX.php"换成"/login.php?id=1".访问之后思维变成了直接开注入?但是没什么用...如果这时用sqlmap测试会发现这是个假的注入点.真的在哪里?只能猜猜,访问index.php.在控制台