admin管理员组文章数量:1603255
CTF-练习平台writeup
CTF-练习平台
MISC
滴答~滴
看标题基本就知道是摩尔斯密码
“.”、”-“,直接在线摩尔斯解密
聪明的小羊
小羊。。。老套路
翻栅栏,栅栏密码。。。比较简单,直接看出来是两栏加密
KEY{sad23jjdsa2}
这是一张单纯的图片??
看题目估计是道隐写术的题,先保存图片的说;
30分的题,估计不会太难,直接文本编辑器打开;文本末尾发现了一行转义序列:
看来这就是flag了,直接在线转码,Unicode转ascii
telnet
看题目估计是考telnet协议,解压文件,是截获的数据包;
telnet协议是明文传送username和password,这就好办了,wireshark打开文件,直接追踪TCP流
又一张图片,还单纯吗??
又是图片隐写术?保存图片,老套路binwalk跑一下:
隐藏了图片的,从偏移量158792开始分离出来:
多种方法解决
解压文件是个exe,诡异,winhex打开看一下
看来是用DATA URL将图片生成了数据流形式,
直接在线base64还原成图片得到了一张二维码,直接扫码得KEY
猜?
话说百度图片是不是有个识图功能?
自己猜吧,我不会告诉你这是女神刘亦菲的
宽带信息泄露
conf.bin 看来是路由器配置文件
上工具 routerpassview,没有的话想尽一切方法下载吧
直接查找user,注意是宽带用户名,所以是这一个
linux ??????
linux基础问题??
解压出来一个名为“flag”的文件,直接winhex打开。。。
search flag。。。只找到了flag.txt
search key。。。get~~
key{feb81d3834e2423c9903f4755464060b}
中国菜刀,不再web里?
~~~菜刀大法好,请自行学习菜刀大法
.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();
Ü
- 1
- 2
从代码里可以看出传输文件flag.tar.gz,前后还有字符“X@Y”,正是刚才追踪到的传输的数据:
果然从下一个http包里,找到了对应数据,用wireshark显示该包对应数据分组字节
然后把前后的“X@Y”删去,解码为压缩格式:
这么多数据包
根据提示要找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编码。。。
在线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<stdio.h>
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);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
aircrack-ng开始跑一下
get~!
妹子的陌陌
图片。。。又是隐写???
下载图片,老套路上binwalk:
偏移量37340,分离得rar压缩包
要密码。。。
讲真,这密码破解确实废了不少功夫,虽然还拿字典跑了一下,但是直觉认为应该不会是这种方式。。。总之尝试了各种方式。。。最后calm down。。。以经验来讲,密码一定在哪里有提示,最后想到图片上是不是还有什么东西?
没错,喜欢我吗. 密码拿去不谢
解压出来一个txt
提取文本要点:
1. 第一条电报内容应该是摩尔斯电码
2. 第二条电报内容是AES加密
3. 会得到一个二维码,而且二维码不正常
好吧,第一条电报拿去摩尔斯解密,是个网站
在线加解密网站,很明显解密第二条电报内容加密部分:
好吧,打开得到的URL:http://c.bugku/momoj2j.png
果然得到二维码,但是。。扫不出来?
慢着,似乎哪里不对,二维码三个角的“回”字定位区颜色似乎是反转的。。。
get了,将二维码颜色反转
扫码得KEY:
就五层你能解开吗
待更。。。
WEB
签到题
没得说,加群拿flag,为了不破坏规则(~ ̄▽ ̄)~,这里就不放flag了
Web2
打开链接。。。被惊艳到了。。。
一大波滑稽正在接近。。。好诡异
firebug抓包没结果。。。只能审查元素了。。。
get flag!
文件上传测试
看题目估计是上传绕过
先上传个php试一下,提示 非图片文件
那就上传图片,截包改文件后缀
get flag!
计算题
打开链接,简单的加法运算?
too young too simple~
页面设置了输入长度限制,只能输入一位。
还说什么呢?firebug来改页面html代码吧
验证得flag:
Web3
flag就在这里?在哪里?
打开链接不停地弹窗。。。
firebug来看一下页面响应
怪不得一直弹窗。。。
看到最后,发现重点了:
&# HTML编码,直接解码得flag~:
sql注入
根据提示,应该是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注入1
源码审计。。。可以发现两个要点:
存在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}
变量1
这个请自行了解一下PHP全局变量-超全局变量
payload: http://a.post.bugku/index1.php?args=GLOBALS
flag: flag{92853051ab894a64f7865cf3c2128b34}
WEB4
这题就是看源码,url解码直接得源码,password的值应该为: 67d709b2b54aa2aa648cf6e87a7114f1
上传得flag: KEY{J22JK-HS11}
web5
看源码,自行了解jsfuck,直接将代码扔到控制台里跑出结果: ctf{whatfk}
flag在index里
进入链接发现url: http://b.post.bugku/post/index.php?file=show.php
目测是文件包含,php://filter读取index.php http://b.post.bugku/post/index.php?file=php://filter/read=convert.base64-encode/resource=index.php
然后base64解码得源码,get flag: flag{edulcni_elif_lacol_si_siht}
版权声明:本文标题:【bugku】CTF-练习平台writeup 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1728437118a1158223.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论