本文靶场来源于CTFshow,并不完全按照靶机的顺序排列,而是以测试操作为导向,按博主个人理解排列。

1. 前端源码


在CTF中,先看源代码是个好习惯,出题者经常会在源代码中以注释的形式提供一些提示

web 1——关注页面源代码

web 2——js前台拦截源代码查看

本题利用js拦截以下内容

  • window.oncontextmenu = function(){return false};:禁用右键菜单,用户右键点击时不会弹出菜单。
  • window.onselectstart = function(){return false};:禁用文本选择,用户无法通过拖动鼠标选择页面上的文本。
  • window.onkeydown = function(){if (event.keyCode==123){event.keyCode=0;event.returnValue=false;}};:禁用F12键(通常用于打开开发者工具),用户按下F12时不会有任何反应。

    当然,前端拦截等于没有拦截,有很多方法都可以直接绕过

    法一

    ctrl u 快捷键打开源代码

    法二

    url前加view-source:查看源代码

    法三

    burp抓包看返回包

    法四

    使用浏览器开发工具打开



    法五

    ctrl s保存到本地查看

web 19——密钥补药放前端呐

源代码中给出账号密码了,提交了一下发现不行



猜测他的逻辑应该是,前端输入账号密码后,密码被加密然后通过数据包传给后端,此处我输入的密码是111,发的数据包如下,显然是加密了。于是源代码中的密码应该是被加密过的,因此把上面的密码粘到burp里就行

web 20——JS前端代码

有经验的师傅一看就知道本题是全前端实现的

找到这个判断,有一个Unicode编码的内容

在控制台直接输出内容,提示110.php

2. 数据包


当没有思路的时候,不妨尝试抓个包。常用抓包工具:浏览器的网络功能、burpsuite等

web 3——抓包是个好习惯

看了源代码什么都没有,所以只能抓个包看看

web 10——cookie泄露

抓包看一下,在cookie看到flag

3. 目录扫描


目录扫描是信息收集必不可少的一步,不同的敏感文件决定了不同的后续渗透思路。

常用的目录扫描工具dirsearch,基本语法为

python dirsearch.py -u http://xxxx/

3.1 robots.txt


robots.txt 是一个用于规定爬虫可以访问网站上的哪些网址的文本文件。需要注意的是,它只是提示合法用户不要爬取这些目录,但并不禁止对目录的访问。通过robots.txt,攻击者可能得到一些敏感目录。

web 4——robot目录泄露

使用dirsearch扫描目录,发现存在robots.txt文件,它禁止爬虫对/flagishere的访问,访问/flagishere,得到flag

3.2 源码文件泄露


源码文件泄露对于渗透测试具有十分重大的意义,这意味着测试者可以进行白盒审计甚至直接利用已知的nday漏洞直接对网站发起进攻。

web 5——phps文件泄露

本题考查的是phps文件泄露源码。phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。比较麻烦的是,博主试了几个目录扫描字典都不包含index.phps ,当然这也是合理的,因为真实生产环境下并极少使用index.phps的需求,因此只能作为一个可能的思路,师傅们也可以把这些遇到的扫不出来的目录添加到字典中去,做好积累。

本题的解题直接访问index.phps获得flag即可

web 6——zip备份文件泄露

dirsearch一扫,发现/www.zip

访问路径,下载了www.zip,打开里面有个fl000g.txt文件,点进去发现里面的flag是空。转换一下思路,www.zip应当是网站的源码,因此这个路径在服务中可能也存在,访问/fl000g.txt,得到flag。这里下载的源码实际上提示了目录,而非直接用下载下来的文件。

web 7——git泄露

Git泄露是指在使用Git版本控制系统时,由于配置不当或者操作失误,导致敏感信息(如密码、密钥、源代码等)被意外地上传到公开的代码仓库或者其他公开可访问的地方,从而被未授权的人获取到。


dirsearch一扫,发现.git,本题考察了git泄露,但是本题很简单,直接访问./git就给了flag

但是一般不会这么容易,补充一下之后的可能步骤

这里需要借助BugScanTeam的githack工具,给个地址,扫描命令如下,注意最后要加上./git,推荐在kali linux上执行,然后就能在dist文件夹中看到抓下来的git了

python2 GitHack.py https://xxx/.git

在抓下来的网页文件夹中执行一些git命令来得到更多源码信息,如:

git log 查看之前都进行了什么操作
git diff xxxx xxxx 查看版本内容的不同之处

web 8——SVN泄露

造成SVN源代码漏洞的主要原因是管理员操作不规范,在发布代码时未使用导出功能,而是直接复制代码文件夹到WEB服务器上,导致.svn被暴露于外网环境


dirsearch一扫,发现/.svn,访问该地址直接就能得到flag。

