备份是个好习惯 bugku
题目描述:
解题思路:
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绕过的方法~~
备份是个好习惯 bugku的更多相关文章
- http://www.bugku.com:Bugku——备份是个好习惯(http://120.24.86.145:8002/web16/)
看了bugku的这道题,陌生又熟悉. 题目首先说[备份是个好习惯],访问网站只有一串字符,,,,,emmmmm,这句话表明人家经常做备份,所以咯,肯定在网站哪里备份有网页信息.嘻嘻 1 ...
- BugKu之备份是个好习惯
题目:备份是个好习惯 思路分析 打开题目,看到一个字符串. 联系到题目,就猜到肯定是源代码泄露,用工具扫一下,发现了index.php.bak,验证了我的猜想,下载下来看看. <?php /** ...
- Bugku-CTF之备份是个好习惯
Day17 备份是个好习惯 听说备份是个好习惯 http://123.206.87.240:8002/web16/
- bugku 备份是个好习惯
打开是一段神秘代码,我也不知道是什么 直接解密试试 尝试各种,发现是md5,解开是.... 可能需要我们传什么东西进去,抓包看看,无果.... 看看题目是备份,可能这道题就和备份文件有关 我就直接点了 ...
- Bugku web(1—35)
1.web2 打开网页: 哈哈,其实按下F12你就会发现flag. 2.计算器 打开网页,只是让你输入计算结果,但是发现只能输入一个数字,这时按下F12,修改一下参数,使之可以输入多个数字,修改后输入 ...
- 个人永久性免费-Excel催化剂功能第79波-自动及手动备份功能,比Onedrive还好用
在OFFICE365里,有个自动保存功能,可惜保存的地址是在Onedrive里,在中国国情下,备份十分卡顿,近乎难以忍受的慢.虽然现在收费性的网盘部分是可以有文件版本的备份功能,但也是繁琐且最要命的是 ...
- web安全之备份
1:打开界面,一头雾水.根据题目提示"备份是个好习惯"可以想到,这应该是一个代码泄露问题.常见的网页主页index.php.那么备份文件一般是.bak文件类型.尝试下载该文件 in ...
- BugkuCTF WEB
web2 打开链接,一大堆表情 查看源代码 得到 flag 文件上传测试 打开链接 选择 1 个 jpg 文件进行上传,用 burp 抓包改包 将 php 改为 jpg,发包 得到 flag 计算器 ...
- CTF-代码审计(2)
1.bugku 备份是个好习惯 网址:http://123.206.87.240:8002/web16/ 进去什么都没有,题目说备份想到备份文件,所以直接再后面加个 .bak 拿到源码: < ...
- bugkuCTFWEB部分WP
前言 之前做的今天整理下 这个有点乱不建议大家参考我的wp 这个主要是自己看的.部分的我做的时候打不开就没写. 练手地址:https://ctf.bugku.com 矛盾 矛盾考察的是PHP弱类型首先 ...
随机推荐
- TPS,RPS,QPS,RT的区别
以下是对性能中各项指标的解释: 1.TPS:Transaction Per Second,服务器每秒处理事务数,是衡量系统性能的一个非常重要的指标. 计算公式:TPS= 总请求数 / 总时间. ...
- 【Linux】Linux网络编程
socket 默认开启的socket是阻塞的,想要设置非阻塞的话,可以用 fcntl设置为 nonblock:或者使用setsockopt进行更多设置: 一般使用推荐 设成nonblock,然后epo ...
- angular 路由守卫Observable异步请求串联
假设路由守卫有这种场景 需要使用observable同时发送多个Http 请求,判断request2返回的数据中是否存在request1返回的数据 使用async await export class ...
- React函数式组件值之useRef()和useImperativeHandle()
一.useRef useRef共有两种用法,获取子组件的实例(只有类组件可用),在函数组件中的一个全局变量,不会因为重复 render 重复申明, 类似于类组件的 this.xxx. 1. useRe ...
- MATH1851 Trigonometric Formula Notes
大学里老师都默认我们学过 正割 \(\sec\),余割 \(\csc\) 与余切 \(\cot\) 再加上高中的一些公式都有点遗忘,开个贴做个笔记 常规的 \(\sin x, \cos x, \tan ...
- lowcodeEngine 组件面板的拖拽功能
设计器和渲染器处在不同的 Frame 渲染器以单独的 iframe 嵌入,xxx-simulator-renderer 通过和 host进行通信来和设计器打交道,比如点击渲染画布任意一个位置,需要能计 ...
- fread()函数读文本文件重复读最后一个字符问题【已解决】
对文本文件读写时遇到一个问题,fread()读所有内容的时候文件的最后一个字符总会重复读,我的代码如下: FILE* file = nullptr; fopen_s(&file, " ...
- 常用的js方法
1. 声明和初始化数组 我们可以使用默认值(如"".null或 )初始化特定大小的数组0.您可能已经将这些用于一维数组,但如何初始化二维数组/矩阵呢? const array = ...
- java判断上传图片格式
由于客户上传图片将png的图片的后缀名改为jpg,所以通过后缀名判断不行,用下面这个方法可以 //判断是否是JPG格式 log.info("-1----进入JPG格式判断....." ...
- 关于MYSQL知识点复习
关于MYSQL关联查询JOIN: https://www.cnblogs.com/withscorpion/p/9454490.html