• i春秋 第二届春秋欢乐赛 Hello World


    使用扫描工具扫描

    python3 dirmap.py -i http://106.75.72.168:9999/ -lcf

    发现存在/.git/文件

     使用GitHacker获取泄露的信息

    python GitHacker.py http://106.75.72.168:9999/.git/

    查看flag.js文件

    cat flag.js

    发现是一袭混淆的代码

    重新审视赛题

    获取遗漏的object

    本题的考点原意是.git/logs/HEAD文件的利用,而githack并没有对其中的hash提取,因此遗漏了部分的object

    这里使用JGitHack是可以获取到这些遗漏的object(这里不知道为什么我在windows10上无法正常使用)

    手工提取object

    这里使用git的底层命令,cat-file和ls-tree

    cat-file

    发现b5dfb5846ad5a81ebf6104d5230728cbf48d653b与9ee4dcc90211b7c2dc3e5639a0296aecb730b48c的文件名相同但是hash不同

    root@bogon:#git cat-file -p 887746652d1084c47682b6e1b46bbc37c9315663
    d1084c47682b6e1b46bbc37c9315663
    tree b5dfb5846ad5a81ebf6104d5230728cbf48d653b
    author yichinzhu <787954349@qq.com> 1494432951 +0800
    committer yichinzhu <787954349@qq.com> 1494432951 +0800
    
    finish
    root@bogon:#git cat-file -p 09e053a355059e89b4367024578c477e022ac6d6
    tree 9ee4dcc90211b7c2dc3e5639a0296aecb730b48c
    parent 887746652d1084c47682b6e1b46bbc37c9315663
    author yichinzhu <787954349@qq.com> 1494434367 +0800
    committer yichinzhu <787954349@qq.com> 1494434367 +0800
    
    the dev branch is for developing
    root@bogon:#git cat-file -p b5dfb5846ad5a81ebf6104d5230728cbf48d653b
    100644 blob f2b45f1e5af6dc1a8607c11e4ddc5fd077276c45    flag.js
    100644 blob 058e764e697528c84db00fe6e6e872bcb96dd23c    flag.php
    100644 blob b87380749e1c45195483373cc0061547f344900c    index.php
    root@bogon:#git cat-file -p 9ee4dcc90211b7c2dc3e5639a0296aecb730b48c
    100644 blob 04bb09bb63fe48e6cab3e1c72a7ef51dda9634b8    flag.js
    100644 blob 058e764e697528c84db00fe6e6e872bcb96dd23c    flag.php
    100644 blob b87380749e1c45195483373cc0061547f344900c    index.php
    root@bogon:#git cat-file -p b87380749e1c45195483373cc0061547f344900c
    <html>
    <head>
    <title>
    </title>
    </head>
    <script src="flag.xmas.js"></script>
    <h1>Hello, World!</h1>

    ls-tree

    root@bogon:#git ls-tree b5dfb5846ad5a81ebf6104d5230728cbf48d653b
    100644 blob f2b45f1e5af6dc1a8607c11e4ddc5fd077276c45    flag.js
    100644 blob 058e764e697528c84db00fe6e6e872bcb96dd23c    flag.php
    100644 blob b87380749e1c45195483373cc0061547f344900c    index.php
    
    root@bogon:#git ls-tree 9ee4dcc90211b7c2dc3e5639a0296aecb730b48c
    100644 blob 04bb09bb63fe48e6cab3e1c72a7ef51dda9634b8    flag.js
    100644 blob 058e764e697528c84db00fe6e6e872bcb96dd23c    flag.php
    100644 blob b87380749e1c45195483373cc0061547f344900c    index.php

    下载两个hash不同的文件

    因为hash不同代表这两个文件肯定被修改过,所以下载下来查看有哪些部分被修改

    使用命令git cat-file

    root@bogon:#git cat-file blob f2b45f1e5af6dc1a8607c11e4ddc5fd077276c45 > f2b45f1.js
    root@bogon:#git cat-file blob 04bb09bb63fe48e6cab3e1c72a7ef51dda9634b8 > 04bb09b.js

    对比两个文件

    发现改变的地方就是flag,链接起来提交即可

     

     

    TIPS

    如果你使用Git_Extract可以直接提取到两个js文件

    python git_extract.py http://106.75.72.168:9999/.git/

  • 相关阅读:
    解决maven构建webapp index.jsp报错问题
    Maven入门介绍
    Linux常用命令的解释
    linux怎么查看一个文件夹的大小
    EPEL源-是什么全称
    nginx+php-fpm配置后页面显示空白的解决方法(yum形式的安装)
    配置新服务器 的一些 依赖库 php mysql nginx
    服务器 CentOS上yum安装Nginx服务
    Java File创建新目录和文件
    struts2的文件上传
  • 原文地址:https://www.cnblogs.com/R-S-PY/p/12759115.html
Copyright © 2020-2023  润新知