php做电影网站飞鱼crm下载

pingmian/2026/1/22 11:40:06/文章来源:
php做电影网站,飞鱼crm下载,书画院网站建设方案,wordpress做多语言作为一个信息安全的人#xff0c;打各个学校的CTF比赛是比较重要的#xff01; 最近一个朋友发了道题目过来#xff0c;发现有道题目比较有意思#xff0c;这里跟大家分享下 这串代码的大致意思是#xff1a; 这段代码首先引入了一个名为flag.php的文件打各个学校的CTF比赛是比较重要的 最近一个朋友发了道题目过来发现有道题目比较有意思这里跟大家分享下 这串代码的大致意思是 这段代码首先引入了一个名为flag.php的文件该文件可能包含一个标志flag。然后使用highlight_file(__FILE__)函数来高亮显示当前文件的源代码。 接下来获取了两个变量$guet和$sec。其中$guet是从GET请求中获取的参数默认值为123456而$sec则是从COOKIE中获取的参数默认值也为123456。 代码中有一段正则表达式/^2023(.*?)GUETSEC$/用于检查$guet是否以2023开头以GUETSEC结尾并且在开头和结尾之间可以包含任意字符。如果满足这个条件那么会进行以下判断 如果$guet的MD5哈希值等于a26f719b36e667992b03a298ad18b1c7则输出$flag的MD5哈希值。如果$guet的整数值等于反转后的$guet的整数值则输出$flag的长度。 接下来如果$guet不为空那么会进行以下判断 如果$sec的MD5哈希值等于$flag与$guet拼接后的MD5哈希值那么输出$flag的值。 最后如果$guet为空则输出Oh no! You cant do this!。 这道题目的原理是hash长度扩展攻击这里先介绍个脚本方法爆破这是我最初使用的脚本 因为要爆破的其实就中间的三个字母一共十四个已经知道11个所以比较简单 ?php // 固定的前后缀 $prefix 2023; $suffix GUETSEC; // 目标MD5哈希值 $targetMd5 a26f719b36e667992b03a298ad18b1c7; // 总长度为14已知前缀和后缀总长度为10所以中间部分长度为3 $middleLength 14 - strlen($prefix) - strlen($suffix); // 生成可能的中间部分字符集例如所有可打印ASCII字符 $charset 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ; // 遍历所有可能的中间部分 for ($i 0; $i pow(strlen($charset), $middleLength); $i) {     // 生成中间部分     $middle ;     $current $i;     for ($j 0; $j $middleLength; $j) {         $middle $charset[$current % strlen($charset)] . $middle;         $current intval($current / strlen($charset));     } // 组合全字符串     $guet $prefix . $middle . $suffix; // 检查MD5哈希     if (md5($guet) $targetMd5) {         echo Found: $guet;         break;     } } ? 第一个绕过就搞定了这里由于就只要求中间的三个字母因为已经知道了开头结尾所以可以使用我的脚本进行爆破。 这里我高兴坏了心想都已经拿到flag的MD5形式了那不就可以直接拿到flag了直接MD5解密但是现实给我泼了一盆狠狠的冷水 MD5是一种广泛使用的哈希函数它产生一个128位16字节的哈希值。通常呈现为一个32字符的十六进制数。它是一种单项函数这意味着从MD5哈希值是不可能在实践中直接得到原始数据的。换句话说MD5不是加密过程它是一个单向散列函数没有一个反向的过程能够从散列值中恢复出准确的原始输入。 如果已知的MD5哈希值是437a413ace6757019e0a0c5ead62c9f9除非通过暴力破解法——即尝试大量可能的输入值并对每个值进行散列直到找到与已知散列值匹配的输入否则无法得知$flag的内容但是这个运算量实在太大实战根本不可能完成我只能抛弃脚本爆破这条路 第二个if绕过 本地测试发现2023e-4GUETSEC只要GUETSEC前面的数字大于’2023’(长度为4),经过 intval()函数 转化后与strrev( 2023e-4GUETSEC)相等为0即可绕过 接下来才是本文的重点 如果$sec的MD5哈希值等于$flag与$guet拼接后的MD5哈希值那么输出$flag的值。 这里已经知道结果flag是42位而且已经知道了flag的MD5形式437a413ace6757019e0a0c5ead62c9f9直接使用Hashpump这里就是哈希函数扩展攻击 哈希长度扩展攻击也称为哈希长度扩充攻击或者Hash Extension Attack是一种针对使用Merkle-Damgård构造的哈希函数如MD5, SHA-1, SHA-256的加密攻击。Merkle-Damgård构造是一种创建哈希函数的方法其典型结构包括一个基本的压缩函数和一个填充方案确保输入数据的长度是特定倍数。 哈希长度扩展攻击的原理基于以下几点 可预见的填充 Merkle-Damgård实现使用一个预定义的方式来填充消息以确保信息长度符合要求。通常填充以一个bit的1开始然后是一串0最后是一个表示原始消息长度的64位对于MD5和SHA-1或128位对于某些SHA-2函数的二进制数。攻击者知道这个填充方案。 状态保持 哈希函数在处理信息的时候会将信息分成固定大小的块然后通过压缩函数逐块处理。每块处理结束后压缩函数的输出会成为下一块处理的输入称为链式状态或中间哈希值。最终块处理完成后产生的输出便是整个消息的哈希值。 不需要初始状态 在进行哈希计算时攻击者并不需要知道原始消息的具体内容只需知道原始消息哈希的中间状态或最终状态。           哈哈哈官方回答不是人话这里简单来说就是 想象一下有一个秘密盒子哈希函数这个盒子可以把任何东西数据变成一堆乱码哈希值而且这个过程是单向的就是说你不能从乱码再变回原来的东西。 通常当你把一些东西放进这个盒子时如果想要让盒子正常工作你需要在东西的后面放些填充物比如棉花。这个填充过程是按照一定的规则来的比如先放一点特别的棉花再放一些普通的棉花最后放一点标记原来东西大小的棉花。 哈希长度扩展攻击就是有人发现了这个秘密他们不需要知道你原来放进去的是什么只要知道最后的乱码和你放进去东西的大小他们就能在不打开盒子的情况下在你的东西后面加上更多的东西和填充物然后算出这个新组合的乱码。 这样他们就能假装知道你最初放进去的东西实际上他们只是在你的东西后面加了些自己的东西然后算出了一个看起来合理的乱码。 这种攻击之所以可行是因为填充规则是公开的而且这个秘密盒子在处理东西时有一些可以预测的特点。所以如果别人知道你的乱码和你放进去东西的大小他们就可能利用这些信息进行攻击。 hashump的使用在kali上下载就好 $ hashpump -h HashPump [-h help] [-t test] [-s signature] [-d data] [-a additional] [-k keylength]HashPump生成字符串以利用易受哈希长度扩展攻击的签名。-h --help显示此消息。-t --test运行测试以验证每个算法是否正常运行。-s --signature来自已知消息的签名。-d --data来自已知消息的数据。-a --additional您要添加到已知消息的信息。-k --keylength 用于对原始消息进行签名的密钥的长度以字节为单位。 -s 是指知道的哈希值 -k 是进行签名的长度 -d 已知的数据 -a 添加上去的已知数据 接下来就可以直接得出flag因为MD5是不可逆的除非你已经知道了flag形式的MD5还知道了flag的很多内容只有几个字符不知道的那种想想也知道不可能 接下来就可以直接拿到flag 真心希望我的文章能够使各位读者有所收获

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设技术难题温州品牌网站建设

