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

访客5年前黑客工具702

 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]  黑客接单网

相关文章

RIG exploit kit:歹意活动剖析陈述

尽管攻击方式不算复杂,但是RIG仍然能通过一些恶意软件活动获得较大的流量。而那些利用被黑站点和恶意广告,重定向到RIG的流量,是通过服务端的302跳转机制,或者是通过客户端的iframe和JS脚本...

一名代码审计新手的实战阅历与感悟

blueCMS介绍 个人认为,作为一个要入门代码审计的人,审计流程应该从简略到困难,逐渐提高。因而我主张咱们的审计流程为——DVWA——blueCMS——其他小众CMS——结构。一起做总结,搞清楚缝隙...

操控流程完整性:给我们介绍一种“特殊”的Javascript反剖析技能

写在前面的话 了解歹意软件的实在代码对歹意软件剖析人员来说对错常有优势的,由于这样才干够实在了解歹意软件所要做的工作。但不幸的是,咱们并不总是能够得到“实在”的代码,有时歹意软件剖析人员或许需求相似...

代码审计之Fiyo CMS事例共享

Fiyo CMS是小型的商务电话服务及移动协作东西,由一名前职业学校学生初次开发和创立的,后者其时在RPL的SMK 10三宝垄学习。 那时他的姓名不是Fiyo CMS,而是Sirion,它是Site...

Pastebin Hacking新姿态:运用jQuery替换进行歹意软件传达

跟着各种网络技能不断发展,黑客关于网站进犯也总是不断改换战略以及通过相互之间的交流来改善进犯技能。而事实上就现在网站安全方面,面对的应战首要也正是来自于进犯技能不断的演进,使得防护也需不断晋级。在之...

PDO 避免SQL注入的原理

 当说到防止SQL注入的办法时,脑海中总是会想到运用PDO绑定参数的办法或许运用mysql_real_eascape_string()来处理(尽管陈旧的 mysql_XXX 这类的函数现已不主张运用)...