在做到Bugku的一道题目时,感觉知识点有些多,这里总结一下。

题目连接http://120.24.86.145:8002/web16/

打开界面只有这一串字符串

尝试各种解密解码格式都没有效果,可以观察到整个字符串是d41d8cd98f00b204e9800998ecf8427e的两段重复,其实是MD5加密,最后再揭晓。

那现在怎么办呢,按照题目  备份是个好习惯,是让我们寻找  .bak文件的,也就是说

存在某个文件的.bak文件可以访问,那就试试  http://120.24.86.145:8002/web16/index.php.bak,就拿到了提示文件,好确实有点让新手小白有点难以接受,这里想推荐一航大佬的一款源码泄露工具,可以自动访问常见的CTF线索文件,如果返回正常说明文件存在。

下载地址 https://coding.net/u/yihangwang/p/SourceLeakHacker/git?public=true

运行效果:

我们可以看出有 index.php 和index.php.bak 的状态码为200 ,说明文件存在。

文件下载下来,这里用sublim打开:

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”;
}
?>

整段代码的意思是将get的两个参数中的key替换为空(这里可以用kekeyy绕过),然后对key1,key2的值进行md5加密,并进行比较,

如果md5加密的值一样而未加密的值不同,就输出flag.

有两种方法绕过:

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

2,利用==比较漏洞

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

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

QNKCDZO

240610708

s878926199a

s155964671a

s214587387a

s214587387a

最后看看d41d8cd98f00b204e9800998ecf8427e是什么意思,拿到MD5解密试一下,结果为NULL,也就是说这是NULL的MD5值,因为默认是没有传入key1和key2的,这两个值也就是null.

文章同步到我的博客:http://www.zjzhhb.com/archives/190

转载指明出处

BugkuCTF –备份是个好习惯相关推荐

  1. ctf web 备份是个好习惯

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

  2. BUGKU 备份是一个好习惯

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

  3. BugKuCTF WEB 备份是个好习惯

    http://123.206.87.240:8002/web16/ 题解: MD5编码 d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998 ...

  4. 【CTF bugku 备份是个好习惯】关于.bak备份文件,md5绕过

    知识点 常用的备份文件后缀有 .bak, .swp bak是备份文件的扩展名,现在很多软件都会创建备份文件,bak文件是各类软件产生的备份文件.打开bak文件的方法有简单,只需要知道它的生成软件,然后 ...

  5. bugku听说备份是个好习惯writeup

    题目地址:http://120.24.86.145:8002/web16/ 备份文件源码泄漏使用 @王一航 的脚本爆得: 脚本下载地址:https://git.coding.net/yihangwan ...

  6. BugkuCTF writeup

    BugkuCTF writeup 前言 web方面 web2 计算器 web基础$_GET web基础$_POST 矛盾 web3 域名解析 你必须让他停下 本地包含 变量1 web5 头等舱 网站被 ...

  7. WEB所有题目-BugkuCTF平台

    1.web2 这题查看源代码即可,在url前加上 view-source: .或者按F12也行. 2.计算器 这个输入框只能输入一位数字,把它改大即可.任何的前端限制都是不安全的.按F12, 用选区器 ...

  8. BugkuCTF Writeup——Web

    文章目录 web2 计算器 web基础$_GET web基础$_POST *矛盾 web3 域名解析 你必须让他停下 *本地包含 *变量1 web5 头等舱 网站被黑 *管理员系统 web4 flag ...

  9. SQL Server 2008备份大全实战(七)

    这一篇博文探讨下SQL Server 2008 备份的实际操作,事实上SQL Server 2008并不关心数据是备份到物理磁盘上还是磁带上,在SQL Server 2008数据库备份中,预定义的目标 ...

  10. 宝塔如何备份网站_学习织梦网站必需会的一件事:织梦网站数据备份

    任务:宝塔面板织梦网站备份 织梦CMS程序运行环境:PHP+MySQL 所以无论是备份还是还原,都涉及2个部分,一个是web文件的备份,一个是数据库的备份. 做好数据备份是站长管理员和维护人员的基本操 ...

最新文章

  1. 我爱淘二次冲刺阶段1
  2. Leangoo背景更新-看板背景任你选!!!
  3. 使用 C#/.NET Core 实现单体设计模式
  4. 数据库SQL Server2012笔记(二)——表的管理
  5. UE4_Lighting Scenarios
  6. Java HttpClient使用小结
  7. 大闹天竺里的机器人_在《大闹天竺》中哪一位演员是你喜欢的
  8. java调用arcgis rest服务器_c#调用arcgis地图rest服务示例详解(arcgis地图输出)
  9. 开启linux ssh
  10. 服务器开机需要按f2才能进系统吗,win7系统电脑每次开机总要按F2才能进入系统怎么办...
  11. openmv 神经网络 超出内存_【openmv】openmv各种bug问题记录
  12. idea允许多实例运行
  13. C++ string类和字符串的访问和拼接操作
  14. FullCalendar应用——整合农历节气和节日
  15. 2021-05-21
  16. 致远OA表单自定义函数(明细表排名 )
  17. 大写字母组成的等腰三角形
  18. chrome安装crx文件
  19. 上面两点下面一个三角形_初中数学:相似三角形判定定理证明浅见,来说说你的方法吧...
  20. linux awk命令详解(一) awk语法 awk运算 awk数组

热门文章

  1. notepad++打开bin文件
  2. 中国科学院大学计算机学院夏令营,中科院计算所2019年夏令营名单
  3. C++ 自定义新的运算符
  4. 重装后显示计算机无法联网,重装系统后电脑无法连接网络怎么办
  5. 计算机无法关闭密码保护,win7的密码保护共享关闭不了怎么办_解决win7的密码保护共享关闭不了的方法...
  6. 机器学习_经典模型_逻辑回归(logistic regression)
  7. 计算机领域中的token的意思
  8. SpringBoot 整合 ElasticSearch 实现京东搜索(手把手带你完成一个 “前后端分离项目”)
  9. 锂电池充电器设计技巧:从太阳能电池获取更大功率
  10. HTML5堆木头游戏