点开是道没有任何窗口的题,右键查看源码也没上面东西,抓包试试,也没找到什么提示性的信息,根据提示去看看敏感文件泄露是什么吧

这里找到了篇敏感文件泄露的介绍及利用方法:https://www.cnblogs.com/pannengzhi/p/2017-09-23-web-file-disclosure.html

然后这里的使用方法就是在连接后面补充.git;.hg.......最后发现.git的报错是禁止访问,而其他的则是未找到,所以这里是git敏感文件泄露,而git文件是不能直接看到的,我们需要下载GitHack来下载利用泄露文件,这里附上下载链接:https://github.com/lijiejie/GitHack

下载后的使用方法也很简单,作用也就下载git敏感文件泄露。这里我们打开cmd,在cmd中打开GitHack的文件夹

再输入 python GitHack.py http://1270485ad6e5419eb84b2bbf2ca113ae47cf39637fcd4bf6.changame.ichunqiu.com/Challenges/.git/   来下载网页上泄露的git,

不过这里涉及到.git文件的历史文件,也就是修改之前的文件,所以GitHack需要更麻烦的修改,所以这里使用Git_Extract,是个dalao自己写的,很方便,这里附上下载链接https://github.com/gakki429/Git_Extract,下载后使用方法也很简单,先通过cmd指令打开Git_Extract文件夹

cd C:\Users\七星\Desktop\tools\Git_Extract-master

然后python git_extract.py http://1270485ad6e5419eb84b2bbf2ca113ae47cf39637fcd4bf6.changame.ichunqiu.com/Challenges/.git/获取.git泄露文件

然后获取到.git及历史

全部打开一一检查发现了提示信息

所以我们根据提示搜索b4ckdo0r.php,界面上也没什么信息,还是同样的,查看源码,抓包没什么信息,可能还是敏感文件泄露,继续测试。。。。无果,看了下wp才知道这里是.swo备份文件泄露,具体的利用方法是直接url:http://037a02c1c0e34ad1b7ce0c816843af4837a413b838964a33.changame.ichunqiu.com/Challenges/.b4ckdo0r.php.swo访问就行了,会让我们下载备份文件,我们就先下载下来试试

