基本介绍
如果开发人员在线上环境中对源代码进行了备份操作并且将备份文件放在了WEB目录下,就会引起网站源码泄露,备份文件中可能包含敏感信息,比如:用户数据、登录凭证、配置文件等,如果备份文件被泄露,那么攻击者可以利用其中的敏感信息进行恶意攻击,破坏网站的安全性和可靠性
漏洞危害
敏感信息:网站源代码中可能包含硬编码的账号、密码、网站真实IP地址、路由等敏感信息
代码审计:网站源代码可以作为代码审计的材料,通过对网站源代码进行审计查找相关的脆弱点进行0day漏洞利用
利用工具
项目地址
https://github.com/VMsec/ihoneyBakFileScan_Modify
项目核心
常见后缀清单列表:
['.zip','.rar','.tar.gz','.tgz','.tar.bz2','.tar','.jar','.war','.7z','.bak','.sql','.gz','.sql.gz','.tar.tgz','.backup']
根据域名自动生成相关扫描字典
python3 ihoneyBakFileScan_Modify.py -u https://baidu.com -t 1000 -o test.txt
['baidu.com', 'baiducom', 'baidu_com', 'com', 'com', 'com', 'baidu', 'com']python3 ihoneyBakFileScan_Modify.py -u https://www.baidu.com -t 1000 -o test.txt
['www.baidu.com', 'wwwbaiducom', 'www_baidu_com', 'baiducom', 'baidu.com', 'baidu_com', 'www', 'baidu']python3 ihoneyBakFileScan_Modify.py -u https://aaa.www.baidu.com -t 1000 -o test.txt
['aaa.www.baidu.com', 'aaawwwbaiducom', 'aaa_www_baidu_com', 'wwwbaiducom', 'www.baidu.com', 'www_baidu_com', 'aaa', 'www']python3 ihoneyBakFileScan_Modify.py -u https://aaa.bbb.www.baidu.com -t 1000 -o test.txt
['aaa.bbb.www.baidu.com', 'aaabbbwwwbaiducom', 'aaa_bbb_www_baidu_com', 'bbbwwwbaiducom', 'bbb.www.baidu.com', 'bbb_www_baidu_com', 'aaa', 'bbb']
常见备份文件名(可自行切换)
#77
tmp_info_dic = ['1','127.0.0.1','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019','2020','2021','2022','2023','2024','2025','__zep__/js','admin','archive','asp','aspx','auth','back','backup','backups','bak','bbs','bin','clients','code','com','customers','dat','data','database','db','dump','engine','error_log','faisunzip','files','forum','home','html','index','joomla','js','jsp','local','localhost','master','media','members','my','mysql','new','old','orders','php','sales','site','sql','store','tar','test','user','users','vb','web','website','wordpress','wp','www','wwwroot','root']#130
#tmp_info_dic = ['__zep__/js','0','00','000','012','1','111','123','127.0.0.1','2','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019','2020','2021','2022','2023','2024','2025','234','3','333','4','444','5','555','6','666','7','777','8','888','9','999','a','about','admin','app','application','archive','asp','aspx','auth','b','back','backup','backups','bak','bbs','beifen','bin','cache','clients','code','com','config','core','customers','dat','data','database','db','download','dump','engine','error_log','extend','files','forum','ftp','home','html','img','include','index','install','joomla','js','jsp','local','login','localhost','master','media','members','my','mysql','new','old','orders','output','package','php','public','root','runtime','sales','server','shujuku','site','sjk','sql','store','tar','template','test','upload','user','users','vb','vendor','wangzhan','web','website','wordpress','wp','www','wwwroot','wz','数据库','数据库备份','网站','网站备份']
项目使用
参数:
-h --help 查看工具使用帮助
-f --url-file 批量时指定存放url的文件,每行url需要指定http://或者https://,否则默认使用http://
-t --thread 指定线程数,建议100
-u --url 单个url扫描时指定url
-d --dict-file 自定义扫描字典
-o --output-file 结果写入的文件名
-p --proxy 代理服务,例:socks5://127.0.0.1:1080
使用:
批量url扫描 python3 ihoneyBakFileScan_Modify.py -t 100 -f url.txt -o result.txt
单个url扫描 python3 ihoneyBakFileScan_Modify.py -u https://www.baidu.com/ -o result.txt
python3 ihoneyBakFileScan_Modify.py -u www.baidu.com -o result.txt
漏洞案例
下面以CTFHUB中的一道CTF题目为例进行演示,在演示过程中我们可以借助GIthub上的备份文件扫描项目来实现全量的备份文件扫描检测
Step 1:访问题目地址可以看到很明显的备份文件下载提示
Step 2:使用工具进行备份文件扫描检测
#项目地址
https://github.com/VMsec/ihoneyBakFileScan_Modify
#使用方法
python3 BakFileScan.py -u http://challenge-565953e9a1f06b6f.sandbox.ctfhub.com:10800/
Step 3:提取扫描到的有效关键URL获取源代码信息
修复建议
禁止将网站源码备份文件放置在WEB目录下
禁止使用类似www、wwwroot等容易猜解的文件名称作为备份文件压缩包名