http://123.206.87.240:8002/web16/

题解:

MD5编码

d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e

MD5解码

NULL

理论知识:

将原有文件改名进行简单的备份,如将index.php重命名为index.php.bak或者index_bak.php,然后对原文件index.php进行修改,满足其开发要求,在失败的情况下可以再将 index.php.bak或者index_bak.php文件重命名index.php进行还原,这是在没有版本控制的情况下!

CTF中常见的源码泄漏利用工具

扫描分析

下载index.php备份文件index.php.bak

index.php.bak

<?php
/*** Created by PhpStorm.* User: Norse* Date: 2017/8/6* Time: 20:22
*/include_once "flag.php";
ini_set("display_errors", 0);
$str = strstr($_SERVER['REQUEST_URI'], '?');
$str = substr($str,1);
$str = str_replace('key','',$str);
parse_str($str);
echo md5($key1);echo md5($key2);
if(md5($key1) == md5($key2) && $key1 !== $key2){echo $flag."取得flag";
}
?>

代码分析

strstr()函数,返回url中'?'加上’?‘之后的字符串,

substr()函数,返回从$str[1]开始的字符串,即去掉'?',

str_replace()函数去掉$str中的'key',

parse_str()函数,它的作用是将字符串解析到变量中,举个例子parse_str('a=1&b=1');与$a=1;$b=1;的效果是一样的,

版本一

原理:md5()函数无法处理数组,如果传入的为数组,会返回NULL,所以两个数组经过加密后得到的都是NULL,也就是相等的。

构造URL

http://123.206.87.240:8002/web16/?kkeyey1[]=1&kkeyey2[]=2

版本二

原理: ==比较漏洞

如果两个字符经MD5加密后的值为 0exxxxx形式,就会被认为是科学计数法,且表示的是0*10的xxxx次方,还是零,都是相等的。

MD5值都是0e开头的字符串:QNKCDZO240610708s878926199as155964671as214587387as214587387a

构造URL

http://123.206.87.240:8002/web16/?kkeyey1=240610708&kkeyey2=QNKCDZO

BugKuCTF WEB 备份是个好习惯相关推荐

  1. ctf web 备份是个好习惯

    题目: 打开网址出现: 看着像是两段重复的md5摘要,用解码工具解码,得到: 看出似乎是对空字符生成了md5码并输出,回头看题目描述:备份是个好习惯,猜测是查看备份文件 尝试输入网址 http://1 ...

  2. BugkuCTF——WEB(1)

    一.Web2 题目网址:http://123.206.87.240:8002/web2 鼠标右键,查看网页源代码即可看到flag 二.计算器  题目网址:http://123.206.87.240:8 ...

  3. BugkuCTF web基础$_GET

    前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理 ...

  4. web开发的一些工具技巧_有用的技巧可帮助您建立Web开发人员的良好习惯

    web开发的一些工具技巧 by Antoine Lechenault 通过安托万·莱切诺特(Antoine Lechenault) 有用的技巧可帮助您建立Web开发人员的良好习惯 (Useful ti ...

  5. BUGKU 备份是一个好习惯

    BUGKU 备份是一个好习惯 题目描述有备份,可以用dirsearch扫描后台或者直接猜备份是index.php.bak 得到备份php代码进行分析 $_SERVER["REQUEST_UR ...

  6. .Net对SQL数据库的web备份

    基于B/S模式下的,数据库远程备份,备份成功后可下载到本地 1 protected void ButtonDataBackup_Click(object sender, EventArgs e) 2 ...

  7. mysql web备份软件_GitHub - toolzone/mysql_web_backup: mysql数据库自动备份,web网站自动备份shell脚本...

    注意: Mysql_backup.sh 为 mysql 自动备份 脚本,配合 crontab命令 用来管理需要周期性执行任务 Web_backup.sh 为 web文件 自动备份 脚本,配合 cron ...

  8. bugkuCTF web进阶+web最后两题

    bugkuCTF一些题目 江湖魔头 ①js文件类–>js文件被压缩 解压缩方法–>在该网站解压缩即可 https://tool.lu/js/ ②伪造cookie 1.解密与获取cookie ...

  9. mysql web备份软件_Windows下实现MySQL自动备份的批处理(复制目录或mysqldump备份)

    今天有个需求要在 Windows 下实现数据库自动备份,拼凑了一下解决办法. 实现的特性 可指定多个数据库 按照 年/月/日 的方式组织备份 可选的使用 WinRAR 压缩备份 使用计划任务实现定时备 ...

最新文章

  1. cmd库的导入Java,在cmd命令窗口导入第三方jar包来运行java文件
  2. BuildSql增加了【生成数据库文档】的功能了
  3. AngularJS的稍复杂form验证
  4. 贷款为什么要查看征信?
  5. php类的的属性值,PHP面向对象之旅:类的属性
  6. 企业要搞数字化转型,是用一整套ERP,还是各搞各的数据系统?
  7. flask的请求与响应
  8. PrimeNG01 angular集成PrimeNG
  9. asp.net 获取计算机配置_智能制造中的计算机视觉应用瓶颈问题
  10. python 爬虫,起点完结榜前100榜单
  11. 开源公司黄页之腾讯开源软件推荐
  12. docker-compose 学习:通过 image 指令指定镜像搭建一个简单LNMP
  13. 从“流处理”到“流批一体”,Apache Flink 的19个企业最佳实践
  14. 资深解毒:盖码饭和盖浇饭的区别是什么?
  15. Diffusion model—扩散模型
  16. 深入理解Java回调函数
  17. 斗鱼实时计算平台的演进
  18. 酒店无线WiFi实名认证方案
  19. text html叫什么意思,text是什么意思_text是什么意思
  20. 如何获取百度地图API

热门文章

  1. mac怎么实现文件读写c语言,使用Sublime Text和Xcode在Mac上进行文件输入/输出。 C语言...
  2. Eclipse2020安装了最新版本的JDK却无法打开,提示版本太老的完美解决方法
  3. linux如何更改服务器时间格式,Linux中date命令,格式化输出,时间设置
  4. oracle中的null 字段,Oracle下的NULL字段
  5. 七十八、Antd 实现 TodoList 页面布局和Redux入门
  6. linux用绝对路径执行mysql命令_Linux 相对路径和绝对路径的使用
  7. 3个月转行数据分析师,你需要掌握这些内容
  8. 正视长尾挑战!颜水成、冯佳时团队发布首篇《深度长尾学习》综述
  9. 百度工程师亲授CCF BDCI解题思路,15万大奖等你来拿
  10. AAAI 2019 Oral | 把Cross Entropy梯度分布拉‘平’,就能轻松超越Focal Loss