BugkuCTF writeup

前言

最近,刚学一点ctf,想找点题做一下,于是同学推荐了bugkuctf平台。做的时候,才发现自己有多水,想把做题过程记录下来,供自己再浏览。

web方面

web2

这道题没啥说的,直接查看源代码就可以得到flag。

计算器

这道题也没什么,直接F12,将button的maxlength值改成2,就可以了。

web基础$_GET

这道题也比较简单,直接get传参就行。
url:http://123.206.87.240:8002/get/?what=flag

web基础$_POST

这道题用post传参,我用的是火狐浏览器的max hackbar(因为hackbar要收费,所以换了一个)。

post传参

矛盾

这道题是php代码审计,它要求你传入一个num,要求num不是数字,但是还要等于1.这时,就需要知道php中在PHP中,当数字与字符串作比较时,系统会先将字符串转化为数字,再与数字进行比较。字符串在转化成数字时,会取字符串前边的数字,例如:123abc 转化成数字就是123.因此,我们构造1abcd(后边的字母随便啥都行)。

web3

这道题,它会一直弹窗,你直接拒绝弹窗就行,然后查看源代码,就会发现有一行注释,是用ASCII编码的,直接解码,就可以得到flag。
推荐一个解码网站:程序员在线工具

域名解析

其实,之前并没有接触过域名解析,于是就去搜了其他人写的writeup。我就再在这里复述一下。
可以在目录C:\Windows\System32\drivers\etc找到hosts,因为在C盘下无法修改,所以拖到桌面进行修改后在放回C盘。
在这里插入图片描述
再打开浏览器输入flag.bugku.com,就能发现flag啦。
writeup来源:bugku-web-域名解析(wp)

你必须让他停下

这道题,打开后发现页面一直在刷新,我是直接用burpsuite直接抓包看它的源代码,多抓几次就会发现flag。

本地包含

额。。。不知道为啥我的这道题的网站打不开,以后再写吧。

变量1

这道题又是代码审计,首先它会对你的参数进行正则匹配。但是一个有意思的是它有一个$$args,这时,php有一个变量$GLOBALS,一个包含了全部变量的全局组合数组。变量的名字就是数组的键。于是我们可以传入GLOBALS。便得到一个数组,里边就包含flag。

web5

首先,查看网页源代码,发现有一场串的符号,我们不知道是啥,然后,我猜测可能是一个js代码,于是全部复制下来,到控制台运行一下,果然出来了flag,然后他提示是大写,于是再弄成大写就行了。

头等舱

打开网页,什么都没有,查看源代码,还是什么都没有,只好burp suite进行抓包,查看response,发现flag。

网站被黑

刚开始拿到,没什么想法,啥都尝试了,还是没有地方下手,甚至连robots.txt都试了。嗯~~,robots.txt?是不是要找后台,于是用御剑扫后台,发现了shell.php。
在这里插入图片描述
密码登陆,直接用burp suite爆破。最后,密码是hack,拿到flag。

管理员系统

先查看源代码,发现一个base64加密的字符串,解密后是test123。这会不会就是密码?然后,输入admin test123.给我个这:
IP禁止访问,请联系本地管理员登陆,IP已被记录.
然后本地,那肯定是改包,用burp suite抓包,增加X-Forward-For:127.0.0.1,得到flag。

web4

它提示你取看源代码,然后发现一个JavaScript函数,再控制台中解码,得到:

function checkSubmit(){
var a=document.getElementById("password");
if("undefined"!=typeof a ){
if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value)
return!0;
alert("Error");
a.focus();
return!1}
}
document.getElementById("levelQuest").onsubmit=checkSubmit;

直接输入密码:67d709b2b54aa2aa648cf6e87a7114f1就可以。

flag在index里

进入网页,发现只有一个链接,直接点进去,观察url有file传参,所以应该是文件包含。于是,构造file=php://filter/read=convert.base64-encode/resource=index.php。
这个payload的含义:php://filter是一种访问本地文件的协议,/read=convert.base64-encode/表示读取的方式是base64编码后,resource=index.php表示目标文件为index.php。
于是我们就可以得到index.php的源代码(base64加密的),再base64解密,就可以找到flag。
base64解密:BASE64加密解密

输入密码查看flag

输入密码,提示密码是五位数,那么范围就是00000-99999,直接burp suite进行爆破。
最后密码是:13579。

点击一百万次

