安恒杯6月月赛部分解题报告
WEB localview
- 题目描述
有个傲娇的管理员,只能从本地才能看到想要的~答案提交flag{}括号内的值。 - 解题步骤
1.打开网页是熟悉的图片
文章图片
图片.png
2.查看源代码
文章图片
图片.png
结合题目提示猜测本地访问,但是主页XFF访问结果一样
3.扫描目录发现存在admin.php页面,但是拒绝访问
文章图片
图片.png
4.在请求头添加参数进行访问,这里有个坑,要加host参数,值为localhost
文章图片
图片.png
easypentest 题目描述
解题思路
- 首先访问页面,是代码审计题目,有flag.php文件,但是有过滤使用php的一个bug 绕过过滤读
flag.Php,二次url编码,绕过读取提示
php BUG:https://bugs.php.net/bug.php?id=76671&edit=1
文章图片
图片.png
文章图片
图片.png
- 尝试访问临近ip ,发现内网服务器,发现是一个任意文件包含
文章图片
图片.png
- 但是没有其他服务,不好直接获取shell,于是扫描端口:
文章图片
图片.png
- 使用 gopherus 生成 poc :
文章图片
图片.png
- 通过二次编码 gopher 协议攻击内网 smtp 服务,污染日志
文章图片
图片.png
- 通过 lfi 获取 webshell 在根目录下发现 flag
文章图片
图片.png CRYPTO 石头剪刀布
- 题目描述
发现秘密了吗?答案提交flag{}括号内的值。 - 解题过程
通过nc连接发现是石头剪刀布的比较游戏,但是对手的手势顺序是伪随机数,一共20局,每次发送必须在限定的时间内,不然会报错,适合写脚本爆破
from pwn import *
flag="211200012210120121120"
sh = remote("101.71.29.5",10003)
def sendflag(flag):
sh.recv()
for i in flag:
sh.sendline(i)
print sh.recv()
sh.close()sendflag(flag)
逐位爆破,最后将结果拼接出来得到
f{1calrfesaaE_ygInE}
猜测是栅栏密码,进行解密得到flag
文章图片
图片.png FLAG:flag{raI1fEnce_Easy}
你认识我吗?
- 题目描述
提交你找到的字符串的md5值,答案提交flag{}括号内的值。 - 解题过程
下载下来得打两份文件,一个是加密脚本,另外一个是输出的密文
from message import plainText
from message import keypla_len = len(plainText)
key_len = len(key)print "plainText length is %d" % pla_len
print "key length is %d" % key_lenpla_matrix = []
for i in range(0,pla_len,key_len):
pla_matrix.append(list(plainText[i:i+key_len]))ord_key = []
for k in key:
ord_key.append(ord(k))ord_key = sorted(ord_key)output_order = []for i in ord_key:
output_order.append(key.find(chr(i)))for i in output_order:
for s in pla_matrix:
print s[i],
print "\n"
算法的步骤大概是把明文共计77个字母分成7组,然后各组按照一定的排列顺序进行打乱,然后输出,秘钥决定打乱的顺序,因此根据单词的关联系,进行相应的调整,得到解密后的代码如下:
文章图片
解密.png FLAG:flag{You_Are_Amazing}
MISC 日志分析脚本
分析日志,可以找到盲注的重点在 361 行开始, mid 函数从第一个字符,每次截取一个字符,一直 到结束,每次尝试范围都是 0 - 9 , a - z,{}, 延时 3 秒,观察发现如果盲注正确的话,两条盲注语句都是在同一时刻,将 361 行之后的 sql 盲注内容复制到文本文件当中 ,首先 url 解码
文章图片
图片.png
那么将时间间隔设置为 0 秒或者 1 秒,就得到了正确的结果
文章图片
图片.png
先对原来的日志进行URL解码,然后进行相应的处理,根据前后两次的访问时间进行判断是否进行延时
i = 0
tmp = ""
flag = ""
f2 = open("data.txt")
for line in f2:
if i==0:
tmp = line
i=i+1
continue
i=i+1print(tmp[36:38])
if tmp[36:38]==line[36:38]:
if tmp[145]=="'":
flag+=tmp[146]
else:
flag+=tmp[145]
tmp = lineprint(flag)
p = "50f1ea7cf1544106e3555ccc2cf4087"
print(len(p))
有一个坑,第28位前后两个间隔1秒,最终
FLAG:50f1ea7cf1544106e3555c4cc2cf4087
我的密码 解题过程
- 使用 file 命令查看三个文件,发现都是 windows 注册表文件 , 如下图所示 :
文章图片
图片.png
- 题目提到“我的密码”,想来应该是 windows 密码了,从注册表恢复 windows hash 可以使用 cain 工具或者 impacket 工具包
C ain 参考 https://wenku.baidu.com/view/63cca30a0166f5335a8102d276a20029bd646368.html
- 使用 impacket 工具包中的 secretsdump.py 文件即可得到 windows hash ,如下图所示:
文章图片
图片.png
接下来就是破解 hash 了,可以使用 john 直接破解( emm ... .. ,我 john 出了点问题
因为 windows hash 被截成两部分, LMhash 和 NTLMhash , 所以 将 NTLM 部分放到 https://www.cmd5.com/ , 类型选择 NTLM , 即可得到破解后的密码 (经过测试,只有 【安恒杯6月月赛部分解题报告】
推荐阅读
- 20210307《挑战赛怂人胆》【能量将帅挑战赛(01)】
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- ACSL|ACSL 美国计算机科学联赛 2016-2017 R4 摩天大楼-Skyscraper 题解
- 临清一中学子斩获北大培文杯作文大赛全国大奖
- 排球比赛
- 第三届文人杯诗书画大赛获名单公示
- 参加【21天写作挑战赛】,第七期第14天,挑战感受小总结
- 记一次赛课失利
- 休赛期3全明星去哪队算合理(詹皇该选火箭,考神不必留鹈鹕!)