简单记录

是ctfshow里的web入门的题,记几个知识点。

web19

题目描述:密钥什么的,就不要放在前端了
打开题目是登录框,第一想法是去尝试了万能密码。但是没有成功。然后才回过头看题目描述是前端有密钥。所以就看源代码。
m0re
上面是加密方法,百度发现是前端AES加密。它会将用户输入的密码字符串进行加密。两种可行方法,第一种是解密,先百度,然后这样这样,再那样那样就解出来了。(没有使用这种)。第二种是抓包修改,绕过前端验证。将密钥修改为$p的字符串。发包得到flag
m0re

web 7、8

题目描述:版本控制很重要,但不要部署到生产环境更重要。
版本信息部署到生产环境,两道题分别考察git泄露和svn泄露。这是简单的题,不用工具。CTFHUB的技能树也有几个这样的题,是需要用到工具的,用时参考—https://blog.csdn.net/qq_45836474/article/details/107767955#t3

web9

vim编辑器使用的扩展知识。
当我们在使用vim编辑的时候,vim会在被编辑文件同一目录下,创建一个名为filename.swp的文件,记录我们的动作。
编辑文件时,非正常退出编辑,就会生成一个这样的文件。
在次执行编辑命令就会发现,
m0re
而且每次打开都是这样的,这个文件是个隐藏文件,使用ls -all可以看到
m0re

web11

域名隐藏信息,解析记录的txt中有隐藏信息。
m0re

web13

在源码中发现PDF,
m0re
访问能看到登录地址,管理员账号密码

web14(标记)

题目描述:有时候源码里面就能不经意间泄露重要(editor)的信息,默认配置害死人
提示这么明显了,打开直接看源码了,里面找editor关键字。
m0re
摸索一阵,发现editor中有东西
m0re
然后点击第二行倒数第十个图标,
m0re
可以遍历到所有目录,找一遍,在/tmp/html/nothinghere/fl000g.txt发现了这个文件。访问nothinghere/fl000g.txt得到flag

正题

api调用(XXE)

一开始没有管题目,看到题,就尝试了命令执行,但是返回的是这样的。
m0re
这里回显不管写什么命令,都是在后面补上own,所以命令执行可能无从下手,所以就有看看题目了。
api调用是没了解过的,然后呢就有些懵,源码没有信息,也不知道改从哪里下手,做题web题,没有头绪就抓个包看看。然后发现
m0re
有点奇怪,还是直接burp抓包看看。
m0re
看起来好像XXE的样子。跟之前打的靶场挺像的,就回头查了查博客,果然很相似,所以就使用现成的payload进行读取文件。先尝试有回显的

1
2
3
4
5
6
7
<?xml version="1.0"?>
<!DOCTYPE m0re[
<!ELEMENT m0re (message)>
<!ENTITY hacker SYSTEM "file:///home/ctf/flag.txt">
]>

<user><username>&hacker;</username><password>m0re</password></user>

m0re
思路:找源码,没线索再抓包。

hello_misc

每次做一道misc题都是满满的脑洞。奇怪的知识又增加了。
看这个,一张图片,一个压缩包。压缩包加密,里面放的关于flag的压缩包,根据经验,一般是先分析图片,然后再进行压缩包解密。不过起初没办法的时候,都进行尝试了,暴力破解等手段。不过没有线索。正确思路应该是这样的,首先010editor查看。发现了有个out.txt
m0re
然后选择分离图片,得到了压缩包
m0re
查看没有伪加密,也不是弱口令(暴力破解需要一年以上)
所以必定是在图片中还有压缩包的密码,看图片的样子,很像是平时做题的时候RGB隐写时显示的样子,使用stegsolve进行解题,
m0re
红色最低位,一张图片,将其保存为png图片。看到了内容
m0re
压缩包密码也有了!@#$%67*()-+
文件里就是这样的一堆数字,看着挺熟悉的,之前见过、
m0re
与之类似的题—[SWPU2019]Network
然后就使用脚本,进行批量转换,贴个大佬的脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
with open('out.txt') as a_file:
content = [x.strip() for x in a_file.readlines()]
bins = []
for i in content:
bins.append(bin(int(i))[2:].zfill(8)[:2])
stringBins = ''.join(bins)
num = 0
flag = ''
for i in range(int(len(stringBins)/8)):
flag+=chr(int(stringBins[num:num+8],2))
num+=8

print(flag)

m0re
得到了rar压缩包的密码,套路是没有什么变化的。
解压得到fffflag.zip,但是解压拿到的是一堆文件,所以先使用file命令查看一下这个压缩包的文件类型。发现是word文档。
m0re
改下后缀,查看文档。
m0re
复制到记事本中看
m0re
看了wp,是base64编码,这个还真的看不出来、菜。
m0re
然后看0和1的分布
m0re
所以flag是He1Lo_mi5c~

swp

题目来源:BUUCTF[ACTF新生赛2020]swp
下载得到tar压缩包,所以在kali中进行解题。
m0re
最后得到一个流量包,打开wireshark分析查看,随手翻了一下,看到有http请求。于是尝试导出http对象,看到好多文件,还看到了hint.html和一个压缩包。
于是先导出来再说。
m0re
压缩包加密了,所以再拉到windows中打开,
对了,还有hint,先查看hint,
m0re
不需要密码,说明压缩包要么是简单爆破得到,要么是伪加密。打开却看到是这样的。
m0re
明白了为什么不用密码了,直接打开flag.swp文件就可以了。就能找到flag
m0re
swp文件在linux系统中是隐藏文件,是看不到的,但是在windows系统中是可以看到的,这里直接用记事本打开就可以。
扩展:一般隐藏文件使用ls命令查看
m0re

loading

本周内容结束,下周继续。这周做的题,学到了一些关于操作系统的基础内容。

雄鹰不为暴风折翼,群狼不因长夜畏惧!