目录
1.源码泄露
1-1.页面源代码泄露
1-2.敏感文件泄露
1-2-1.备份(.swp/.bak/.beifen/~/phps等)
1-2-2.数据库(mdb)
1-2-3.压缩包(zip/tar.gz/rar/7z等)
1-2-4.路径(.git/.svn/.hg/.DS_Store/WEBINF/web.xml/cvs/Bazaar/bzr)
2.robots.txt泄露
3.404页面泄露
4.协议头泄露
5.其他注意事项
目录遍历,利用Crtl+F检索敏感关键词flag。
在扫描找到形如index.php的入口页面时候,可以尝试一同访问它的备份文件(如/.index.php.swp、/.index.php.bak、/index.php~、/index.phps等),查看源代码并检索敏感关键词flag。
注1:备份文件
默认情况下使用Vim编程,在修改文件后系统会自动生成一个带~的备份文件。
注2:异常退出
在使用vim编辑器编写index.php文件时,会有一个.index.php.swp文件,如果文件正常退出,则该文件被删除;如果异常退出,该文件则会保存下来,该文件可以用来恢复异常退出的index.php。同时多次意外退出并不会覆盖旧的.swp文件,而是会生成一个新的,例如.swo文件。以index.php为例,第一次产生的缓存文件名为.index.php.swp;第二次意外退出后,文件名为.index.php.swo;第三次产生的缓存文件则为.index.php.swn。注意:index前有“.”。
注3:phps文件是php的源代码文件,通常用于提供给用户(访问者)直接通过Web浏览器查看php代码的内容。
早期asp+access架构的数据库文件为db.mdb,直接查看url路径添加/db/db.mdb下载文件,用记事本打开搜索flag即可。
利用dirsearch扫描到网站存在www.zip并下载下来后,发现压缩包内有flag.txt但是并没有实际的内容,此时可以尝试将该文件名输入网址后进行访问。
先用dirsearch爆破网址目录,观察漏洞特征。
例1:dirsearch -u http:/ip:port/.xx/
然后根据漏洞情况选择合适的应对工具。
例2:python3 GitHack.py http:/ip:port/.xx/
例3:perl rip-xxx.pl -v -u http:/ip:port/.xx/
例4:python3 ds_store_exp.py http://ip:port/.DS_Store
注1:git泄露漏洞
git泄露漏洞_TItaniumx的博客-CSDN博客_.git文件泄露漏洞
git作为一个版本控制工具,会记录每次提交commit的修改,所以当题目存在git泄露的时候,flag文件可能在修改中被删除或被覆盖了。这个时候我们可以利用git的“git reset”命令来恢复到以前的版本。或者使用更简单的方法,使用“git log --stat”命令查看每次提交修改了哪些文件,再用“git diff HEAD commit-id”比较当前版本与想查看版本之间的变化。
在每次提交的时候,git都会自动把它们串成一条时间线,这条时间线就是一个分支。而git允许使用多个分支,从而让用户可以把工作从开发主线上分离出来,以免影响开发主线。如果没有新建分支,那么只有一条时间线,即只有一个分支,git中默认为master分支。因此,我们要找的flag或敏感文件可能不会藏在当前分支中,这时使用“git log”命令只能找到当前分支上的修改,因此需要切换分支去找我们想要的文件。
如果只要访问.git,便会返回403,此时试探着访问.git/config,如果有文件内容返回,就说明存在git泄露,反之,一般不存在。而在SVN泄露中,一般是在entries中爬取源代码,但有时会出现entries为空的情况,这时注意wc.db文件是否存在,便可通过其中的checksum在pristine文件夹中获取源代码。
注2:.svn泄露漏洞
下载.svn后可直接翻看目录,但是如果服务端删除了flag文件的话,那么可尝试从历史记录里寻找。路径是http:/ip:port/.hg/store/data/flag__61.txt.i,注意下划线是两个。
注3:CTF中常见Web源码泄露总结
CTF中常见Web源码泄露总结 - 珍惜少年时 - 博客园
CTF中的信息泄露_meteox的博客-CSDN博客_ctf 信息泄露
CTF-WEB-信息泄露题目总结 - 走看看
CTF信息搜集/泄露_Skn1fe的博客-CSDN博客_信息泄露ctf
注4:Git常用命令(一)
例1:git stash pop
从git栈中获取到最近一次stash进去的内容,恢复工作区的内容。获取之后,会删除栈中对应的stash。由于可能会stash多次,git使用栈管理,我们可以使用git stash list查看所有的stash。
例2:git stash list
显示git栈中的所有工作区内容的备份,比如使用git stash apply stash@{1},就可以把版本号为stash@{1}的备份取出,不会删除对应的stash 0为最新版本。
例3:除了查看源代码的常见利用方式,泄露的git中也可能有其他有用的信息,如.git/config文件夹中可能含有access_token信息,从而可以访问这个用户的其他仓库。
告诉爬虫哪些页面不可以爬取。在做题过程中除了要注意robots.txt泄露之外,还需要注意形如config之类奇怪名字的文件,多点进去查看源代码并检索flag。
泄露阿帕奇版本或服务器版本。
对于协议头的泄露(response/request),可以利用Burpsuite抓包查看其请求和响应。
使用 netdiscover -r 192.168.253.1/24 探测靶场IP
使用 nmap -sV ip 挖掘开放服务信息
使用 nikto -host ip 探测靶场信息
使用 dirb http://ip:port/ 探测隐藏页面
注1:如若信息泄露未获得有效收获,则进行代码审计,查看是否存在SQL注入、文件上传漏洞、文件包含漏洞等其他类型的web攻击方法。
注2:X-Forwarded-For是一个HTTP扩展头部,主要是为了让Web服务器获取访问用户的真实IPs地址,但是这个IP却未必是真实的。在http请求中,如果要求本地用户访问或者是需要修改Cookie内容,需要使用X-Forwarded-For:127.0.0.1欺骗浏览器。
注3:合适的练习平台(CTFHub)
CTFHub
CTFHub—Web—信息泄露(√)
另附几个靶场渗透待后研究
CTF-SMB信息泄露【简单易懂】_不知名白帽的博客-CSDN博客_ctf查询账户名
课程介绍_CTF夺旗训练视频课程(体验一回拿到root权限的刺激)_CTF视频-51CTO学堂
Vulnhub实战靶场covfefe练习 - bonga - 博客园
靶场渗透(一)_蜜罐小明哥的博客-CSDN博客_靶场渗透