下载下来后是需要我们恢复的swo文件,我们将其放在kali上进行vim的复原(将本地文件放入kali需要VM Tools,具体安装方法再本博客搜如何在kali Linux上安装VMware Tools

复原步骤:

  1. 将下载好的swo文件改后缀为swp
  2. 将swp文件发送到kali上
  3. 在kali的终端上打开swp文件的目录

root@kali:~# cd /root/桌面

4.修复swp文件

root@kali:~/桌面# vim -r b4ckdo0r.php.swp

然后输入一次回车就可以得到修复好的swp文件了

这么密密麻麻的是混淆后的代码,我们将其复制到本地,在最后一行加入

echo ($L);

然后本地运行

但是发现这里折叠了,少了很多东西,一看源码才知道,这里存在<>,被html当标签处理了

所以这里直接查看源码,复制下来,整理一下,得到网页web源码了

然后分析源码,在43行找到了个可利用的eval()函数

再来解读下代码,

1.首先定义赋值两个参数

2.然后定义了一个函数,函数的功能是传入两个变量然后取其长度,将其变量与长度串联起来,输出串联后的变量和长度

3.再定义三个变量,其中rr是头部url,ra是头部传入的Language值

4.然后一个判断,如果rr和ra都存在就执行不存在就没了,所以这里rr和ra是必要传入的

5.if里面先定义了一个变量u,让其解析传入的url

6.把查询到的url中的query值传入变量中

7.让变量q等于query的数组

8.执行一个全局正则表达式的匹配

9.然后如果变量q和m都存在则又执行新的内容,否则什么都没有,所以这两个值一定是要有的

10.将请求的session值传入,保存到变量s中,然后又定义了ss和sl两个变量并赋值

11.定义一个变量i,让其等于m数组的第一个值并联第二个值

12.将i的值与kh的值并联,md5加密,然后返回前三位的值,将其给h

13.将i的值与kf的值并联,md5加密,然后返回前三位的值,将其给f

14.然后让变量p不断赋值,使其等于$q[$m[2][$z]](z从1一直变到m的上线)的并联

15.然后一个if判断,如果变量p中没有和变量h相同的的字符串就$s[$i]为空,p等于p的前三位

16.然后检查变量i中有没有s变量字符串,有的话就s[$i]与p并联,让变量e等于变量f在变量s[$i]中首次出现的位置,如果存在就继续执行

17.变量k的值等于变量kh与kf的字符串并联

18.打开web缓冲

19.然后是可利用的eval函数

20.把缓冲区数据传给变量o

21.清空缓冲区

22.然后给变量o压缩,进行x函数(最开始定义的函数),在base64解码,将其值给变量d

23.输出变量d

24.结束session

具体代码含义及利用方法请参考:https://www.cnblogs.com/sijidou/p/9827720.html

所以这里先利用eval()函数执行一次system(‘ls’)指令,而ls是要被加密解密复杂运算的,所以我们这里就先对他反向加密解密

附上一个dalao的脚本

<?php
function x($t,$k) {
$c=strlen($k);
$l=strlen($t);
$o="";
for($i=0; $i<$l;) {
for($j=0; ($j<$c&&$i<$l); $j++,$i++) {
$o.= $t{$i} ^ $k{$j};
}
}
return $o;
}
function get_answer($str){
$str = base64_decode($str);
$str = x($str, '4f7f28d7');
$str = gzuncompress($str);
echo $str . "<br>";
}
function input($cmd){
$str = 'system("' . $cmd . '");';
$t1 = gzcompress($str);
echo '$t1 = ' . $t1 . "<br>";
$t2 = x($t1, '4f7f28d7');
echo '$t2 = ' . $t2 . "<br>";
$t3 = base64_encode($t2);
echo '$t3 = ' . $t3 . "<br>";
return $t3;
}
$ra='zh-CN,zh;q=0.0';
input('ls');//get_answer(''); ?>

本地运行,得到ls的反向加密解密

然后对http://70b22a768b3e4610b5301bee9da8a9e449d6cccf2ba648e1.changame.ichunqiu.com/Challenges/b4ckdo0r.php进行抓包,修改Accept-Language的值,手动传入Referer的值来达到我们利用eval()函数执行system(‘ls’)的目的,然后运行一下得到返回值

Accept-Language: zh-CN,zh;q=0.0

Referer: http://8.8.8.8/index.php?a=675TPocyB4WLfrhNv1PZOrQMTREimJna3e

然后将返回值填入刚刚的脚本中进行解码

得到解码后的字符串

很明显,这里显示的this_i5_flag.php是网站根目录下的文件,我们访问试试

。。。。。好吧,想不通

看来还得通过利用eval()函数来执行system()函数进行访问

这里需要用到system(‘cat this_i5_flag.php’),所以我们就把cat this_i5_flag.php放到刚刚的脚本中进行反加密解密

然后之前的抓包中修改Referer

Referer:http://8.8.8.8/index.php?a=675TPocyB4WLfrhNn0oHmlM/vxKuakGtSv8fSrgTfoQNOWAYDfeUDKWa3e

运行一下得到返回值,再次将返回值复制到脚本然后本地运行,这里运行的结果是没有显示的,因为他在源码中是被注释的,我们右键本地运行的网页查看源码即可得到flag

i春秋Backdoor的更多相关文章

  1. i春秋 “百度杯”CTF比赛 十月场 web题 Backdoor

    0x00: 打开题目,题目中告诉我们这题是文件泄露. 0x01: 通过扫描目录,发现可以扫到的有3个文件 index.php flag.php robots.txt 但是浏览flag.php它告诉我们 ...

  2. i春秋url地址编码问题

    i春秋学院是国内比较知名的安全培训平台,前段时间看了下网站,顺便手工简单测试常见的XSS,发现网站搜索功能比较有意思. 其实是对用户输入的内容HTML编码和URL编码的处理方式在这里不合理,提交到乌云 ...

  3. 爱春秋之戏说春秋 Writeup

    爱春秋之戏说春秋 Writeup 第一关 图穷匕见 这一关关键是给了一个图片,将图片下载到本地后,打开以及查看属性均无任何发现,尝试把图片转换为.txt格式.在文本的最后发现这样一串有规律的代码: 形 ...

  4. i春秋——春秋争霸write up

    i春秋--春秋争霸write up 第一关 题目给出一张图 提示中,这种排列源于古老的奇书,暗含了两个数字,可以得出第一关的答案是两个数字 百度识图来一发, 得到图中排列是来自于洛书,点开洛书的百度百 ...

  5. WordPress Backdoor未授权访问漏洞和信息泄露漏洞

    漏洞名称: WordPress Backdoor未授权访问漏洞和信息泄露漏洞 CNNVD编号: CNNVD-201312-497 发布时间: 2013-12-27 更新时间: 2013-12-27 危 ...

  6. i春秋与我

    在i春秋论坛混迹了大半年了,在i春秋的在线平台学到了很多奇技淫巧,特别喜欢这个平台的气氛,以及虚拟在线网络环境的搭建, 忙周偷乐,过来也为i春秋做点小奉献,共同构造我们喜欢的春秋平台,成长特别快,特别 ...

  7. I春秋——Misc(贝斯家族)

    不好意思呀!最近一直忙着学习python,竟然忘记更新I春秋里面的题目了(QAQ),我以后会时时刻刻提醒自己要更新 永远爱你们的! ----新宝宝 1:贝斯家族: 解题思路:我相信看见这一题都能够想到 ...

  8. i春秋------Misc更新

    今天早上起来很开森!因为今天要打比赛了(2018年3月安恒杯线上赛),等到比赛开始得时候,发现自己登陆不上去 想了很久发现自己只是预约了比赛,并没有报名(QAQ ),心疼一下傻傻的自己.现在开始工作: ...

  9. 暖春许愿季丨i春秋给你送福利

    没有一点点防备 也没有一丝顾虑 就这样出现——暖春许愿季 纳尼?这不是我的歌声里 是i春秋在搞活动 这次准备搞个大的 多大呢 看这里 你许下心愿 我帮你实现 这是一棵神奇的心愿树 是一个畅所欲言之地 ...

  10. 实战经验|大神战队都在i春秋教你打CTF

    全国大学生信息安全竞赛创新实践能力赛旨在培养.选拔.推荐优秀信息安全专业人才创造条件,促进高等学校信息安全专业课程体系.教学内容和方法的改革,培养学生的创新意识与团队合作精神,普及信息安全知识,增强学 ...

随机推荐

  1. Java 中HashMap 详解

    本篇重点: 1.HashMap的存储结构 2.HashMap的put和get操作过程 3.HashMap的扩容 4.关于transient关键字 HashMap的存储结构 1. HashMap 总体是 ...

  2. 如何搭建安全的 CI/CD 管道?

    Eolink 前端负责人黎芷君进行了<工程化- CI / CD>的主题演讲,围绕 CI/CD 管道安全的实践,分享自己在搭建 CI/CD 管道过程中所总结的重要经验,与开发者深入讨论 &q ...

  3. 百度ueditor工具栏配置大全

    toolbars: [[ 'source', // 源代码 'anchor', // 锚点 'undo', // 撤销 'redo', // 重做 'bold', // 加粗 'indent', // ...

  4. Kubernetes 监控--Grafana

    前面我们使用 Prometheus 采集了 Kubernetes 集群中的一些监控数据指标,我们也尝试使用 promQL 语句查询出了一些数据,并且在 Prometheus 的 Dashboard 中 ...

  5. k8s中 资源配额 ResourceQuota

    文章转载自:https://www.kuboard.cn/learning/k8s-advanced/policy/lr.html 当多个用户(团队)共享一个节点数量有限的集群时,如何在多个用户(团队 ...

  6. Portainer安装,配置自定义镜像仓库拉取镜像

    Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...

  7. .NET 反向代理 YARP 自定义配置提供程序(Configuration Providers)

    介绍 基本 Yarp 示例显示从 appsettings.json 加载的代理配置.相反,代理配置可以从您选择的源以编程方式加载.您可以通过提供几个实现 IProxyConfigProvider 和 ...

  8. 引入Wukong让你的系统瞬间具备IOC能力

    [Github源码] 本文重点要说的是如何通过引入Wukong第三方包让自己的系统能够拥有IOC容器能力,但在具体讲解步骤之前,还是想先简单的介绍一下什么是IOC以及它存在的意义:同时也就能清楚Wuk ...

  9. Vue中组件化编码使用、实现组件之间的参数传递(实战练习二)

    上一章节实现的是静态页面的设计.这一章节实现将数据抽取出来.通过组件间参数的传递来实现 上一章节链接地址:https://blog.csdn.net/weixin_43304253/article/d ...

  10. java中的垃圾回收算法与垃圾回收器

    常用的垃圾回收算法 标记-清除 标记清除算法是一种非移动式的回收算法,分为标记 清除 2个阶段,简而言之就是先标记出需要回收的对象,标记完成后再回收掉所有标记的内存对象,如下图 可见回收后图中被标记的 ...