这题也是比较简单,后续利用建议参考ctfhub的svn泄露靶机。

3.4 数据库泄露


web 17——备份sql文件泄露

dirsearch一扫,找到备份sql文件,下载下来打开找到flag

web 20——access数据库泄露

dirsearch的递归扫描-r,即当扫出一级目录后会再在一级目录后跑字典

python dirsearch.py -u http://xxxx/ -r

3.5 缓存文件泄露


在使用vim进行编辑时,会产生缓存文件,操作正常,则会删除缓存文件,如果意外退出,缓存文件保留下来,这是时可以通过缓存文件来得到原文件,以index.php来说,第一次退出后,缓存文件名为 index.php.swp,第二次退出后,缓存文件名为index.php.swo,第三次退出后文件名为index.php.swn

web 9——vim缓存泄露

这题直接尝试访问index.php.swp即可,但是同样有一个问题就是dirsearch扫不到这个文件,因为dirsearch不扫描临时文件以加快扫描速度,且缓存文件泄露的可能性也比较低,因此本题也仅作为可参考的思路。

3.6 探针泄露

PHP探针是用来探测空间、服务器运行状况和PHP信息的。探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息,对开发具有重大帮助,但是如果在网站上线后未将探针删除,就有可能导致信息泄露。


web 16——探针泄露

dirsearch扫一下没扫出来,不过有师傅说用御剑的字典可以

访问/tz.php

找到phpinfo

找到flag

3.7 第三方组件默认配置

在开发过程中,引入一些第三方组件实现某些功能是一种高效可行的思路,但是一些开源的第三方组件可能存在一些已知的nday,如果不对这些部分加以限制,将导致严重的安全事故


web 14——editor默认配置

dirsearch一扫,发现/editor目录

根据提示小0day:某编辑器最新版默认配置下,如果目录不存在,则会遍历服务器根目录,随便点一个上传文件的功能,可以直接访问文件空间

发现flag的路径,访问该路径获得flag

4. 社会工程学

社会工程学是一种通过操控和影响人类行为的技术,用于获取敏感信息、访问权限或进行其他欺诈行为。它通常依赖于对人类心理的理解,利用信任、恐惧或好奇心等情感因素来欺骗目标,以达到攻击者的目的。


web 12——敏感信息公布

在网站上发现了作者的联系方式,很多人都会使用姓名、电话、生日等作为自己的密码,为弱口令登陆提供了可能

扫描一下目录,发现了/admin存在登录提示,用户名为admin,密码为电话,成功登录

web 13——技术文档泄露

在现实情况中,我们可能通过某些方式获得某些内部人员的信任,从而诱骗对方在向我们请求帮助时发送技术文档,如果对方为删除其中的敏感信息,就为我们的渗透提供了可能

当然这题比较容易,文档直接放在了页面中,直接登陆获得flag

web 15——密码逻辑脆弱

页面中泄露了作者的qq邮箱

目录扫描找到/admin登陆界面,输了一下qq邮箱,显示密码错误,看到下面有个忘记密码功能,试一下

要求输入所在地

看一眼他的QQ,是西安

5. 企业资产收集

在信息打点的初期,我们会对企业信息结构进行收集,比如说目标公司的主站域名、控股子公司的域名等等。为了获得更多域名与ip段,我们会通过查找dns的历史记录,可以得到详细的域名解析与ip地址信息,从而扩大收集的信息。关于这部分更详细的信息可以参考红队从资产收集到打点


web 11——DNS历史记录查询

本题模拟的实际上是域名的主动被动的收集,不过这题的域名已经失效了,就提供使用nslookup工具查询的命令,也可以使用一些在线网站。

nslookup -query=any flag.ctfshow.com

