一次CTF记录
第一次没有拦截包发现是错误页面。
然后开启BURP。查看返回包
发现base64加密。Python解密
刚开始的宝藏图,各种查看。改大小。开有没有隐写。没有头绪就放弃了
然后这个题更新了。下载原图。
使用winhex发现还有隐藏文件。
或者直接Kali中的binwalk(遇到照片一般都直接binwalk)
继续使用kali中自带的图片分离工具:Foremost
或者直接改后缀为zip即可。
发现一个flag.zip和1.pcapng(数据包)flag.zip中的flag被加密了。密码应该在数据包中。
使用wireshark打开。1w多条。一句句不行了。直接搜索关键字,password搜不到。然后尝试搜索一个flag这个关键字。搜索n条之后。多次尝试后终于发现了密码。
打开flag
打开页面,只有这个提示。有点懵逼。没做过类似的
然后百度一下。有个提到了http头。然后去学习一下。
发现一个x-Forwarded-For:X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP
使用burp抓包。发现没有x-Forwarded-For。PS:开始以为更改host就可以了。发现不行,然后查看百度相关的http头。才找到。
加入x-Forwarded-For。点击headers
点击add。添加一个x-Forwarded-For
Go,得到flag
进去一看是代码,瞬间头大。仔细一看似曾相识。变量覆盖。老早的以前的吧。然后百度吧还是。
发现只有&a=&c才会返回flag。尝试了一下,发现不对。
extract($_GET):url以get方式传递。
file_get_contents():将整个文件读入一个字符串
extract()函数,当括号内的变量名与括号外的变量名若重名的话,从extract()函数开始,便会以extract()函数内的变量为主。
还是似懂非懂。反正是变量覆盖。C是为b传递过去的。直接尝试&a=&b。出乎意料得到了flag。
直接下载不对。查看源代码,还有一个文件。
访问这个文件。
也是第一次接触这个题目。只知道一个加密一个解密。以为这下面就是flag,但是解不出来。
然后百度一下。貌似直接打开这个php就可以。
然后复制下来。打开phpstudy运行这个文件。发现是空白的。
貌似没有解密哇,又看了一下代码。没有带入解密函数。需要自己手动改一下。让他输出就可以了。
echo decrypt($flag,$key);
先手动输入试试,都错误。然后查看源代码。发现
发现想要输出flag。需要$_POST[‘pwd’] = =$_SESSOIN[‘pwd’]。这是啥意思,百度。好像是
Cookie中的PHPSESSID=pwd才可以。使用burp抓包。
刚开始,把session的值给了pwd,发现还是不可以。
然后那就pwd的值给session。开始给数字一直错误,然后尝试同时为空。得到flag。
进去手动尝试。没有猜到。
查看源代码。发现还有一个文件
打开看看
Flag竟然看不到。看了半天没有尝试出来。果断百度吧。
好像需要2个绕过才可以得到flag。00截断尝试一下。这里是post方法。借助hackbar的post传参。
Payload:num=1%00#testaasafd先空格然后进去burp改hex 嘻嘻得到flag。
20是空格,改成00.
Go
这么多的数字,我可不是学霸。尝试手动时间根本不够。
直接python脚本吧。可是不会写。百度去咯~自己修改的python脚本还是不行一直显示计算错误。不知为啥。
然后感觉是没有找到数字。然后换一个匹配使用正则去匹配去。很简单脚本我都没有写出来。这个百度+请教别人给我改错误才跑出来的。~~
附脚本:
这个题是我最懵逼的,不知道怎么下手。没办法,百度试试吧,有的说扫目录。
掏出御剑珍藏版。尝试一下
发现有一个shell.php的页面。访问是一个webshell。
根据源码没有找到密码。直接burp字典跑了,尝试了2个字典没有跑出来。然后找到了一个webshell的字典,直接出来。
输入密码得到flag。
美女图片。直接下载binwalk看一下隐藏图片。
直接分离
发现一个加密的zip。里面包含一个flag.txt
使用Ziperello跑密码。看字典这个
得到flag