首先,你可以点击一百万次来获得flag,不过那是不可能的。它提示JavaScript,于是就看一下源代码,找到一段js代码。查看后发现,它是用post来传参clicks,根据clicks数来判断的。那么直接post一个clicks=1000000就可以得到flag。(我用的是火狐的max hackbar来post传参的。)

备份是个好习惯

进去后有一串字符,看起来像是md5加密,于是解密后是空密码,这就有点尴尬了。再看一下备份,试了一下index.php.bak。没想到真把他的备份给下载下来了。(在这里还是推荐用一下脚本去扫一下)。源码是:
在这里插入图片描述
11行strstr获得URI从’?‘往后(包括’?’)的字符串,12行去掉’?’,13行把字符串中的’key’替换为空。
于是我们可以构造?kkeyey1[]=1&kkeyey2[]=0来绕过md5验证。就得到了flag。

成绩单

进入后,就是一个查成绩的输入框。当时,就想到了sql注入,于是先输入1’ ,发现没有返回值,再输入1 ’ #就有了返回值,那肯定存在单引号闭合。于是就可以进行注入了。(我用的是手工注入)
第一步:
1 ’ order by 5 # 没有输出。
1 ’ order by 4 # 有输出。
于是可以判断有四个字段。
第二步:
’ union select 1,2,3,4 # 有2,3,4回显。
’ union select 1,2,3,database()# 爆出数据库名:skctf_flag
第三步:
’ union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=‘skctf_flag’#
爆出表名:fl4g和sc。很明显,flag肯定在fl4g中。
第四步:
’ union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name=‘fl4g’#
爆出列名: skctf_flag
第五步:
’ union select 1,2,3,skctf_flag from fl4g#
就得到了flag。

一些朋友也可以用sqlmap来进行自动化注入。

杂项

签到题

额,直接扫码关注就行。

这是一张单纯的图片

用winhex打开,在最后发现了一些东西:
在这里插入图片描述
以&#开头的,应该为HTML编码,直接进行解码,就可以得到flag。

隐写

下载是个压缩包,解压后是个图片,查看后发现,图片的高度好像少了一截。于是用winhex打开,将高度改为和长度一致。:
在这里插入图片描述
前边是宽度,后边是高度。将A改为F,就可以了。保存,就可以看到flag。

telnet

下载,解压,是个数据包。用wireshark打开,追踪TCP流,就可以得到flag。

眼见非实(ISCCCTF)

下载后提示你是zip,于是重命名为1.zip。解压是个docx文档。但是,打开后开头是PK,说明还是个zip压缩包,重命名。解压,得到个文件夹。里边是xml文件。
然后去找文件里的内容。最后在:
在这里插入图片描述
这个文件中发现了flag。

啊哒

首先查看属性,发现了这玩意:
在这里插入图片描述
有E、F说明应该是16进制数,将其转换成字符串:sdnisc_2018
然后用binwalk跑一下:
在这里插入图片描述
发现捆绑了一个zip压缩包。用foremost提取压缩包。
解压时,发现有密码,那可能就是我们之前得到的那个字符串。输入后,得到flag.txt。

又一张图片,还单纯吗

用binwalk跑一下,发现里边捆绑了一张图片:
在这里插入图片描述
然后foremost提取,就得到了flag。

打开后,是一个女生的半张脸。。。我将我能想到的方法都试了一遍,毫无收获。看到题目是,难道要猜她是who?
于是用百度识图,发现是:
在这里插入图片描述
刘亦菲。将拼音写入,就可以了。

宽带信息泄露

下载得到了个bin文件,应该是配置文件,用notepad打开,发现加密了:
在这里插入图片描述
那么,就用routerpassview打开:
在这里插入图片描述
发现是xml,搜索userame就可以了。

隐写2

用binwalk跑一下,发现有个压缩包:
在这里插入图片描述
用foremost提取。
发现需要密码,不过他给了提示:在这里插入图片描述
但是,我是不想去解。因为只有三位,所以写脚本来破解:
在这里插入图片描述
最后是:
在这里插入图片描述
得到一个图片,用notepad打开,在最后得到flag。

多种方法解决

解压后是个exe文件,但是打不开。用winhex打开,发现右边好像是图片的base64编码:
在这里插入图片描述
用在线的base64转图片来将base64转成二维码:
在这里插入图片描述
扫一下就可以得到flag。

闪的好快

打开时一些二维码一直在闪。直接用stegsolve来一帧一帧的查看,分别扫一下,然后拼成flag:
在这里插入图片描述

结语

持续更新中。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值