第六届全国 *** 安全大赛代码审计全解

访客6年前黑客工具769

 XDCTF是一项面向全国在校大学生的信息安全类竞赛,由西电信息安全协会与 *** 攻防实训基地联合举行。旨在增强学生对 *** 常识的爱好,进步学生学习 *** 技术的积极性,培育学生的立异 认识、协作精力和理论联系实际的才能。

此次CTF WEB2是一个大题,总共4个flag,别离代表:获取源码、拿下前台办理、拿下后台、getshell。

方针站:http://xdsec-cms-12023458.xdctf.win/

依据提示:

0×01 获取源码

“时雨的十一

时雨是某校一名学生,素日宠爱php开发。 十一七天,全国人民都在水火之中地预备朋友圈杯旅行拍摄大赛,而苦逼的时雨却只能在宿舍给某凶恶安排开发CMS——XDSEC-CMS。

喜爱开源的时雨将XDSEC-CMS源码运用git更新起来,预备等开发完成后push到github上。

成果被领导发现了,喝令他rm一切源码。在领导的 *** 下,时雨也只好删除了一切源码。

但聪明的小朋友们,你能找届时雨君的源码并发现其间的缝隙么?”

可得知获取源码的 *** 和git有关。

扫描9418端口发现没开,非Git协议。拜访http://xdsec-cms-12023458.xdctf.win/.git/ 发现403,目录或许存在,存在git走漏源码缝隙。

用lijiejie的GitHack东西获取源码:http://www.lijiejie.com/githack-a-git-disclosure-exploit/

并不能获取悉数源码,只获取到一个README.md和.gitignore。

读取README.md可见提示:“All source files are in git tag 1.0”。

能够反推出其时“时雨”的操作是:

git init
git add .
git commit
git tag 1.0
git rm –rf *
echo “All source files are in git tag 1.0” > README.md
git add .
git commit

真实的源码在tag == 1.0的commit中。那么怎样从走漏的.git目录反提取出1.0的源码?

这道题有“原理法”和“东西法”。当然先从原理讲起。

首要依据git目录结构,下载文件http://xdsec-cms-12023458.xdctf.win/.git/refs/tags/1.0 。这个文件其实是commit的一个“链接”。

这是个文本文件,便是一个sha1的commit id:

然后简略说一下git object。

Git object是保存git内容的目标,保存在.git目录下的objects目录中。Id(sha1编码过)的前2个字母是目录名,后38个字母是文件名。

所以d16ecb17678b0297516962e2232080200ce7f2b3这个id所代表的目录便是http://xdsec-cms-12023458.xdctf.win/.git/objects/d1/6ecb17678b0297516962e2232080200ce7f2b3

恳求(一切git目标都是zlib紧缩过,所以我使用管道传入py脚本中做简略解紧缩):

可见这也是个文本文件,指向了一个新id : 456ec92fa30e600fb256cc535a79e0c9206aec33,和一些信息。

我再恳求这个 id:

可见,得到一个二进制文件。

阅览下文可先简略了解一下git目标文件结构:http://gitbook.liuhui998.com/1_2.html

到这一步,咱们接下来会接触到的目标就只有“Tree 目标”和“Blob目标”。

这个图能够表明目标间的联系:

实际上我之一次获取的d16ecb17678b0297516962e2232080200ce7f2b3便是commit目标(绿色),方才获取的456ec92fa30e600fb256cc535a79e0c9206aec33是tree目标(蓝色),真实保存文件内容的是blob目标(赤色)。

那么这个tree目标详细的文件结构是:

[1] [2] [3] [4] [5] [6]  黑客接单网

相关文章

色情广告挂马剖析:记一次挂马与挖矿之间的“密切触摸”

1. 布景: 近来,腾讯安全反病毒实验室发现,有一类木马经过网页广告挂马的方法大规划传达。广告内容为色情链接,诱导用户点击。链接中嵌入了一段触发IE缝隙的JS脚本,假如用户电脑的IE浏览器没有及时打好...

装置nginx+ngx_lua支撑WAF防护功用

  nginx lua模块淘宝开发的nginx第三方模块,它能将lua言语嵌入到nginx装备中,然后运用lua就极大增强了nginx的才能.nginx以高并发而闻名,lua脚本简便,两者的调配可谓完...

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS 简称织梦CMS,当时最新版为 5.7 sp2,最近又去挖了挖这个CMS,发现过滤XSS的RemoveXSS函数存在缺点导致能够被绕过。 相关环境 源码信息:DedeCMS-V5.7-U...

看我怎么编写一个验证码辨认程序

在此之前我收到了一些读者对我的反应,他们期望我能够在文中解说相关解析器的开发流程。为了满意我们的需求,我决议和你们共享一个我非常重要的项目的完好施行进程。话不多说,让我们现在就开端! 当我开发这些脚本...

针对非Webapp测验的Burp技巧(二):扫描、重放

在本系列连载的第一节中,笔者谈到了关于burp对非webapp的功用测验。原本我只想写点东西共享出来,并没想到会扯出那么多。现在嘛,我还会持续写下去。 在这一节中,我会讲一讲: Target >...

使用osquery进行远程取证-黑客接单平台

Osquery是一个SQL驱动操作体系检测和剖析东西,它由Facebook创立,支撑像SQL句子相同查询体系的各项目标,能够用于OSX和Linux操作体系。别的,osquery是一个多渠道软件,能够安...