├── Crypto-Or1cle.md └── README.md /Crypto-Or1cle.md: -------------------------------------------------------------------------------- 1 | # Crypto-Or1cle 2 | 3 | ```python 4 | 23: self.P = self.d*secp256k1.G 5 | 24: 6 | 25: def signature(self,msg): 7 | 26: h = int(hashlib.sha256(msg).hexdigest(),16) 8 | 27: k = h^self.d 9 | 28: r = (k*secp256k1.G).x 10 | 29: s = inverse(k,secp256k1.q) * (h + r*self.d) % secp256k1.q 11 | 30: return '%064x%064x' % (r, s) 12 | 31: 13 | 32: def verify(self,z, signature): 14 | 33: r, s = int(signature[:64], 16), int(signature[64:], 16) 15 | 34: z = int(hashlib.sha256(z).hexdigest(), 16) 16 | 35: s_inv = pow(s, secp256k1.q - 2, secp256k1.q) 17 | 36: u1 = (z * s_inv) % secp256k1.q 18 | 37: u2 = (r * s_inv) % secp256k1.q 19 | 38: point = u1 * secp256k1.G + u2 * self.P 20 | 39: return point.x == r 21 | 40: 22 | 41: banner = """ 23 | 42: _ __ __________ ___________ 24 | 43: | |/_/__ ___ ___ __ __ __ /\____;;___\ | | 25 | ``` 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 第七届西湖论剑·中国杭州网络安全技能大赛 初赛 2 | 3 | ## Web 4 | 5 | ### only_sql 6 | 7 | > 说了随便连啦就是随便连,你输什么我都不管的。 8 | > 9 | > hint:LOAD DATA 10 | 11 | ### ezinject 12 | 13 | > ezinject 14 | 15 | ### ezerp 16 | 17 | > ezerp 18 | > 19 | > hint1: plugins目录不存在 20 | > 21 | > hint2: 附件新增一个 [https://xjlh2024-1308232561.cos.ap-nanjing.myqcloud.com/WEB-ezerp.jar](https://xjlh2024-1308232561.cos.ap-nanjing.myqcloud.com/WEB-ezerp.jar) 22 | 23 | ### ezupload 24 | 25 | > ezupload 26 | > 27 | > 链接:[https://pan.baidu.com/s/1PCl4DzkbMqXIy92x9xseQw](https://pan.baidu.com/s/1PCl4DzkbMqXIy92x9xseQw) 提取码:DASC 28 | > 29 | > hint1: 附件下载地址新增一个 [https://xjlh2024-1308232561.cos.ap-nanjing.myqcloud.com/WEB-ezupload.jar](https://xjlh2024-1308232561.cos.ap-nanjing.myqcloud.com/WEB-ezupload.jar) 30 | 31 | ### Easyejs 32 | 33 | > 我的第一个nodejs项目 34 | 35 | ## Misc 36 | 37 | ### 2024签到题 38 | 39 | > 那么,暗号在哪呢?(本次比赛赛题格式一般为 DASCTF{xxx}/flag{xxx}格式,提交时只需要提交括号内内容,比如此处就是xxx,如有特殊情况会在题目中说明) 40 | 41 | ### easy_tables 42 | 43 | > 某公司的数据安全工程师在对数据库日常审计时,发现部分账号进行了违规操作。 现该工程师从数据库中导出了四张表: 44 | > 45 | > 1. 表“users.csv”是账号表,记录着账号密码和所属权限组编号,其中的“所属权限组编号”列对应表“permissions.csv”的编号,表示该用户归属对应的组别中 46 | > 47 | > 2. 表“permissions.csv”是权限组别对应表,其中的“可操作表编号”列对应表“tables.csv”的编号,表示该组别对可操作的表具有一定的权限操作,便于管理用户对数据库表的访问权限,以便控制他们可以执行的操作 48 | > 49 | > 3. 表“tables.csv”中“可操作时间段”列说明在规定的时间段内可对相应的表进行操作 50 | > 51 | > 4. 表“actionlog.csv”是具体操作日志表,记录着具体账户执行的数据库操作。 具体示例请参考附件中“样例”文件夹中的“样例说明.pdf”。 52 | > 53 | > 请选手根据这四张表协助数据安全工程师开展数据库操作分析,从中找到违规操作,违规操作包括不存在的账号执行了操作、账号对其不可操作的表执行了操作、账号对表执行了不属于其权限的操作、账号不在规定时间段内执行了操作。将找到的违规操作位于表中的编号用下划线(_)拼接。若不存在的账号执行了操作,则只保留在actionlog.csv表里的编号,其余编号用0代替。若有多个恶意操作,编号之间用逗号(,)隔开即可,拼接顺序依次按照在 users.csv、permissions.csv、tables.csv、actionlog.csv 表中的编号顺序进行排序,最后将拼接后的内容进行32位小写md5加密处理,提交格式为flag{md5(xxxx)}。 54 | > 55 | > 例如经分析后得到的结果为 abc123,通过计算 md5('abc123')=e99a18c428cb38d5f260853678922e03,则提交的答案为 e99a18c428cb38d5f260853678922e03。 56 | 57 | ### easy_rawraw 58 | 59 | > easy raw! many passwords! 60 | > 61 | > 链接: 提取码:DASC --来自百度网盘超级会员V5的分享 62 | 63 | ## Crypto 64 | 65 | ### Or1cle 66 | 67 | 平台未给出题目源码,这里贴上通过报错得到的源码信息:[./Crypto-Or1cle.md](./Crypto-Or1cle.md) 68 | 69 | > 蒸馍会是,又是签到! :D 70 | 71 | ### Or2cle 72 | 73 | > 签到题! :D 74 | > 75 | > hint:附件中proof是被修改过的,不影响做题 76 | 77 | ### Or3cle 78 | 79 | > 太好啦,都是签到题! :D 80 | 81 | ## Reverse 82 | 83 | ### Qrohttre 84 | 85 | > None 86 | 87 | ### MZ 88 | 89 | > flag为一段有意义的文本 90 | 91 | ### BabyCPP 92 | 93 | > Just CPP 94 | 95 | ## Pwn 96 | 97 | ### Privilege_1 98 | 99 | > 小明认为系统无懈可击 100 | > 101 | > hint:请关注系统的systemd service 102 | 103 | ### babywin 104 | 105 | > hint:no DEP and attack SafeSEH 106 | 107 | ### Privilege_2 108 | 109 | > 小明说它在这个系统修复了一些漏洞,它变安全了? 110 | 111 | ## IOT 112 | 113 | ### easygateway 114 | 115 | > easygateway to getshell 116 | > 117 | > hint:diff 118 | 119 | ### hardgateway 120 | 121 | > None 122 | 123 | ## 数据安全 124 | 125 | ### Cyan-1 126 | 127 | > 128 | > 129 | > flag1答完题就有。 130 | > 131 | > 这里是 flag1 提交处,flag格式为 DASCTF1{***}, 只提交括号内的字符串。 132 | > 133 | > 温馨提醒:千万不要对这个题使用扫描器,一扫描IP会被封5分钟。此题不需要扫描器。 134 | 135 | ### Cyan-2 136 | 137 | > flag2,登录管理员后台,看用户列表就有了。 138 | > 139 | > 这里是 flag2 提交处,flag格式为 DASCTF2{***}, 只提交括号内的字符串。 140 | > 141 | > PHPEMS源码下载分流:链接: 提取码:DASC --来自百度网盘超级会员V5的分享 142 | > hint1: 1. 管理员账号在靶机里已经改过了,教师账号也删了,不要刻舟求剑,自己想其他办法吧,谢谢。 2.新增附件下载地址一个 143 | > 144 | > hint2: CVE-2023-6654 145 | 146 | ### Cyan-3 147 | 148 | > flag3,RCE 了就有了。 149 | > 150 | > 这里是 flag3 提交处,flag格式为 DASCTF3{***}, 只提交括号内的字符串。 151 | > 152 | > hint3: 想办法把 key 捞出来,然后反序列化,当然不一定好像也不能直接RCE,心不要太急,要长期主义。 153 | 154 | ### Cyan-4 155 | 156 | > flag4, 在笔记本的加密文档里。 157 | > 158 | > 这里是 flag4 提交处,flag格式为 DASCTF4{***}, 只提交括号内的字符串。 159 | 160 | ### Cyan-5 161 | 162 | > flag5,在密码库里。 163 | > 164 | > 这里是 flag5 提交处,flag格式为 DASCTF5{***}, 只提交括号内的字符串。 165 | --------------------------------------------------------------------------------