首页 > 其他分享 >新生题

新生题

时间:2024-07-01 23:30:36浏览次数:18  
标签:文件 code 解码 base64 新生 绕过 上传

MISC

kongfu

用winhex打开压缩包,下拉到最后发现key

base64解密后发现是栅栏密码

audio

打开发现是一个wav文件,用Audacity打开

根据电平,得到01100010 01100001 01101011 01100100 01101111 01110010

二进制转字符

进行md5加密

Smtp

base64解码

foremost

用foremost分解图片

分解成一张图片,可以用截图工具读取图片的文字,得到flag

c02流量包

wireshark打开,过滤http,发现user.php,追踪流

CRYPTO

变异凯撒

凯撒解密

rsarsa

rsa解出m

import gmpy2
from Crypto.Util.number import *

p =  9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q =  11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e =  65537
c =  83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
n=p*q
phi=(p-1)*(q-1)
d=pow(e,-1,phi)
m=pow(c,d,n)
print(m)

签个到吧

三次base64解码即可

图片中的密码

foremost解码得到压缩包文件,解压后将文本内的字符两次base64解码即可

c02古典密码

字符转ASCII,解为OCU{CTFELXOUYDECTNGAHOHRNFIENM}IOTA。然后进行列置换:将明文按固定长 m 分组,即每

行 m 个字母,在密钥控制下按某一顺序交换列,最后按列优先的顺序依次读出,即产生了密文。

原来字符串为 35 位。35=7*5

得到如下结果:

1 234567

OCU{CFT

ELXOUYD

ECTNGAH

OHRNFIE

NM}IOTA

key 值的固定结构为 CTF{}

故第 2 列打头或第 5 列打头,接下来是第 7 列,然后是第 6 列,考虑到“{”是第 4 列,考

虑到“}”是最后一列

尝试后得到

1234567 列转换为 2764513

即为:

2764513

CTF{COU

LDYOUEX

CHANGET

HEINFOR

MATION}

连起来,答案就是 CTF{COULDYOUEXCHANGETHEINFORMATION}

WEB

代码审计1

md5解密

先绕过a,使a的md5值与题目一样且最后一位是8,首先想到0e绕过,其中240610708符合条件,b可以数组绕过,d可以用逻辑运算符绕过

文件上传1

查看源代码发现文件包含,伪协议尝试发现只有zip://可以

目录爆破发现upload.php,上传一个含有一句话木马的压缩包文件,在bp中把.zip后缀改为.png

之后用蚁剑进行连接

文件上传2

禁用js或bp改后缀

web签到

目录扫描发现readme.txt,将此内容放入控制台运行,得到提示Txt.Txt,访问此文件,继续将此文件的内容放入控制台即可得到flag。

c02WEB1

点击跳转到404.php,源代码指定文件为flag.txt,可以抓包查看

base64解码即可

c02WEB2

 <?php
highlight_file(__FILE__);

if (  isset($_GET['ip'])  ){
    $ip = trim($_GET['ip']);
    $substitutions = array(
        '&'  => '',
        ';'  => '',
        '|'  => '',
        '-'  => '',
        '$'  => '',
        '('  => '',
        ')'  => '',
        '`'  => '',
    );
    
    $ip = str_replace(array_keys( $substitutions ), $substitutions , $ip);
    
    echo $cmd = shell_exec(' ping -c 4 ' . $ip);

}


?> 

%0a绕过

web漏洞

文件上传,使用换行绕过,即加%0a

此题上传文件名应在输入框里面改,%0a也要在输入的文件名上加。

qwb5

<?php
error_reporting(E_ALL^E_NOTICE^E_WARNING);
function GetYourFlag(){
    echo file_get_contents("./flag.txt");
}

if(isset($_GET['code'])){
    $code = $_GET['code'];
    //print(strlen($code));
    if(strlen($code)>27){ 
        die("Too Long.");
    }

    if(preg_match('/[a-zA-Z0-9_&^<>"\']+/',$_GET['code'])) {
        die("Not Allowed.");
    }
    @eval($_GET['code']);
}else{
      highlight_file(__FILE__);
}
?>

运行GetYourFlag(),可以得到flag,运用取反,code定义变量运行GetYourFlag()

<?php
$a="GetYourFlag";
echo urlencode(~$a);
?>

##%B8%9A%8B%A6%90%8A%8D%B9%93%9E%98

code=(~%B8%9A%8B%A6%90%8A%8D%B9%93%9E%98)();

标签:文件,code,解码,base64,新生,绕过,上传
From: https://www.cnblogs.com/lmylmy/p/18279041

相关文章