栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ctfshow web入门(二) 持续更新

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ctfshow web入门(二) 持续更新

ctfshow web入门(二)

前言一、爆破 web23


前言

本来是想把做的题目全部写在一篇里的,但是就在昨天晚上发生了十分悲惨的故事,我写的

最后一题,后面的部分被吃掉了……

所以今天再写一篇新的,记录新写下的题目,嘿嘿~

顺便放一下上一篇的链接:

https://blog.csdn.net/qq_45746876/article/details/123045818?spm=1001.2014.3001.5501


一、爆破 web23

这道题就是昨天被吃掉的那道题,先来看题目:

给了一串代码,放到编译器仔细阅读一波并加上注释:

 

大致意思是get一个值 token,token的md5值满足条件: 第1位 = 第14位 = 第17位,并且取整后 第1位 + 第14位 + 第17位/第1位 === 第17位,此时就会输出flag。

然后再写一个python脚本爆破一下,这题写了很久的原因就是我想直接用在phpstorm上面把token爆破出来,但是php水平又很差,于是想了很久……

后来发现python好像也可以完成,然后又写了python脚本爆破:

# date:2022-2-24 23:25
# author:marxycj


from hashlib import md5
import string


alllist = '0123456789' + string.ascii_lowercase + string.ascii_uppercase

token_md5 = md5(alllist.encode("utf-8")).hexdigest()

for a in alllist:
    for b in alllist:
        token = str(a) + str(b)
        token_md5 = md5(token.encode("utf-8")).hexdigest()

        if token_md5[1] == token_md5[14] and token_md5[14] == token_md5[17]:
            # if int(token_md5[1]) + int(token_md5[14]) + int(token_md5[17]) / int(token_md5[1]) == int(token_md5[31]):	# 是照着条件写出来的,但是有问题,为了不耽误睡觉,就没有改着一行
            print('token:{}'.format(token))
            print('token+md5:{}'.format(token_md5))

但是由于有一个限制条件没有写出来,所以跑出来有几个结果:


然后再一个一个试(爆破又爆破),最后得到 ?token=3j 是正确的,得出flag。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744085.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号