第一关思路就是可以查找源码,或者F12里面找是否存在flag,这里通过右击查看源码就看到flag值了。
这里我们在尝试右击后发现无法查看源码,并且在启动靶机的页面中有提示,js前台拦截等于无效操作,那么这里大概的思考就是尝试禁用js,看看能不能查看源码。
通过测试后发现禁用js后能够查看源码,并且在源码找到了Flag值。
这里,根据提示是需要抓包的,但是按照流程,查看一下源码、F12均未发现存在Flag值,这里在通过抓包后重发,发现了Flag值。
通过抓包后,发现存在Flag值。
这里还是一样源码、F12、抓包均没有,通过提示得知Flag可能被写在robots中。
robots是搜索引擎爬虫协议,也就是你网站和爬虫的协议。
简单的理解:robots是告诉搜索引擎,你可以爬取收录我的什么页面,你不可以爬取和收录我的那些页面。robots很好的控制网站那些页面可以被爬取,那些页面不可以被爬取。
主流的搜索引擎都会遵守robots协议。并且robots协议是爬虫爬取网站第一个需要爬取的文件。爬虫爬取robots文件后,会读取上面的协议,并准守协议爬取网站,收录网站。
robots文件是一个纯文本文件,也就是常见的.txt文件。在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容。因此,robots的优化会直接影响到搜索引擎对网站的收录情况。
robots文件必须要存放在网站的根目录下。也就是 域名/robots.txt 是可以访问文件的。你们也可以尝试访问别人网站的robots文件。 输入域名/robots.txt 即可访问。
通过访问robots文件获得flagishere.txt文件,然后再访问flagishere.txt文件即可获取Flag值。
URL:域名或IP/robots.txt
这里访问后成功获取到了Flag值。
这里前期的测试都不测了,后面过关也将通过提示直接进行过关,这里给我们的提示是phps源码泄露。
phps文件就是php的源代码文件,通常用于提供给用户(访问者)直接通过Web浏览器查看php代码的内容。
因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。
可以看到这里我们访问index.phps文件后,直接进行下载,这里就是将网站的源码下载下来,这里我们保存后,查看一下phps文件中是否有我们在寻找的Flag值。
可以看到这里我们成功获取到Flag值。
这里通过页面中的提示"解压源码到当前目录,收工",那么就可能存在源码未被删除的情况,那么这里就可以尝试去下载源码,当然这里我们是不知道这个源码的名字的,那么就需要去测试,但是后缀我们大概能猜想到。
这里常见的压缩包后缀,这里就列举几个常见的,比如:.rar .zip .7z .tar.gz .bak .swp .txt
这里我也不卖关子,其实我也不知道,我就上网搜了一下,结果是最简单的www,这…
至于后缀,一个一个测试,常见的也就那些压缩包后缀。
发现里面有一个Flag值,但是这个值是不对的,于毕竟是源码,在解压后可能会把Flang值修改,但是得到源码后,通过开始的标题知道,在解压后可能没做其它的操作,比如重命名等,这里我们就可以尝试在网站中去读这个文件,看看网站中的文件是否存在Flag值。
这里我们读取后,也是成功获取到Flag值。
这里通过提示,获得可能存在版本控制信息泄露,那么我们就可以利用这个版本泄露来读取一些内容,看看有没有我们需要的Flag值。
SVN(subversion)是源代码版本管理软件,造成SVN源代码漏洞的主要原因是管理员操作不规范。“在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。”(可以利用.svn/entries文件,获取到服务器源码、svn服务器账号密码等信息)
Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。
CVS是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。与它相类似的代码版本控制软件有subversion。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。但是由于之前CVS编码的问题,大多数软件开发公司都使用SVN替代了CVS。主要是针对 CVS/Root以及CVS/Entries目录,直接就可以看到泄露的信息。
这里我们再获取版本泄露的原理后,我们尝试再URL后面添加.git、.svn等来读取。
这里经过测试发现,在.git下面存在我们需要的Flag值。
这个就不说了,把第七关的.git替换成.svn即可获取Flag值。
根据提示在生产环境下操作,然后死机了,这里有个重要的注意事项,那就是死机了!!!同时获取到的还有使用vim命令,那么使用vim命令就只有Linux系统了。
临时文件是在vim编辑文本时就会创建的文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容。所以通过在url后面加上/index.php.swp即可看到flag。
以index.php来说,第一次退出后,缓存文件名为 index.php.swp,第二次退出后,缓存文件名为index.php.swo,第三次退出后文件名为index.php.swn。
这里不知道为什么输入后会链接重置,替换了好多个浏览器都是这样,并且去查看了一下官方视频也是这样,没搞懂,但是方法就是这样。
通过页面提示cookie不能存放隐私数据,那么我们想要的Flag值可能就存在cookie中,这里我们使用抓包或者F12都可以,这里我使用F12查看吧,看看cookie中是否真的存在Flag值。
可以看到,cookie中真的存在Flag值,这里可能需要进行URL解码一下,这里我就不解码了。
通过提示,显示域名隐藏信息,那么这里就可以考虑对这个域名进行解析,这里可以随便找个域名解析都可以。
域名解析地址
通过提示网站公开信息,可能就是管理员常用密码,那么这里就可以在页面中寻找一些可疑的信息。
这里寻找一段时间后,发现并没有什么其它数字,只有一个电话,不知道会不会是密码。
这里在网站URL后面添加admin,尝试登录,这里登录后也是成功获取到Flag值。
通过页面提示,显示技术文档不要出现敏感信息,部署到实际环境需要修改密码,那么这里猜想就是技术文档里面有登录密码,同时运维人员在部署后,并未修改密码。
在最下面找到一个文件的字样,这里我们可以尝试下载。
通过文档我们成功获取后台管理地址,同时还获取到账号密码。
这里成功获取Flag值。
通过给予的信息查找,有时候源码里面就能不经意间泄露重要(editor)的信息,默认配置害死人,那么我们这里就访问一下editor信息。
访问后发现是一个提交内容的地方,那么正常这里就可能存在文件上传漏洞,那么这里我们就查看一下文件上传。
这里我们找到图片上传位置,然后有个图片空间,结果发现可以查看系统中的目录,那么我们就在这个里面寻找一下信息吧。
这里在/var/www/html/nothinghere/fl000g.txt寻找到文件,那么我们就尝试读取一下文件。
通过读取/nothinghere/fl000g.txt,成功获取Flag值。
通过提示Flag信息可能存在邮箱中,那么我们就可以通过寻找页面中的邮箱信息来进行获取。
在页面中获取到邮箱信息,我们可以去登录一下后台看看相关的方式,是否能够登录。
登录后台后这里试验了一些常用的默认密码均不能登录,那么看看点击忘记密码会怎么样。
这里发现,需要填写密保,而密保是你所在那个城市,这里我们刚刚获取到的邮箱是qq邮箱,qq通常会显示所在地,那么这里就可以查看,qq的所在地,然后测试是否正确。
这里在获取后,输入陕西不对,又输入了西安对了,成功重置了密码。
重置后的密码是admin7789
这里我原来以为使用qq邮箱登录,尝试后发现,并不能,后来使用admin成功登录。
根据提示探针可能存在信息泄露,那么这里可以直接使用tz.php来进行测试,据说小皮2016就会存在探针。
这里我们访问探针后,存在显示php信息的,那么我们去访问一下php信息,看看里面是否存在我们想要的Flag值。
成功获取Flag值。
通过页面信息得到,备份的sql文件会泄露敏感文件,那么我们可以针对这个sql文件进行寻找信息。
这里访问一下backup.sql即可,为什么要访问backup.sql,因为backup英文是备份,但是在实际情况中,以我们的相关可能都是beifeng,或者bf等等…
这里弹出一个下载文件,这里我们下载后,在里面寻找Flag值即可。
这里我们也是成功获取到了Flag值。
这关其实就是玩游戏,但是太难玩了,过不去,这关说真的,看别人的文章知道如何解答的,这可能就是CTF的魅力吧!!
这里就是通过查看JS代码,如何去看flag值的条件,再去对其进行uncode解码,通过谐音获取110.php。
成功获取flag值。
通过提示,显示密钥可能存放再前端,那么我们就右击源码,查看有没有想要的信息。
通过源码的一条注释信息中,等到密码,但是密码好像有加密,直接使用密码登录,是无法登录的,既然不知道密码具体是什么,那么直接抓包吧!
这里通过抓包,直接将加密的密码发过去,这里这样做是由于,我们获取的是加密信息,那么我们再前端再输入这个加密信息后,到后端的时候服务器会对其再次加密,就会导致,两次加密,肯定不对,而且抓包可以将数据包中加密的信息替换,然后发送,实现登录。
这里也可以看到,确实是加密信息,我们这里直接替换加密信息吧。
再替换加密信息后,成功获取Flag值。
通过页面提示mdb文件是早期asp+access构架的数据库文件,文件泄露相当于数据库被脱裤了。
mdb文件是早期asp+access构架的数据库文件 直接查看url路径添加/db/db.mdb下载文件,这一题主要是体验一下以前的文件泄露方法,现在很少见到asp+access架构了。
这里访问/db/db.mdb下载文件。
这里通过记事本打开搜索flag即可获取Flag值。