loader image

源码泄露

前言

为什么我们要去获取源码呢?如果我们能获取源码就能进行代码审计,也就可以进行所谓的白盒测试,相对于黑盒来说,白盒测试效果会更好一些,毕竟源代码就放在你的眼前,你能够更加的清晰明了,而黑盒测试更像是猜测再去验证,并且过程中还会有各种各样的阻碍。

源码泄露原因

源码泄露才给我们获取源码产生了可能性,而源码泄露有以下几点原因:

  1. 源码本身的特性
  2. 管理员不好的习惯
  3. 管理员不好的配置
  4. 管理员不好的意识
  5. 管理员资源信息搜集

源码种类

源码我们可以大体分为三类:

  1. CMS开源
  2. 闭源售卖
  3. 自主研发

CMS开源

首先CMS开源,也就是指一些网上开源免费的程序代码,所有人都能很轻易的获取,只需要去其官网下载源码即可,所以当我们能够得知一个网站使用的CMS时,直接去官网下载即可。

倘若我们知道目标网站使用的是zblog该cms搭建,我们就可以搜索zblog,直接进行源码下载

image-20240324113855596

由于是开源所以很轻松就能够搜索到并且下载

image-20240324113933989

zblog官方网址:https://www.zblogcn.com/

获取方法

方法一:直接看网站

我们如果搭建过网站,或者是细心的小伙伴应该发现,网站的底部一般都会有一些文字,里面有版权信息、备案信息以及会有cms的信息。如果管理员没有对其进行修改的话,你使用cms搭建博客默认底部会有cms的信息。

我们随便打开一个网站,拉到底部

image-20240324113219165

我们可以看到了zblog,由此我们可以确定该目标是使用zblog cms搭建的。

方法二:云悉cms指纹识别平台

云悉官方网址:https://pic.hibugs.net/articlePic/image-20240324141209368.png

image-20240324141209368

云悉的账号不是直接能注册的需要邀请码。

闭源售卖(获取方式)

闭源售卖其实跟cms的道理大同小异,只不过该类源码不是开源免费的。作者写完代码通过售卖的方式赚取利益。所以这一类代码的获取可能会需要投入资金。

白色产业在我们的网站上可以直接搜索,就可以找到正规的源码售卖市场。

一般在售卖的源码中作者会写明版权的信息,如果目标网站在部署的时候直接将买来的源码拿来部署,没有动的话,我们在浏览器访问网站的时候,那些脚本文件中可能会找到关于版权的信息。

在浏览器中打开网络,点击一个脚本文件,点击响应

image-20240326161327999

一般来说在代码的顶部会有版权信息,这些版权信息就可以知道源代码的作者或者是团队。有些国内的团队可能会写上邮箱,那么你就找到了售卖代码的团队信息,也就有机会购得这套源码了。

面对一些黑色产业,我们就需要另辟蹊径,我们得通过一些手段去找到一些交易市场。

比如我们可以用bing去搜索

image-20240324141302725

或是我们可以用fofa搜索

image-20240324142053394

我们随便点击一个

image-20240324142156726

就能发现这些黑产的源码售卖

自主研发

自主研发的代码,字面意思就可以知道,这些是由目标自行开发的源码。比如淘宝,百度,他们都是由公司的开发团队自行开发的。

代码泄露获取方式

cms识别不到的情况

git源码泄露

开发者为了方便有时会在开发的时候会将自己的代码同步到github或是gitee上,这样即使在开发代码的时候忘记保存或者是电脑突然断电,代码也不会消失,会在云端同步。但是有些开发者在开发完之后会忘记将项目中的.git删除,这也就造成了所谓的源码泄露

如何判断.git文件存在

网站的域名/.git,访问看看,看看返回码或者是返回的页面是什么样子,只要不是404,就说明又存在的可能。

使用GitHack下载源码

GitHack工具的安装请参考:GitHack下载&安装 – HIBUGS 🙂

关于这款工具如何下载安装和简单的使用都在上面这篇文章中详细的介绍了,这里就不再赘述。

SVN源码泄露

SVN与上面的git其实原理是一致的,这里简单的说一下如何判断。

网站的域名/.svn/entries 访问看看,看看返回码或是返回的页面是什么样子。

同样SVN也可以使用工具来下载源码——SvnHack

Github地址:https://github.com/callmefeifei/SvnHack

PHP特性(composer.json泄露)

composer.json文件是php的一个配置文件,里面包括了许多的配置信息。包括了项目名称、版权信息、声明信息...

image-20240326230212610

在里面我们能获取到很多的信息。

查看方法

网站域名/composer.json

举例:www.hibugs.net/composer.json

社工

信息收集中社工也是一个很好的手段,我们可以通过一些团队的信息,在github上去搜索他相关发布的项目,在网站中也会留下一些团队的联系方式类似于QQ、微信或者是邮箱等,这些都是我们可以获取到的信息。这些就相当于我们从人的角度入手,找到作者的信息,然后去查看作者开发过并且发布过的项目,看看能不能找到相应的一些源码。

希望本篇文章能够帮助到你 🙂

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Scroll to Top