实验吧部分WP(三)

try them all

上来先把英文翻译一下,大概意思就是:
你已经找到了一个包含salted passwords的密码文件。一个没有保护的配置文件显示了一个5948的salt。‘admin’用户的哈希密码好像是81bdf501ef206ae7d3b92070196f7e98,试图暴力破解这个密码。
因为哈希密码是包括MD5,所以MD5解密,sniper5948,再减去5948就是flag:sniper

Fair-Play

网上查一下,是用了playfair解密算法

Playfair解密算法首先将密钥填写在一个5*5的矩阵中(去Q留Z),矩阵中其它未用到的字母按顺序填在矩阵剩余位置中,根据替换矩阵由密文得到明文。
对密文解密规则如下:
1 若c1 c2在同一行,对应明文p1 p2分别是紧靠c1 c2 左端的字母。其中最后一列被看做是第一列的左方。
2 若c1 c2在同一列,对应明文p1 p2分别是紧靠c1 c2 上方的字母。其中最后一行被看做是第一行的上方。
3 若c1 c2不在同一行,不在同一列,则p1 p2是由c1 c2确定的矩形的其他两角的字母。
其实就是反其道而行之。

然后呢把它换成5*5矩阵 (手动也可,我用的网址) 就是它
在这里插入图片描述
然后根据解密方法,两两一对解密ihxo{smzdodcikmodcismzd}
得到flag ctfx{playfairisfairplay}

base??

很迷,题目给了很大提示,直接md5解密完事 https://www.somd5.com/
base64wtfwtf123

FALSE

sha1()函数: 计算字符串 “Hello” 的 SHA-1 散列。默认的传入参数类型是字符串型

<?php
if (isset($_GET['name']) and isset($_GET['password'])) {
    if ($_GET['name'] == $_GET['password'])
        echo '<p>Your password can not be your name!</p>';
    else if (sha1($_GET['name']) === sha1($_GET['password']))
      die('Flag: '.$flag);
    else
        echo '<p>Invalid password.</p>';
}
else{
	echo '<p>Login first!</p>';
?>

总结一下就是 name和password不能相等,但是sha1散列要相等
因为sha1()默认传入参数类型是字符串类,所以传入其他类型让它返回false,例如数组类型

CTF{t3st_th3_Sha1}

Guess Next Session

先看php代码

<?php
session_start(); 
if (isset ($_GET['password'])) {
    if ($_GET['password'] == $_SESSION['password'])
        die ('Flag: '.$flag);
    else
        print '<p>Wrong guess.</p>';
}

mt_srand((microtime() ^ rand(1, 10000)) % rand(1, 10000) + rand(1, 10000));
?>

mt_srand() 播种 Mersenne Twister 随机数生成器。

意思是输入的password和session一样。
本来以为是改URL的,未果。。就去看了大佬的WP
先对Session进行介绍

session和cookie在对用户验证上的原理差不多,都是以唯一的值来验证用户身份,不过session是保存在服务器端的cookie,也就是说,网站的服务器端的身份验证机制,cookie是浏览器端的身份验证机制

Session 的工作机制是:

为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。

所以随便输一个东西进去burp suite抓包发送到repeater
为了让password和session一样,让二者都为空,再go
得到flag CTF{Cl3ar_th3_S3ss1on}

Decode

点进去一看就是十六进制啊
根据经验先转文本 hex解码:
%4d%54%45%35%43%6a%45%77%4d%51%6f%78%4d%44%67%4b%4f%54%6b%4b%4d%54%45%78%43%6a%45%77%4f%51%6f%78%4d%44%45%4b%4d%54%45%32%43%6a%45%78%4d%51%6f%78%4d%54%55%4b%4d%54%41%30%43%6a%45%77%4e%51%6f%78%4d%6a%45%4b%4f%54%63%4b%4d%54%45%77%43%6a%6b%34%43%6a%6b%33%43%6a%45%78%4e%41%3d%3d
https://tool.lu/hexstr/
URL解密:
MTE5CjEwMQoxMDgKOTkKMTExCjEwOQoxMDEKMTE2CjExMQoxMTUKMTA0CjEwNQoxMjEKOTcKMTEwCjk4Cjk3CjExNA==
Base64解码:
119
101
108
99
111
109
101
116
111
115
104
105
121
97
110
98
97
114
ASCII码解密:
welcometoshiyanbar
所以flag是 ctf{welcometoshiyanbar}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值