前言
欢迎来到我的博客
个人主页:北岭敲键盘的荒漠猫-CSDN博客
专栏描述:因为第一遍过信息收集的时候,没怎么把收集做回事
导致后来在实战中,遭遇资产获取少,可渗透点少的痛苦,如今决定
从头来过,全面全方位的对信息收集进行一次完整的整理。
本文着重于整理,在渗透之前的获取网站源码的方法。
(类似于任意文件下载漏洞的方法不属于本文内容)
适合有点基础的人看,因为我没有讲一些概念。
源码打点重要性
这里的源码并不包含他们自己从0到有编写的源码,而是那种搭建网站的需要,从网上找的源码。
针对的是从网上使用别人现成的源码进行建站操作的网站。
很明显,如果我们只是黑盒测试的话,很多比如测试个sql注入,测试个xss都是需要无头苍蝇乱撞一通来挖洞的。但是如果渗透前期获取了对方的源码,那么我们就可以直接看他这部分源码,从源码的写法看他过滤,针对性构造payload。成功的几率要大的多。
而且,获取源码也能够让我们拥有代码审计的条件。
源码分类
先对源码进行一个小小的规划。
1.开源cms
2.托管网站(开源或收费)
开源cms源码获取
方法:这种最为简单,我们可以利用那些指纹识别网站,直接识别出这个网站使用的cms,然后直接从网上下载就行。
识别方法:
1.专门的指纹识别网站,进行指纹识别
2.用空间引擎进行搜索,有概率直接搜出来,即使搜不出来,也可能会搜出来cms的安装向导,所以也是间接的搜索到它使用的cms。
3.手动,直接看他图标或者是网页底部。但是不排除搭建者会改源码。
获取方法:
cms可以直接搜索找官网下载即可。
闭源代码获取
网站备份文件获取
描述:
1.例如宝塔这类搭建部署中间件,我们是可以直接传我们网站的源码上去的。但是有的人可能传上去后没有删除原先的压缩包,这就导致我们可以找到这个压缩包获得源码。
2.有的程序员就喜欢把备份文件跟网站放到一起,这样确实一崩盘马上就拖出来新的。(至少我有这毛病)
获取方法:
可以用目录爆破的方法,指定爆破压缩包的后缀名,来猜解文件,能访问到就是有,能直接下下来。
常见后缀:
rar,zip,7z,tar,gz,bak,txt
环境文件获取
我们写代码的时候经常会在项目中出现一些文件。
pycharm如下:
vscode如下:
编辑器会生成这些配置文件来储存配置的信息。
但是!我们如果把他们上传到服务器的话,我们是可以访问到他们的。
下面案例:
php网站,vscode环境编写,直接访问vscode配置文件。
结构目录如下:
php代码在exper中,.vscode是配置文件。
现在我们换个思路直接访问配置文件
composer.json泄露
这个是开发使用的内容,如果开发者开发完成后没有删除,也可能造成泄露。
里面可能有版权文件介绍,所以就会出现搭建的源码名称或者位置。
(仅针对php网站有效)
.git源码泄露
git环境文件就是这个类似的原理。(他是分布式控制系统)
这个文件记录着程序员对源码的操作。利用它可以反推源码。
GitHub - lijiejie/GitHack: A `.git` folder disclosure exploit
使用方法:
先访问.git文件来判断一下有没有这个文件,如果有的话使用工具。
使用githack工具
对着git地址直接泼水就行了。
GitHack.py http://www.openssl.org/.git/
SVN 源码泄露
.svn配置文件中也会泄露源码
得用python2的环境
GitHub - callmefeifei/SvnHack: 一个Svn信息泄露辅助工具,可以使用这个脚本列取网站目录,读取源码文件以及下载整站代码。
目录爆破的时候把他们放到字典里跑,有就用就行。
未知程序托管平台搜索
描述:本部分针对的是那种中小,黑产这类,不可能会自己写网站,但是他们用的也不是出名的cms,他们用的可能是github,或者是购买的源码。
查找技巧:
1.访问一下网站,查看我们访问了哪些文件,然后在github这类网站上搜,项目里面带有这个文件的话可能就会出来了。(当然,你得看这个文件比较特殊,别人写代码命名可能会少的文件搜)
2.查找敏感信息,比如有些作者可能会放上个人信息,而我们也可以搜索这个邮箱什么的,来找到作者。进而找到源码。
3.敏感词,某词出现频率多,那我们就可以用github语法依次降幂找出现多的源码。
小结
如果我的内容对你有帮助,给我个赞嘛。