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}