资讯专栏INFORMATION COLUMN

2021“安恒·泰山杯”山东省网络安全大赛测试赛部分题目write up

qianfeng / 3769人阅读

摘要:安恒泰山杯山东省网络安全大赛测试赛部分题目认真你就输了移位凯撒线上测试赛,两个多小时道题做出来道,感觉自己还是太菜,简单记录一下。能下来的东西都在最后百度云链接里。除了都能下来,百度云链接链接提取码来自百度网盘超级会员的分享


线上测试赛,两个多小时8道题做出来5道,感觉自己还是太菜,简单记录一下。能down下来的东西都在最后百度云链接里。

web1 adminlogin

扫描得到admin.php

得到登录页面,根据提示flag在数据库里,推测是sql注入。
试了一下substr、database等等能过滤的都过滤了,有点烦,想留到最后做结果也没来得及做。

web2 ezphp


源代码:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Welcome</title></head><body ></div><h1 style="text-align: center">Where is flag?</h1><!--foreach ($_POST as $item => $value){    $$item=$$value;    $secret = $$item;}foreach ($_GET as $key => $value){    if ($key=="flag"){        $str=$value;        $$str=$secret;    }}if (isset($hehe)){    echo "
".$hehe."
"
;}//flag+flaag=DASCTF{XXXXXXX}--></body><center></html>


代码审计一下,是一个变量覆盖漏洞,具体漏洞原理可参考其他大佬的博客:https://www.cnblogs.com/zzjdbk/p/12985530.html


将两部分拼一下就能得到flag。

misc1 extractall

wp来自另外一位大神:
先写一个多层zip解压脚本,并且注意到zip文件名似乎是有规律的,这里顺便把文件名也记录了一下。

import zipfileimport osname = "[REFTQ"s = []while True:    s.append(name)    with zipfile.ZipFile(name + ".zip", "r") as ziip:        ziip.extractall(pwd=name.encode())        delname = name        name = ziip.filelist[0].filename[0:6]        print(s)    os.remove(delname + ".zip")

最深处有个图片,调整图片宽高,最下面有个提示who am i

有点熟悉,百度一下是斐波那契,想到斐波那契数列,再结合文件名的特点,写出下面的脚本。

s = ["[REFTQ", "1RGe0V", "4dHJhY", "eht8on", "3RhbGx", "8smjtq", "zmckit", "fSXNfU", "9rskp5", "a93su6", "al0o68", "p0l2vq", "29fRnV", "fco9e2", "7ztjka", "bvn8ta", "a27s40", "dxzk1l", "yq6ik4", "gec9bl", "ufQ==]"]print(len(s))fbnachi = list(map(int, "1、2、3、5、8、13、21".split("、")))res = ""for i in fbnachi:    res += s[i-1]print(res)

base64解密一下即得flag

DASCTF{Extractall_Is_So_Fun}

misc2 认真你就输了


附件是一个Excel文件,但是打开提示文件已经损坏,放到kali里看一下格式。

binwalk命令看到一大堆压缩包,将文件后缀改为zip,挨个翻一下文件得到flag.txt。

crypto1 rsa17

给了一段代码:

from Crypto.Util.number import *import binasciiimport gmpy2flag = "*****************************************"hex_flag=int(flag.encode("hex"),16)p=getPrime(256)q=getPrime(256)n=p*qe=0x3c1=pow(hex_flag,e,n)c2=pow(hex_flag+1,e,n)print("n=",hex(n))print("e=",hex(e))print("c1=",hex(c1))print("c2=",hex(c2))"""("n=", "0xb28ae8f29f8b90e8b8c5667b2b71e49929446b41f7f7a3e9e45bc52a1e8c45d59c1788be48a9c365d51feee0b2cd3295001cdad1ba5ccf808686b5ce5a269ae5L")("e=", "0x3")("c1=", "0x7ba5502ecbc3b15ad8c2db8f30a593eb062dde4d7dfacadf0a28291d1a576389a18dfba0607c0243f843f637449089dd2090d47ee9845d4147f02afd4d891f19L")("c2=", "0x891ac4f663df41c1f6433ee3513d749c3ba02fe0aacd7f51d791b9bac4f7e5194bd484d78d972c344faf600f7d3aa580485774768efc47ab8ddb67eeeb330fa1L")"""

e=3,想到关联信息攻击

写一个脚本:

