CTFhub技能树web & BUU杂项等
发布日期:2021-05-20 05:08:02 浏览次数:12 分类:技术文章

本文共 3402 字,大约阅读时间需要 11 分钟。

本文目录

xss反射型

xss先查看源码。找一下插入点

m0re
那随便插一个xss,其实没有过滤,直接弹窗了。
m0re
但是没有得到flag,然后看了大佬wp,才知道是要打出来cookie,注册一个xss平台,创建一个项目
m0re
然后复制一下环境的URL,在name后面加上payload
m0re
然后send,返回结果成功,回到xss平台查看项目
m0re

文件包含

m0re

shell.txt里面是

request默认包含get和post方式,原本不知道,看了大佬的wp才学习到一个新姿势

使用file包含shell.txt然后结合利用命令执行
m0re
然后查看根目录
m0re
发现flag然后就是查看flag,用cat就可以。

git泄露——log

需要用到工具Githack这个工具——🔑

目前只支持python2,还有就是,使用这个工具需要安装git
先用工具处理一下

python GitHack.py http://challenge-ade6802494a678e6.sandbox.ctfhub.com:10080//.git/

m0re

然后切换至dist中的目录,使用命令git log查看历史记录

git log

m0re

然后diff一下remove的时候的提交记录。
m0re
第二种方法
使用命令git reset切换到add flag时的版本,就可以看到目录下生成了几个文件,点开txt文件就可以看到flag了。

git reset --hard 9606461bae67fe7941a3b4049d89be560a6e9386

m0re

git泄露——Stash

仍然使用Githack进行处理

接下来使用git stash list查看
m0re
再使用命令git stash pop从 git 栈中弹出来一个文件,文件内有flag
m0re

git泄露——Index

步骤跟log一模一样就可以,详细的不写了,直接贴个图叭。

m0re

HG泄露

使用工具——🔑

这个工具也可解决svn泄露的题,但是我没有找到flag,找了wp,复现没成功。然后就放弃了。不过hg泄露也是没成功。懒得总结了,就直接写新知识。
命令就这个,其他全靠找。

./rip-hg.pl -v -u http://challenge-96fb44c6e263bd06.sandbox.ctfhub.com:10080/.hg/

m0re

情况呢,就是这么个情况,了解了这个知识就可以了,最起码操作是会了,找不到flag这个问题,不纠结了。
m0re

弱口令

都不用爆破的,都是admin

默认口令

用户名:eyougw

密码:admin@(eyou)
看大佬的wp是这样的。害,还是太年轻。

迟来的签到题

这个题,试了几种常见的密码,没有效果啊。有点头大,莫得思路。找了wp看的。发现这个题是有个提示的,但是CTFhub里没写。

提示:easy xor???
使用python2编写的脚本,这个是在网上找的。

from base64 import * b=b64decode("AAoHAR1WX1VQVlNVU1VRUl5XXyMjI1FWJ1IjUCQnXlZWXyckXhs=") data=list(b)#转成列表  for k in range(200):        flag=""     for i in range(len(data)):         flag+=chr(ord(data[i])^k)     print flag+"\n"

尝试编写python3的,但是失败了。在评论区看到一个大佬写的python3的,但是在这道题中用不了。我的是python3.7运行失败。

不过这个博主好像是我们学校的大佬。😁应该早就毕业了。不认识!

还原大师

m0re

脚本如下:

#-*- coding: utf-8 -*-#!/usr/bin/env/pythonimport hashlibm = 'TASC?O3RJMV?WDJKX?ZM'for i in range(26):    temp1 = m.replace('?',str(chr(65+i)),1)    for j in range(26):        temp2 = temp1.replace('?',chr(65+j),1)        for k in range(26):            temp3 = temp2.replace('?',chr(65+k),1)            s = hashlib.md5(temp3.encode('utf-8')).hexdigest().upper()            if s[:4] == 'E903':                print(s)

原字符串有三个位置是不知道的,所以需要三个循环语句对这三个位置进行暴力猜解,最后使用切片判断字符串的大写MD5前四位是不是匹配E903,如果匹配就是flag

[GUET-CTF2019]虚假的压缩包

两个压缩包,一个虚假的压缩包,一个真实的压缩包。拖进010editor查看,虚假的压缩包是伪加密,破解得到一个文件

数学题n = 33e = 3解26-------------------------答案是

一个简单的rsa,应该都用不到gmpy2这个模块

n=33e=3m=0while m<100:    c=(m**e)%n    if (c==26):        print("c=",c)        print("m=",m)    m+=1

简单的爆破,

m0re
尝试密码,5是对的。所以真实的压缩包密码是答案是5
得到一张图片和一个文件
查看图片,看到图片宽高不一致,于是就改的长一点
m0re
看到了隐藏信息
m0re
^5异或5,呃呃呃,异或应该是脚本(默默去百度了大佬的wp)
python2的

f1 = open('./cxk','r')xor_data = f1.read()f1.close()dec_data = ""for i in xor_data:    tmp = int(i,16) ^ 5    dec_data += hex(tmp)[2:]f2 = open('./cxkdemimi.doc','wb')f2.write(dec_data.decode('hex'))f2.close()

m0re

这里隐藏了一段,复制出来粘贴到记事本中就行了。

[SWPU2019]Network

m0re

看到这些比较晕,原本移位要画图描点什么的,network也不懂,就是看wp看大佬的思路。
先将这四位数字转换成8位二进制的数字,

63		00111111255		11111111127		01111111191		10111111

每个数的前两位提取出来,然后就是提取后的一串数字,四位一组,转换成ascii码,

再将ascii码转换成16进制数,可以发现504B,是zip的文件头。

#-*- coding: utf-8 -*-#!/usr/bin/env/pythonfp = open('C:\\Users\\**********\\Desktop\\t.txt','r')a = fp.readlines()p = []for i in a:    p.append(int(i))s = ''for i in p:    if i == 63:        a = '00'    elif i == 127:        a = '01'    elif i == 191:        a = '10'    elif i == 255:        a = '11'    s += aimport binasciiflag = ''for i in range(0,len(s),8):    flag += chr(int(s[i:i+8],2))flag = binascii.unhexlify(flag)wp = open('C:\\Users\\*******\\Desktop\\ans.zip','wb')wp.write(flag)wp.close()

压缩包伪加密,好几处伪加密了,所以可以直接使用ZipCenOp直接解。

然后base64吧,手都酸了,
m0re
脑洞太小啊。

转载地址:https://blog.csdn.net/qq_45836474/article/details/107767955 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:web安全目录遍历漏洞学习及绕过
下一篇:XXE漏洞基础及简单利用

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月23日 08时20分30秒