基于ctfshow的信息收集思路与CTF实战的更多相关文章

  1. CTF Show web入门 1——20(信息收集)wp和一些感想

    web1 信息搜集 此题为 [从0开始学web]系列第一题 此系列题目从最基础开始,题目遵循循序渐进的原则 希望对学习CTF WEB的同学有所帮助. 开发注释未及时删除 此题有以上备注,可以想到备注未 ...

  2. RED_HAWK:基于PHP实现的信息收集与SQL注入漏洞扫描工具

    无事早上就去逛freebuf看到一款不错的工具,打算介绍给大家 RED_HAWK:基于PHP实现的信息收集与SQL注入漏洞扫描工具 RED HAWK 最新版本:v1.0.0[2017年6月11日] 下 ...

  3. 基于Python的渗透测试信息收集系统的设计和实现

    信息收集系统的设计和实现 渗透测试是保卫网络安全的一种有效且必要的技术手段,而渗透测试的本质就是信息收集,信息搜集整理可为后续的情报跟进提供强大的保证,目标资产信息搜集的广度,决定渗透过程的复杂程度, ...

  4. Kali Linux信息收集工具

    http://www.freebuf.com/column/150118.html 可能大部分渗透测试者都想成为网络空间的007,而我个人的目标却是成为Q先生! 看过007系列电影的朋友,应该都还记得 ...

  5. Kali Linux信息收集工具全集

    001:0trace.tcptraceroute.traceroute 描述:进行路径枚举时,传统基于ICMP协议的探测工具经常会受到屏蔽,造成探测结果不够全面的问题.与此相对基于TCP协议的探测,则 ...

  6. Kali Linux信息收集工具全

    可能大部分渗透测试者都想成为网络空间的007,而我个人的目标却是成为Q先生! 看过007系列电影的朋友,应该都还记得那个戏份不多但一直都在的Q先生(由于年级太长目前已经退休).他为007发明了众多神奇 ...

  7. CVPR2020|3D-VID:基于LiDar Video信息的3D目标检测框架

    作者:蒋天园 Date:2020-04-18 来源:3D-VID:基于LiDar Video信息的3D目标检测框架|CVPR2020 Brief paper地址:https://arxiv.org/p ...

  8. Web信息收集之搜索引擎-Shodan Hacking

    Web信息收集之搜索引擎-Shodan Hacking 一.Shodan Hacking简介 1.1 ip 1.2 Service/protocol 1.3 Keyword 1.4 Cuuntry 1 ...

  9. ★Kali信息收集★8.Nmap :端口扫描

    ★Kali信息收集~ 0.Httrack 网站复制机 http://www.cnblogs.com/dunitian/p/5061954.html ★Kali信息收集~ 1.Google Hackin ...

  10. Metasploitable 2系列教程:信息收集

    Metasploitable 2 系统是一个基于ubuntu 的系统.其设计的最初目的为安全工具测试和常见漏洞攻击演示.而在这篇关于 Metasploit 的教程中,我们将列举有关 Metasploi ...

随机推荐

  1. SMU Summer 2023 Contest Round 11(2022-2023 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2022))

    SMU Summer 2023 Contest Round 11(2022-2023 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2022 ...

  2. 13. Advanced-control timers (TIM1 and TIM8)

    1. 基本介绍 有三个基础的寄存器: 计数寄存器(TIMx_CNT,Counter register) 预分频寄存器(TIMx_PSC,Prescaler register) 自动重载寄存器(TIMx ...

  3. 基于surging的产品项目-木舟开源了!

    一 . 概述 因为前段时间电脑坏了,导致代码遗失,踌躇满志马上上线的平台产品付之东流,现在熬夜在写代码希望能尽快推出企业正常使用的平台产品,而这次把代码开源,一是让大家对surging 使用有个深入的 ...

  4. mysql 5.7密码修改

    官网下载安装包:https://dev.mysql.com/downloads/mysql/ 一.停止mysqld服务 二.编辑配置文件 有的Linux版本是/etc/my.cnf 有的Linux版本 ...

  5. Vite+Vue3 项目 华仔待办

    此"华仔",不是彼"华仔",你懂的! 先来了个截图 紧跟着,实现步骤也来了 1. 安装 Node.js,终端运行 npm create vue@latest,项 ...

  6. 组合逻辑环(Combinational Logic Loop)

    组合逻辑电路 组合逻辑电路是数字电子学中一类基本的电路类型,它由一系列逻辑门组成,用于实现特定的逻辑功能.与时序逻辑电路不同,组合逻辑电路的输出完全取决于当前的输入信号,而不受之前输入的影响.换句话说 ...

  7. C# 使用 PaddleOCRSharp 识别 图片中的文字、 使用QRCoder生成二维码

    目录 使用PaddleOCRSharp识别图片中的文字 PaddleOCRSharp资料汇总: 1.将源码编译成对应的.Net 版本引入到项目中 2. 初始化PaddleOCREngine 3. 调用 ...

  8. mysql vs mongodb

    Comments MongoDB 是NoSQL 数据库,适合存JSON格式数据,MySQL是关系型数据库,适合存table格式数据 MongoDB扩展性更好,MySQL支持主从和cluster但是感觉 ...

  9. 深入理解JavaScript中的try catch finally

    在日常开发中,我们经常使用try catch 来捕捉错误,来提升应用程序的健壮性,但是,大部分时候,只是惯性使用,很少静下来去深入理解一下try catch finally,所以本文将对try cat ...

  10. frp_v0.37.1内网穿透,内网服务公网用不求人

    前言: 公司内网无法访问,出差又需要用到公司内网进行办公,苦恼了好一阵.这时候想到了内网穿透,这就不得不提到几年前被安利的frp,一看GitHub竟然已经5年了,网上估计大把教程了. 那么什么是frp ...