备份是个好习惯 bugku
2024-10-21 19:28:05
题目描述:
解题思路:
1.查看网页源码只显示一行字符,有点像16进制,但经过解码并不是,也不是base64等编码
2.根据题目,应该和备份相关,默认页面一般都是 index.php或者index.html
再去尝试index.php.bak
下载下载查看内容:
对这个内容进行简单剖析:
(1)strstr — 查找字符串的首次出现,$st是获得URI?传参的部分;
(2)然后将 key字符进行替换为空;这里可以在传参是进行双写绕过,如: kekeyy1 ===> key1
(3)然后输出key1的MD5值,即页面显示的内容,将其进行md5解密为空,因为key1为空值,见下图;
(4)后面的if判断是寻找 key1和key2的md5值相同,但加密前的内容不同,就会显示flag.
了解了原理了就可以进行构造....
3.md5绕过技巧
(1)md5()函数无法处理数组,如果传入的为数组,会返回NULL,经过加密后得到的都是NULL
http://114.67.175.224:15315/?kekeyy1[]=a&kekeyy2[]=b
(2)js的==比较漏洞,对所有0exxxx的科学计数,会在比较时转化为0,都是相等的,所以只要对某些值加密后是0e开头即可
QNKCDZO 240610708 s878926199a s155964671a s214587387a s214587387a
http://114.67.175.224:15315/?kekeyy1=QNKCDZO&kekeyy2=240610708
注:关于 == 比较规则,想要详细了解的可以自行百度一下哈~~~~,这道题主要学习一下md5绕过的方法~~
最新文章
- iOS APP 如何做才安全
- 一则spring容器启动死锁问题(DefaultListableBeanFactory/DefaultSingletonBeanRegistry)
- 即使用ADO.NET,也要轻量级动态生成更新SQL,比Ormlite性能更高
- business knowledge
- 【hadoop】——MapReduce解压缩实现
- osg学习示例之遇到问题四骨骼动画编译osgCal
- applicationContext.xml简单笔记
- font-size:100%和font-size:0
- 【项目经验】如何用TexturePacker &; Physicseditor开发游戏
- 编译安装mysql5.7.9
- Newly Setting up a CentOS-7 system
- 【知识整理】这可能是最好的RxJava 2.x 入门教程(二)
- 十、Hadoop学习笔记————Hive与Hbase以及RDBMS(关系型数据库)的关系
- 【编程技巧】EXTJS中Ext.grid.GridPanel配置项autoExpandColumn的使用方法
- 深度优先搜索DFS(一)
- Database Management System 基础01:管理自己的任何事
- vim 学习笔记系列(前言)
- 分包收集 android 运行的 logcat 日志
- 常见的js算法
- $ cd `dirname $0` 和PWD用法