蓝盾CTF 第二场 WP
https://www.cnblogs.com/liang2580/articles/7789234.html
- 签到题
修改一个大小值
、
2.简单的Web题
根据提示是一个POST的一个传值。只要绕过strcmp函数即可
传递是是一个数组,构造一下成为password[]=a
3.送大礼
含有一个flag.txt文件。进去之后看的很可怕。
把那些东西放在谷歌的consle中的出来的是一个php
extract(GET);if(isset(GET);if(isset(bdctf)) { content=trim(filegetcontents(content=trim(filegetcontents(flag)); if(bdctf==bdctf==content) { echo’bdctf{**********}’; } else { echo’这不是蓝盾的密码啊’; } }
构造一下url 只要?flag=&bdctf= 即可
4.蓝盾管理员
进入之后查源代码
看到源码后,
这个题目首先要突破的是:
if(isset(user)&&(file_get_contents(user)&&(file_get_contents(user,’r’)===”the user is dbadmin”))
构造了如下
得到了入下
尝试破解
5.bluedon用户
查看class.php,发现得不到什么,但是这里有include($file),猜测有文件包含漏洞
php://filter/read=convert.base64-encode/resource=class.php
解码出来的是一个php
<?php class Read{//f1a9.php public $file; public function __toString(){ if(isset($this->file)){ echo file_get_contents($this->file); } return "恭喜get flag"; } } ?>
查看首页试试
<?php @$user = $_GET["user"]; @$file = $_GET["file"]; @$pass = $_GET["pass"]; if(isset($user)&&(file_get_contents($user,'r')==="the user is bluedon")){ echo "hello bluedon!<br>"; if(preg_match("/f1a9/",$file)){ exit(); }else{ @include($file); //class.php $pass = unserialize($pass); echo $pass; } }else{ echo "you are not bluedon ! "; }?>
看到这是一个类 里面__toString()类似构造函数 发现flag在f1a9.php里面中 直接访问无果
于是php://filter/read=convert.base64-encode/resource=index.php查看其代码
于是构造了一个代码如下:
6.火星撞地球
直接注入,盲注,上神器WebCruiser直接出了
尴尬,还以为admin的密码不是flag,还去付费解了另一个账号的加盐MD5。
解密加盐发现密码都是1q2w3e4r
7. 抓小鸡:
对chm文件解压,提取内部的readme.html 阅读文件得到cc服务器地址
8.Stega图片题目
修改图片高度为500,即可看到图片下方的flag
9.WEB100-2
时间紧迫,直接说思路吧
根据hint中的提示,对字符串进行序列化并url encode,加入cookie中,即可得到flag
10.杂项全家桶思路:
时间有点赶,直接说思路吧。
一线:png缺少文件头,补齐获得二维码,二维码扫描得出一段汉字,当铺密码解密得到mp3解密需要的密码。
二线:png改后缀名得到mp3文件。Mp3解密,得到栅栏凯撒密文,隐约记得是第三栏,得出flag。