#!/usr/bin/python# -*- coding: utf-8 -*-import gmpy2n = 9351035609579912430580224362406913775216485260866801060250235841497131649675821473038044490729550589638048144137033269711790417615294506088800324197718757e = 3c1 =6475853636479050645596496086080582816789963066323389815672770714308619633711541909793891052802547415987144453383534840748034987689956953991901404774080281c2 =7180748878269451580223627474056868509561249251375351465737365567454518806786657134253453800373864987758778056252628950652794949518011402960483137799524257def get_m1(a, b, c1, c2, n):    a3 = pow(a, 3, n)    b3 = pow(b, 3, n)    tmp1 = ((c2 + 2*a3*c1 - b3) * b) % n    tmp2 = ((c2 - a3*c1 + 2*b3) * a) % n    tmp3 = gmpy2.invert(tmp2, n)    tmp4 = (tmp1 * tmp3) % n    return tmp4m1 = get_m1(1, 1, c1, c2, n)print(m1)#m1=0b218774971804085528558358969417603446702511773250904882108354386662296629999644383681650889865769009

将十进制转化为字符串得到flag:

crypto2 移位凯撒

密文:ch/at;X[hUeQZcNU_QL^f
c的ascii码+3=f的ascii码值
h的ascii码+4=l的ascii码值
/的ascii码+5=a的ascii码值
a的ascii码+6=g的ascii码值
t的ascii码+7={的ascii码值
前面拼起来就是flag{
所以是一个变形的凯撒密码,密文和明文的差值从3开始递增

c = r"ch/at;X[hUeQZcNU_QL^f" /  #这里一定要加r,不然/会被当作转义符move = 3flag = ""for i in c:    flag += chr(ord(i) + move)    move += 1print(flag)

reverse ezgo


看标题,go语言的逆向,本菜鸡暂时只学过c语言的逆向,时间有限,比赛中暂时搁置了,文件保存了,以后做出来补充。

pwn ez_rop


时间有限,比赛中暂时搁置了,文件保存了,以后做出来补充。

除了web1都能down下来,百度云链接:链接:https://pan.baidu.com/s/19bdOz9z5i3CHQLqC3P7P4g
提取码:mipu
–来自百度网盘超级会员V5的分享

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/121597.html

相关文章

  • 2021全国职业技能湖南省“网络空间安全项”题及题解析(超详细)

    摘要:年中职组网络空间安全赛项一湖南省竞赛任务书二任务书解析三任务书答案四不懂的可以私信博主一湖南省竞赛任务书一竞赛时间共计小时二竞赛阶段竞赛阶段任务阶段竞赛任务竞赛时间分值第阶段单兵模式系统渗透测试任务一签到题任务二信息收集 ...

    pinecone 评论0 收藏0
  • 2021年江苏省职业院校技能中职网络信息安全项试卷

    摘要:任务五操作系统渗透测试通过渗透机对靶机服务器进行系统服务及版本扫描渗透测试,并将该操作显示结果中端口对应的服务版本信息字符串作为值提交分通过渗透机对靶机服务器进行渗透测试,将该场景目录中唯一一个后缀为文件的文件名称作为值提交分通过渗 任务五:Linux操作系统渗透测试 通过渗透机Kali对靶...

    zqhxuyuan 评论0 收藏0
  • 2021全国职业技能湖南省“网络空间安全项”题解析(web)

    摘要:通过分析靶机页面信息,寻找漏洞页面,将服务存在注入漏洞的页面名称作为提交分注入页面为通过本地中的渗透测试平台对靶机进行注入攻击,获取靶机的数据库信息,将用来存放服务的数据库名称作为提交分使用工具你的页面的列出他的数据库         1. 通过分析靶机LINUX页面信息,寻找漏洞页面,将W...

    jk_v1 评论0 收藏0
  • 大学这么多比,我该参加哪个?

    摘要:针对计算机类的同学,数学建模,电子科技大赛,大创,,蓝桥杯这些都是值得参加的高含金量的比赛,无论是学校加分还是应届招聘,都被广泛认可。但近几届的蓝桥杯题目难度已经明显增大,准备参加的同学也决不可掉以轻心。 ...

    不知名网友 评论0 收藏0
  • 2021红明谷杯数据安全技能场景 Input Monitor

    摘要:进一步分析和两文件发现文件记录着系统用户的中文字词输入信息,而文件记录着系统用户的中文短句输入信息。由此可知,中文输入法用户词库信息采用独有格式进行存储,但没有采用复杂的加密算法对其进行保护处理具体程序流程,如图所示。 ...

    missonce 评论0 收藏0

发表评论

0条评论

qianfeng

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<