实验:源代码泄露
目录
实验:源代码泄露 1
一、 实验目的 2
二、 实验步骤及结果 2
实验一:.git源代码泄露 2
1, 访问.git确认其是否存在 2
2, 使用GitHack工具下载.git目录内容 3
实验二:.svn源代码泄露 4
1, 确认.svn是否存在 4
2, 下载目标主机内的网站站点文件 5
三、 实验小结 7
实验目的
了解并实践如何利用.git和.svn源代码泄露进行信息收集。
实验步骤及结果
实验一:.git源代码泄露
访问.git确认其是否存在
登录攻击主机,打开搜索栏,打开火狐浏览器。
在地址栏中输入192.168.100.202/.git,访问.git确认其是否存在
结果
图 45 打开搜索栏
图 46 打开火狐
图 47 访问.git
说明:通常情况下,如果直接访问这个URL返回了文件列表或任何内容,则表明该网站的.git目录是可公开访问的,这是不安全的,存在.git源代码泄露漏洞。
使用GitHack工具下载.git目录内容
关闭火狐浏览器,打开终端。
使用GitHack工具进行.git源码下载。执行命令cd/GitHack-master(可以输入/G后按Tab键补全),切换至GitHack-master目录。
再执行命令python GitHack.py http://192.168.100.202/.git,下载.git源代码。
执行命令ls192.168.100.202,验证源代码下载结果。
结果
图 48 下载.git源代码
图 49 验证源代码下载结果
说明:成功下载.git源代码。
实验二:.svn源代码泄露
确认.svn是否存在
登录攻击主机,打开火狐浏览器,并且在在地址栏中输入192.168.100.202/.svn,确认.svn是否存在。
结果
图 50 确认.svn是否存在
说明:正常情况下,如果直接访问这个URL返回了文件列表或任何内容,则说明该网站的.svn目录是可公开访问的,这是不安全的配置。
下载目标主机内的网站站点文件
关闭火狐浏览器,打开终端在终端中执行命令cd /svnExploit-master(可以输入svn后按Tab键补全)。
执行命令python SvnExploit.py -u http://192.168.100.202/.svn --dump
执行命令cd dbs,切换至dbs目录。执行命令ls,查该目录中的所有文件。
执行命令ls 192.168.100.202,查看是否成功下载目标主机内的网站站点文件。
结果
图 51 切换目录
图 52 运行SvnExploit工具
图 53 检查下载结果
说明:成功下载目标主机内的网站站点文件。
实验小结
实验一检测并利用公开的.git目录来获取源代码,是一个典型的Web安全测试场景,用来检查服务器是否正确配置以避免泄露其Git仓库信息。
实验二检测并利用公开的.svn目录来获取源代码。与实验五类似,但实验六针对的是Subversion (SVN) 版本控制系统。
通过本次实验,我不仅掌握了源代码泄露漏洞的检测与利用方法,还认识到服务器配置的重要性:任何版本控制目录(如.git、.svn)都应严格限制访问权限,避免因疏忽导致源码泄露。