88:SRC挖掘-拿下CNVD证书开源&闭源&售卖系统
思维导图
知识点:通用漏洞:100+ip部署该系统
1、通用漏洞分类:开源系统、闭源系统、售卖系统
- 分类、解释、区别
- 开源系统:可以拿到源码
- 闭源系统:一般拿不到源码
- 售卖系统:可能拿到源码,也可能拿不到
2、如何寻找上述三类系统并进行安全测试
- 开源:各大源码站下载代码审计
- 闭源:Fofa搜索尝试获取源码审计或黑盒测试
- 售卖:套路社工获取源码或购买源码审计或黑盒测试
- 确定无源码的情况下,可利用JS文件寻找测试接口
3、如何挑简单的入手最快速度获取证书
- 目前Java难度最大,py项目较少,挑php,aspx入手
- 其中php代码清晰明了,前期讲过,aspx涉及反编译代码后审计。
知识点:部分web源码获取
1、常见的Web源码泄漏漏洞及其利用
- 参考:https://www.secpulse.com/archives/124398.html
- Web源码泄露的漏洞:
- git源码泄露
- svn源码泄露
- hg源码泄漏
- 网站备份压缩文件
- WEB-INF/web.xml 泄露
- DS_Store 文件泄露
- SWP 文件泄露
- CVS泄露
- Bzr泄露
- GitHub源码泄漏
2、黑白源码站的利用价值、存在意义、区分对待
技术点:各种语言代码审计,无源码除常规安全测试外,js下的测试口等
案例1:某开源逻辑审计配合引擎实现通用
1.尝试逻辑测试
<1>在源码网站下载一个PHP源码,找一个人气比较高的
<2>在挖漏洞之前,确定一下该系统的影响范围。
在fofa上搜索一下关键词(这里选的是后台地址),发现了178条匹配结果,说明影响范围100+,可以挖一下。
换个关键词搜索,搜出来的结果更多
<3>本地安装运行一下
<4>在安装过程中发现一个逻辑漏洞,安装过程中系统并未让用户手动配置后台用户名密码,说明系统的后台用户名密码是默认的,admin/admin123,这样造成的后果是,总有粗心的管理员后续忘记修改后台默认密码。
<5>使用python脚本批量爬一下,网上有多少网站使用了该系统
脚本
结果
<6>再写一个python脚本,使用默认密码,批量登录这些网站的后台,看是否登录成功。登录成功则存在弱口令。
脚本
结果
可以随便取一个结果在浏览器中登录一下试试。
2.尝试漏洞挖掘
<7>再挖个漏洞看看,将源码放到seay系统中,自动审计一下试试
有些漏洞位置在后台目录下,这些漏洞的利用前提是需要后台权限,意义不大,可忽略
<8>代码审计,发现一个SQL注入漏洞
案例2:某闭源审计或黑盒配合引擎实现通用
<1>在源码网站下载一个.net源码,找一个人气比较高的
<2>在源码的bin目录下有很多dll文件,使用dnSpy工具打开这些dll文件即可查看其源码,接下来审计源码即可。
- dnSpy-net-win32.zip下载:https://fletime.lanzoux.com/iDxcCj60qlc
- dnSpy-net-win64.zip下载:https://fletime.lanzoux.com/iP8sCj60scf
- dnSpy-netframework.zip下载:https://fletime.lanzoux.com/i3kGmj5yqwb
案例3:某售卖审计或黑盒配合引擎实现通用
通用步骤:
1.尝试性获取源码
2.类似java或.net编译类文件反编译源码-dnspy,idea
3.无源码情况下的JS接口数据提交测试模拟-jsdinder,手工,扫描
案例演示
<1>搜索一个系统
<2>这个系统无源码,也不知道是个啥系统,怎么测试呢?除了以前学过的常规黑盒测试外,还可以这么测
使用jsfinder工具,扫描js文件,爬取系统中的一些地址,从而获取更多信息,扩大测试范围
- JSFinder下载:https://github.com/Threezh1/JSFinder
还可以御剑配合字典扫描js目录
字典
- fuzzDicts下载:https://github.com/TheKingOfDuck/fuzzDicts
御剑
注意:以上均是思路演示,不可以真的拿真实系统去测,要做一个遵纪守法好公民!