学习目标:
#知识点:
-
CMS指纹识别源码获取方式
-
习惯&配置&特性等获取方
-
3、托管资产平台资源搜索监控
学习内容:
今天主要学习源码泄露的一些事情,源码得到后可以白盒审计去代码审计,如果得不到就黑盒测试,效果不是很好,涉及到一些cms,和一些工具
源码泄露可能是程序员开发者使用的平台保存在上面,是开发者的习惯
常见的源码托管平台有github,公开程序的时候喜欢上传到这里,我们可以到这里获取相关的资源
总结一下源码泄露
1、从源码本身的特性入口
2、从管理员不好的习惯入口
3、从管理员不好的配置入口
4、从管理员不好的意识入口
5、从管理员资源信息搜集入口
源码泄漏集合:
composer.json
git源码泄露
svn源码泄露
hg源码泄漏
网站备份压缩文件
WEB-INF/web.xml 泄露
DS_Store 文件泄露
SWP 文件泄露
CVS泄露
Bzr泄露
GitHub源码泄漏
1.直接获取
比如上面那条的一些违法的软件或者网站,一般不需要上面功能,就可以网上获取,一些正规的需要一些功能就需要相关人员进行开发,就是说可以尝试直接获取,如果得到程序上面类型源码,网上收集资料,上节课用检查的办法查找,但如果找不到就麻烦,这里用到一个平台,cms直接识别源码,如果得到就会很方便
打开发现要钱,我不想玩啦你妹的,有的找不到,比如百度淘宝都是自己开发的,这里告诉自己不要着急,如果登入了看web信息,如果分析到了可以知道是什么源码,可以网上搜索下载,或者搜索他爆出的漏洞进行利用,得到源码可以本地搭建或搜索它的曾经漏洞,这就是识别的意义,如果识别不到,可能网上下载不到或者自己开发,下面继续说
2.程序员习惯不好
这里用同行大佬的一个网站,先扫描网站下面有没有什么备份性文件或者特殊压缩包
程序员搭建的网站习惯备份,如果备份到与网站一样的级别的地方,不会有问题,如果备份到网站下面就会有问题,扫描可以扫到,这是一个不好的习惯,一个网站就像一个文件夹像www.baidu.com,这就是个文件夹,备份到www.baidu.com\woaini.rar 就会扫描到,这是不好的习惯,
3.git泄露
重点:githack使用
程序员为了方便可能同步到github,有的软件写代码的时候会同步到开源平台上,如果没有删除.git目录,可以利用它恢复源代码,也是开发人员为了方便的疏忽,忘记删除,源代码泄露,判断是否有这个文件,直接域名或者ip后面/.git,我这里试了一下发现403,意思是有这个文件夹但是不让访问
可以用github里的githack进行获取
githack是用python2的搞得,刚刚下载了个2,然后使用了一下,在文件夹里就获取到了一些东西
3.svn 源码泄露
同.git一样,会生成一个svn文件,首先判断是否有svn文件,在网站后面跟着/.
svn/entries 重点是使用svnhack进行获取,方法与githack 一样,很方便,很舒服。。。
4.配置不当-DS_Store泄漏
方法同上常见的Web源码泄漏漏洞及其利用 - SecPulse.COM | 安全脉搏
5.PHP特性-composer.json泄漏
很多程序都有这个东西,可以github搜索。使用方法同上类似说明性文件,不知道是不是是php可以后面跟着试一试。
以上的情况都是针对cms搜不到的情况下使用,如果能识别直接下载,没有的话从这些方法得到源码,根据不同类型源码搜索不同类型渠道下载
6.WEB-INF/web.xml 泄露
WEB-INF
是Java的WEB应用的安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则.
WEB-INF/database.properties : 数据库配置文件
WEB-INF/classes/ : 一般用来存放Java类文件(.class)
WEB-INF/lib/ : 用来存放打包好的库(.jar)
WEB-INF/src/ : 用来放源代码(.asp和.php等)
这个方法很鸡肋
5.github泄露
开刀,首先进入网站,去github直接搜关键字,直接搜域名,可以使用github搜索方法的一些姿势,有时候用扫描工具,会把一些邮箱,QQ号扫出来,它要不是管理员设置的要不就是管理员自己的,然后就是开发的时候留下来的,声明是自己写的,可以去github搜索QQ或者邮箱,极其有可能搜到相关的代码。。后期工具项目中会说自动化监控,可能现在没有,不一定以后没有,可以用脚本挂在网站上。如果监控到了可以找到,这种思路是漏洞监控或者长期渗透的,也用在0day的,如果有漏洞立马发到邮箱里,自己就知道了,第一时间找到漏洞,比如log4g前段时间爆出来的,如果有监控可以就立马知道立马提交
主要就是开发人员的安全意识,不好的习惯还有搭建者的问题,没有删除一些文件比如/.git/等等
学习时间:
当前时间2022.15.49到17.53
学习产出:
总结一下吧,这节课跟上节课有连通性,架构中语言可以直接看,搜索引擎,搭建组合,中间件可以看返回数据包,端口扫描,推算,数据库端口扫描,推算,操作系统可以看ttl值和大小写测试
源码分类 开源,自主研发,售卖,获取方式直接购买对应开源和售卖,自主研发就使用今天学到的方法,什么/.git/之类的,寻找可乘之机的
找资源的思路,通过black源码,比如约会的棋牌的等等,不难,主要是思路和利用工具