Some writeup about BUUCTF...
本文最后更新于:1 年前
Misc
1. 基础破解
- 题目中给出提示rar密码为四位数字(2563),故可使用4位数字字典暴力破解,参考^软件链接: https://pan.baidu.com/s/14JJYOXIUTaZIpfx38KUp9w 提取码: by2s 复制这段内容后打开百度网盘手机App,操作更方便哦
打开后为一个txt文件,包含一个Base64码
解码后得到flag
2. zip伪加密
主要用winhex或010 Editor修改文件头的加密标志位
一个zip文件有三个部分组成:
压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志 (详解链接)
这是三个头标记,主要看第二个
压缩源文件数据区:50 4B 03 04:这是头文件标记
压缩源文件目录区:
50 4B 01 02:目录中文件文件头标记
3F 00:压缩使用的 pkware
版本
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了)
压缩源文件目录结束标志 :50
4B 05 06:目录结束标记
00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了
再次打开9即可得到flag
3. 九连环

- 题目给到一个图片,经过binwalk分离出隐藏文件(或win下直接修改扩展名,因为其含有完整的16进制压缩文件结构)
1 |
|
- zip文件为伪加密,做法同2

- 解压后,包含一个含flag.txt的有密码压缩包和一个jpg图片,推测图片必有密码
- 用binwalk之类工具都没有发现,这时使用steghide提取图片中隐藏信息
1 |
|
- 提取时有密码提示,好在出题人跳过,直接回车得到ko.txt,内含密码解压getflag。

4. 另外一个世界

- 010打开,结尾含01序列,开始以为是摩斯密码,无果…

- 此题为ASCII编码,二进制8个一组,解码得到flag
5. 假如给我三天光明

- 充分发挥想象力,没错,和海伦凯勒有关,图片下部为一串盲文,即另一压缩文件的密码
- 盲文对照表kmdonowg

- 解压使用Audacity打开.wav,查看波形,听声音为莫斯密码

- 根据波形敲出莫斯串解码得到flag
6. 隐藏的钥匙

- 010打开搜索文本flag
- base64解码得到flag
7. 来首歌吧
….. 0… 0.0. 0000. ..000 ….. 0…. ….0 0000. 0.0. 0… 00000 .0000 000.. 000.. ..0. ….. ..000 . 0…. .0000 00… 0.. 00… 00000 0000. ..000 0000. .0000 0000. .0000 0.0.
- stego100.wav文件Audacity打开
- 明显的左右声道,一串莫斯密码被隐藏
- 按住Ctrl+鼠标滚轮调整大小,手动解莫斯
- 解码得flag
8.easycap
- 直接追踪TCP流得到flag

10. 后门查杀(Webshell)
- 下载附件,使用D盾查杀

- 密码即为flag

11.
·
·
Web.
1. [HCTF 2018]WarmUp1
查看源码发现source.php被备php源码如下:
1 |
|
2.[GXYCTF2019]Ping Ping Ping
- 首先根据提示,Ping 127.0.0.1,有回显
- 加管道符连接命令
ls
,能够列处当前目录,疑似flag.php

- 接下来尝试打开flag.php,发现空格及flag字样均被过滤

- 空格过滤大法,逐一尝试
1 |
|
1 |
|
- 优先查看
index.php
寻找突破口,回显如下
1 |
|
- flag、bash全部被过滤,无法直接打开查看,但$a可以先赋值再利用
1 |
|
- 内联执行
1 |
|
- 先对
cat flag.php
base64加密,再用sh代替bash(官方payload)
1 |
|
- flag不直接显示,需要查看源码
3.[极客大挑战 2019]EasySQL
- 本题存在字符报错,可直接闭合+万能密码绕过验证,登录得到flag

按注入顺序来则复杂些
/check.php?username=1&password=1'
报错/check.php?username=1&password=1''
正常返回密码错误使用%23(#)结尾注释进行注入
```shell
/check.php?username=1&password=1’ order by 3 %23 //字段为3
//开始查看显示位置,flag已爆出
/check.php?username=1&password=1’ union select 1,2,3 %231
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

---
## 4.[极客大挑战 2019]Havefun
+ 拿到题目直接查看源码
```html
<!--
$cat=$_GET['cat'];
echo $cat;
if($cat=='dog'){
echo 'Syc{cat_cat_cat_cat}';
}
-->
Get传参
1 |
|

5.[强网杯 2019]随便注
- 测试引号,发现存在字符注入
- 查询字段数
1 |
|
- 然而联合查询时发现被过滤,回显如下
1 |
|
- 尝试堆叠注入
1 |
|
- 查到`1919810931114514`表,查看其结构(
desc
)
1 |
|

- 再查看words表的结构(
desc words
)
1 |
|
- 据其他博主所说,猜测初始页面直接查询的表,正是words
- 语句为
selsect id,data from words where id =
- flag应该是在数字串的表中,因此开始操作,堆叠注入,把words随便改成words1,然后把1919810931114514改成words,再把列名flag改成id,结合上面的1’ or 1=1#爆出表所有内容就可以查flag
1 |
|

注意:在windows系统下,反单引号(`)是数据库、表、索引、列和别名用的引用符
6.[极客大挑战 2019]LoveSQL
万能密码登录
1' or 1=1 #
,密码随便输结果可以正常登入,但无用
返回注入思路,payload:
1 |
|
- 得到flag
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!