护网杯部分题目题解

本文回顾了护网杯比赛中Web和Crypto类的挑战,包括MISC的迟来签到、Crypto的fez以及Web的easy_tornado和ltshop题目。通过异或爆破、源码分析、模板注入和整数溢出等技术,解密并复现了解题过程,强调了Python web框架和条件竞争的学习价值。
摘要由CSDN通过智能技术生成

前言

护网杯的这次比赛还是很有收获的,至少在web方面我认为是这样的,还是得继续努力吧。。。

正文

MISC

迟来的签到

AAoHAR1UIFBSJFFQU1AjUVEjVidWUVJVJVZUIyUnI18jVFNXVRs=
题目说要异或,那就直接爆破异或就好
写个小脚本就可以得到flag

import base64
 
a = "AAoHAR1UIFBSJFFQU1AjUVEjVidWUVJVJVZUIyUnI18jVFNXVRs="
a = base64.b64decode(a)
 
for i in range(128):
	s = ''
	for j in a:
		s  = s+chr(i^ord(j))
	if 'flag' in s:
		print s

Crypto

fez

这个题目是我队友做的。。。。赛后才学习的,看来密码学以后还得认真上课。。。。
Fez.log给出三条数据,第一条为test,第二条为test与k加密后的数据,第三条为flag与k加密后的数据
fez.py为加密算法,通过分析算法

iUC4te.jpg

即a,b每一位进行异或运算
iUCHXt.jpg
Round函数将M左右部分互换,并对右部分进行异或运算得 R^L^k[i]
Fez函数即将k数组每个元素与m进行round运算
可得m为字符串分为m[0:27],m[27:54]两部分通过一步一步推算

m:  L + R
	R + a    a: L^R^k0
	a + b    b: L^k0^k1
	b +    c    c: R^k0^k1    
	c + d    d: L^k0^k2^k3
	d + e    e: L^k0^k1^k3^k4
	e + f    f: R
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值