签到
010打开在最底下发现flag字样,拖到厨子解码即可得知获取flag的方式
mp3
首先mp3文件就可以直接试试mp3stego隐写无密码得到字符串8750d5109208213f
接着binwalk可分离出一张图片,分析可知是lsb,提取出压缩包,密码即前面得到的字符串
然后根据文件名47尝试rot47解密如下:
最后jsfuck解密得到flag
take_the_zip_easy
尝试通过流量包的文件名dasflow.pcapng
作为明文内容,利用工具bkcrack进行明文攻击得到ZIP内部的三段秘钥2b7d78f3 0ebcabad a069728c
,进而得到流量包
bkcrack.exe -C zipeasy.zip -c dasflow.zip -p plain.txt -o 30 -x 0 504B0304
bkcrack.exe -C zipeasy.zip -c dasflow.zip -k 2b7d78f3 0ebcabad a069728c -d out.zip
接着分析流量包,直接导出http发现有个带flag的加密包,接着再来追踪tcp流发现解密算法如下:
然后挨个试解密得到密码airDAS1231qaSW@
,进而得到flag
<?php
function encode($D,$K){
for($i=0;$i<strlen($D);$i++){
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}
$pass='air123';
$payloadName='payload';
$key='d8ea7326e6ec5916';
echo gzdecode(encode(base64_decode(urldecode('J%2B5pNzMyNmU2mij7dMD%2FqHMAa1dTUh6rZrUuY2l7eDVot058H%2BAZShmyrB3w%2FOdLFa2oeH%2FjYdeYr09l6fxhLPMsLeAwg8MkGmC%2BNbz1%2BkYvogF0EFH1p%2FKFEzIcNBVfDaa946G%2BynGJob9hH1%2BWlZFwyP79y4%2FcvxxKNVw8xP1OZWE3')),$key));
?>
# cmdLineP sh -c "cd "/var/www/html/upload/";zip -o flag.zip /flag -P airDAS1231qaSW@" 2>&1methodName execCommand
扭转乾坤
在实际产品场景中常见存在多种中间件的情况,这时如果存在某种拦截,可以利用框架或者中间件对于RFC标准中实现差异进行绕过。注意查看80端口服务
首先随便传个一句话上去抓包发现报403如下:
Sorry,Apache maybe refuse header equals Content-Type: multipart/form-data;
然后根据提示对其进行测试发现只要带Content-Type: multipart/
即可得到flag
Node Magical Login
根据源码可知flag分为两部分,首先来到/flag1
目录下通过设置cookie成为admin从而得到flag1
if(req.cookies.user === "admin") {
res.setHeader("This_Is_The_Flag1", flag1.toString().trim())
res.status(200).type("text/html").send("You Got One Part Of Flag! Try To Get Another Part of Flag!")
}else{
res.status(401).type("text/html").send("Unauthorized")
}
接着来到/flag2
目录下,可知当长度等于16时通过数组的方式可以输出一个列表,然后他就会将这个列表转为小写即可抛出错误落入catch块,从而得到flag2
function CheckController(req,res) {
let checkcode = req.body.checkcode?req.body.checkcode:1234;
console.log(req.body)
if(checkcode.length === 16){
try{
checkcode = checkcode.toLowerCase()
if(checkcode !== "aGr5AtSp55dRacer"){
res.status(403).json({"msg":"Invalid Checkcode1:" + checkcode})
}
}catch (__) {}
res.status(200).type("text/html").json({"msg":"You Got Another Part Of Flag: " + flag2.toString().trim()})
}else{
res.status(403).type("text/html").json({"msg":"Invalid Checkcode2:" + checkcode})
}
}
机你太美
夜神模拟器打开发现有锁屏密码,于是adb连接进入shell在/data/system
目录下找到如下三个文件
将其删除后重启即可无密码登录
接着打开SKred可以发现与bbb的对话如下:
再根据提示图片,所以我们将聊天中的文件都长按保存,然后通过adb pull保存至本地,查看exif信息发现提示XOR DASCTF2022
,并且压缩包中有加密了的flag
于是我们将这两张图通过stegsolve自带的Image Combiner进行xor处理并没有发现什么,不过可以在另一张图中的alpha 2通道发现存在东西
然后我们就可以提取该处的像素点转01,再转下binary得到e01544a9333ef62a3aa27357eb52ea8a
即前面聊天记录中最后面发的那个压缩包的密码,但解压并没有直接给到flag,需要结合前面没用到的xor解得flag
0 条评论