来自牛逼哥的阴间MD5(web)
这个web题目是来自队里面牛逼哥的题目,审计源码,
看到这两个参数,前面的a和b就是直接输出数字,再看下面的,需要弱比较的输出一个c,要求应该是需要一个加密之前是一个0e开头的字符串,加密之后还是0e开头的MD5的值
这里说一下MD5碰撞,通常遇到这种的时候使用的常规的0eMD5的值,但是没有加密之前的字符开头几乎是没有是0e的,所以才说这是一个比较阴间的题目,(详情可以去百度一下)
像这种加密之前和加密之后都是0e开头的字符串还是真的挺少见的,这里可以使用脚本跑出来想要的没有加密的0e的字符串,就是时间需要的比较长
import hashlib
def md5_enc(s):
m = hashlib.md5()
m.update(str(s).encode('utf-8'))
return m.hexdigest()
if __name__ == '__main__':
result = []
for i in range(0, 9999999999):
i = '0e' + str(i)
enc = md5_enc(i)
print(i+" md5 is "+enc)
# md5值前两位为0e
if enc[:2] == "0e":
# md5值0e后为纯数字
if enc[2:].isdigit():
result.append(i)
print("Got Result:"+i)
break
附上脚本,跑出来之后就很简单了,这个题目本身是不难的,构造一下payload,这里放一下脚本跑出来的
使用这个,然后构造一下payload,回显得到flag
最新文章
- javascript判断数组中是否包含某个元素
- 培训第四天-----jdbc连接oracle
- [LintCode] Swap Nodes in Pairs 成对交换节点
- SIFT特征提取分析(转载)
- Scala第二章学习笔记
- Service(一)----->;简单计算
- 共享内存 share pool (2):BUCKET /FREE LISTS /RESERVED FREE LISTS /UNPINNED RECREATABLE CHUNKS (lru first)
- Datazen 自定义地图--中国地图
- 【转】CSS中position属性( absolute | relative | static | fixed )详解
- selenium基本操作
- Maven依赖的是本地工程还是仓库jar包?
- css scale 元素放大缩小效果
- SSM-SpringMVC-12:SpringMVC中BeanNameViewResolver这种视图解析器
- Iris jwt 使用
- BZOJ.3928.[CERC2014]Outer space invaders(区间DP)
- 10.20stark组件已经完工
- CentOS6.8 安装 Oracle11.2.0.4
- R实战 第八篇:重塑数据(reshape2)
- 20145306 张文锦 网络攻防 web基础
- 『cs231n』作业1选讲_通过代码理解KNN&;交叉验证&;SVM