报错:one record is expected, but the query result is multiple records,意思是:需要一条记录,但查询结果是多条记录。这个问题很常见,但是进过排查,是用户表【手机号唯一原则】查询时候发现是时候多出来…

网站建设流程中哪些部分比较重要山东大学经济研究院

Miguel Arevallilo Herra ez, David R. Burton, Michael J. Lalor, and Munther A. Gdeisat 摘要: 据我们所知,我们描述了一种新的相位展开技术。已经提出了几种基于首先展开最可靠像素的算法。这些仅限于连续路径,并且在定义起始像素时会遇…

建设网站的运行费包括什么地方企业广告宣传

H - Holy Grail 题意: 题干又臭又长 我简单说说 n个点,m条有向边,边权为负,然后给你六组起始点(s点和t点),你要在s和t之间建一个有向边,要使得权值最小,问这六组边依次…

湖北省职业能力建设处网站国内app开发公司

P2148 [SDOI2009]E&D 题意: 有2n堆石子,第2k-1堆和第2k堆是一组,现在两个人轮流操作,每次操作任选一组石子,然后将改组中的一堆石子移走,将另一堆式子分割成两堆,形成新的两堆石子&#x…

做的网站怎样适配手机如何创建百度网站

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习JavaSE的一点学习心得,欢迎大家在评论区交流讨论💌 上篇(【Ja…

基于python的网站开发项目扬州、常州、扬州、泰州

简介: 2021 哪些前端技术值得关注?来听听狼叔的分享。 知乎上,有人提问《2021前端会有什么新的变化?》 狼叔的回答二天超过6.1万阅读量,目前444个赞同,2个专业徽章,整体上看,这篇回答…

买空间做网站网站上的菠菜游戏哪里可以做

http://www.cnblogs.com/jingzhishen/p/4067657.html转载于:https://www.cnblogs.com/chencesc/p/5733858.html

昆明网站建设建站模板网站开发技术服务合同范本

题干: 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a*a分,comb就…

济宁做网站多少钱网站建设html5

目录 1.函数的参数 1.1显式参数 1.2隐式参数 (1)this (2)Arguments 1.3伪数组转换为真数组 2.函数补充知识点 2.1函数可以调用另一个函数 2.2闭包函数 1.函数的参数 1.1显式参数 显式参数就是我们自定义的参数。JavaScript函数定义显式参数时没…

3d打印网站开发公司公司网站建设公司

com.mysql.jdbc.PacketTooBigException: Packet for query is too large 异常解决办法: 原因: 查询出的数据包过大,默认情况下mysql 的字段容量不够装,所以抛出此异常 解决办法: 第一步:首先通过SQLyog客…

查询系统网站模板浙江做网站平台的科技公司

SpringCloudAlibaba之Sentinel简单使用 文章目录 SpringCloudAlibaba之Sentinel简单使用sentinel入门资源定义SphU(抛出异常方式)SphO(布尔类型方式)SentinelResource(注解的方式定义)SentinelResource使用前置条件使用SentinelResource定义资源定义blockHandler和fallback方法…

html 网站添加悬浮二维码做国外wordpress赚钱

1.镜像安装 镜像安装:Centos7安装 2.安装过程(直接以图的形式呈现) 选择你已经下载好的镜像 回车即可,等待安装 等待安装即可

怎么在网站做推广和宣传做漫画网站的需求

分类目录:《深入理解强化学习》总目录 在本文中,我们将介绍备份(Backup)的概念。备份类似于自举之间的迭代关系,对于某一个状态,它的当前价值是与它的未来价值线性相关的。 我们将与下图类似的图称为备份图…

wap医院网站模板 for dedecms v1.0应用网站

[ABC206E] Divide Both 解题记录 题意简述 给定整数 L , R L,R L,R,求满足以下条件的数对 ( x , y ) (x,y) (x,y) 的数量。 x , y x,y x,y 不互质 x ∤ y x \nmid y x∤y 且 y ∤ x y \nmid x y∤x 题目分析 正难则反,考虑用所有的满足第一条性质的…

免费家装设计网站精品网站建设价格

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k 4 输出: 4 说明: 你可以假设 k 总是…

券商 做网站毕业设计做网站有哪些需求

随着云计算、企业级应用以及物联网领域的飞速发展,当前的数据处理需求正以前所未有的规模增长,以满足存储行业不断变化的需求。这种增长导致网络带宽压力增大,并对主机计算资源(如内存和CPU)造成极大负担,进…

档案互动网站建设住房和城乡建设部网站买卖合同

①、两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 事例: 输入: word1 "sea", word2 "eat" 输出: 2 解释: 第一步将 "sea&…

建立网站可以赚钱吗广州优秀网站建设

温馨提示:如果你有关于产品经理方面的任何问题,欢迎关注我的微信公众号与我互动。最新的免费系统的产品经理课程《老司机带你做产品》已经推出,请关注微信公众号:iamliuwenzhi很多产品新人刚开始工作时,喜欢一拿到需求…

网站开发的数据比wordpress

一、PIL,cv2读取数据图片以及之间的转换 cv2PIL读取acv2.imread()aImage.open()读取类型数组类型PIL类型读取尺寸排列(H,W,C)(W,H,C)显示图片cv2.imshow(“a”, a)cv2.waitKey (0)a.show()相互之间转换显示Image.from…

中建南方建设集团网站页面设计高度

经常在网上看到某某公司几千万的个人敏感信息被泄露,这要是放在持牌的支付公司,可能就是一个非常大的麻烦,不但会失去用户的信任,而且可能会被吊销牌照。而现实情况是很多公司的技术研发人员并没有足够深的安全架构经验来设计一套…