BUGKU 备份是一个好习惯

题目描述有备份,可以用dirsearch扫描后台或者直接猜备份是index.php.bak

得到备份php代码进行分析

$_SERVER[“REQUEST_URI”]函数

预定义服务器变量的一种,所有$_SERVER开头的都叫做预定义服务器变量 REQUEST_URI的作用是取得当前URI,也就是除域名外后面的完整的地址路径

例如。当前页面是https://editor.csdn.net/md?not_checkout=1&articleId=128101793

echo $_SERVER[“REQUEST_URI”];

结果就为:md?not_checkout=1&articleId=128101793

strstr函数

substr函数

str_replace函数

parse_str函数 讲字符传解析为变量

所有该题的步骤为
1.取域名后的字符串
2.删掉?
3.替换字符串中的key为空
4.将字符串中的内容变为变量

如URL/?akey=1
得到$a=1

该题后续需要$ key1和$key2进行md5判断,需要传入key字符,可以用多重构造,如:kkeyey、kekeyy、kkeyekeyy等,通过str_replace函数让key变成空就能得到key了。
后续的代码是md5绕过,因为是弱判断,所有可以用数组绕过或者0e绕过


构造/?kkeyey[]1=1%kkeyey2[]=2即可绕过检测获得flag

BUGKU 备份是一个好习惯相关推荐

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

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

  2. ctf web 备份是个好习惯

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

  3. Sql养成一个好习惯是一笔财富

    Sql养成一个好习惯是一笔财富 我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动大,那么我么还能保证下一段 ...

  4. android静态类保存context,Android:静态获取Context是一个好习惯吗?

    public class MyApp extends Application { private static Context context; public void onCreate(){ sup ...

  5. 使用 Vue3 + elementPlus 做一个每日习惯打卡表

    使用 Vue3 + elementPlus 做一个每日习惯打卡表 github 链接 最新代码会在 github 更新 最近在看<富兰克林自传>,看到一篇文章叫<13个成就一生的习惯 ...

  6. 每月改掉一个坏习惯,遇见更好的自己

    -1- 有人说,人生不过是无数习惯的总和. 查尔斯·杜希格在<习惯的力量>中写道:「人每天的活动中,有超过40%是习惯的产物,而不是自己主动的决定.虽然每个习惯的影响相对来说比较小,但是随 ...

  7. 一个月培养一个好习惯 个人提升

    弥缝决定再次 号召大家参与"一个月培养一个好习惯"活动.俗话说:命好不如习惯好.一个好习惯,无论其大小,带来的影响将是巨大的,有益于你一生的. 习惯决定命运,可是好习惯并非自然而成 ...

  8. 怎么养成一个好习惯?

    怎么养成一个好习惯? 1.写出计划书 2.将30天分成5个阶段 1.怎么写计划书? 1.列出计划的内容 2.列出时间段 3.写出需要遵守的规定 2.怎么分不同阶段? 1.起跑期(3天) 注意不要一下子 ...

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

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

最新文章

  1. maven(一 基本操作 命令 标签)
  2. 如何检查Bash中是否设置了变量?
  3. 对 Session 的深入探讨
  4. 从需求来看《IT人员应聘建议》
  5. 消息队列 应用场景 解析
  6. python databaseoperate_python开发_python操作mysql数据库
  7. 通过这本拼图学习Bash
  8. linux-mptcp调度算法,NS-3实现MPTCP的轮询调度算法
  9. 比较简单的解决键盘遮挡文本框的简单方法
  10. python pip升级报错
  11. 8.Linux性能诊断 --- 浅谈基于数据分析的网络态势感知
  12. 题目1544:数字序列区间最小值
  13. web端(js)极光IM获取消息记录时,如果是图片类型,如何通过media_id获取到图片的真实路径?
  14. 芯片后端设计的DRC是什么
  15. html下划线无阴影效果,CSS | 实现下划线的N个姿势
  16. Rhodamine-PEG-Pyrene,罗丹明聚乙二醇芘丁酸,Pyrene-PEG-RB
  17. 用计算机控制人造卫星和导弹发射,用计算机控制人造卫星和导弹的发射,按计算机应用的分类,它应属于什么...
  18. 基于Vue的WebApp项目开发(五)
  19. A2M人工智能与机器学习创新峰会参会感悟 by江舟
  20. 一文总结十大经典排序算法(思维导图 + 动图演示 + 代码实现 C/C++/Python + 致命吐槽)

热门文章

  1. 你的健身房今年跑路了吗?不要紧,“魔镜”才是家庭健身的未来!
  2. Revit模型带材质导入到Unity3D软件
  3. java组合类,对象组合,定义一个点类,将圆的圆心用点类的对象表示,则圆类定义为一个组合类,仍然能计算圆的面积和周长,并能对圆进行移动。
  4. oracle 10g rman 备份与恢复 之三
  5. Android可滑动画板,Android实现画画板案例
  6. 转的大佬的 学习方法
  7. Spring如何管理bean(面试背诵版)
  8. 删除文件等用trash命令
  9. dogepool.pw index.php,php – 在Dogecoin转换欧元
  10. 阿里云弹性计算开发面试