CTF

CTF-web-信息收集

https://ctf.show

web入门

信息收集

web1

提示:web1:where is flag?

右键查看源代码
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>CTFshow 新手入门题目 </title>
<script type="text/javascript">

</script>
</head>
<body>
    <h3>web1:where is flag?</h3>
    <!-- ctfshow{c0c1ce26-9907-4569-95a7-051e4e589393} -->
</body>
</html>

知识点:
在大多数主流浏览器(如 Chrome、Firefox、Safari 等)中,通过在网页空白处右键单击,然后选择 “查看页面源代码” 或 “查看源代码” 选项,就可以打开一个新的窗口或标签页来显示网页的源代码。这种方式简单直接,是最常用的查看源代码的方法。

web2

提示:无法查看源码

使用view-source:    查看源码
view-source:https://f5c943f9-bbb9-4aed-92a7-2ef41d120f23.challenge.ctf.show/
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>CTFshow 新手入门题目 </title>
<script type="text/javascript">
    window.oncontextmenu = function(){return false};
    window.onselectstart = function(){return false};
    window.onkeydown = function(){if (event.keyCode==123){event.keyCode=0;event.returnValue=false;}};
</script>
</head>
<body>
    <h3>无法查看源代码</h3>
    <!-- ctfshow{322e35f3-01c4-4040-b2b3-9cf9f2577610} -->
</body>
</html>

知识点:
“view - source:” 是一种在浏览器中查看网页源代码的方式。在浏览器地址栏中输入 “view - source:” 加上网页的 URL(例如,view - source:https://www.example.com),浏览器就会直接显示该网页的源代码,而不是正常加载网页内容。这种方式和右键点击 “查看源代码” 的功能类似,但在某些情况下,它可能更加方便,比如当网页右键菜单被禁用时,使用 “view - source:” 仍然可以查看源代码。

web3

提示:web3:where is flag?

使用burp抓包重放
HTTP/1.1 200 OK
Server: nginx/1.20.1
Date: Thu, 19 Sep 2024 09:27:46 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Flag: ctfshow{c58b9bed-b4aa-4d73-adfa-1c8922912d90}
X-Powered-By: PHP/7.3.11
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: Content-Type,Cookies,Aaa,Date,Server,Content-Length,Connection
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-auth-token,Cookies,Aaa,Date,Server,Content-Length,Connection
Access-Control-Max-Age: 1728000
Content-Length: 19

web3:where is flag?

知识点:
Burp Suite 是一款用于 Web 应用程序安全测试的集成平台。它主要由多个工具组成,如 Proxy(代理)、Spider(爬虫)、Scanner(扫描器)等,其中代理工具是进行抓包和重放的核心部分。Burp 代理位于浏览器和目标 Web 服务器之间,当浏览器发起 HTTP/HTTPS 请求时,请求会先经过 Burp 代理,代理会拦截并记录这些请求,这就是抓包的过程。

web4

提示:web4:where is flag?

访问/robots.txt获取到
/flagishere.txt
访问/flagishere.txt获取到flag
ctfshow{bca65e4f-40ff-424b-a95b-6b06cd214240}

知识点:
robots协议也称爬虫协议、爬虫规则等,是指网站可建立一个robots.txt文件来告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,而搜索引擎则通过读取robots.txt文件来识别这个页面是否允许被抓取。

web5

提示:web5:where is flag ?

访问index.phps下载文件
打开获取到flag
//ctfshow{6a300167-8c4a-4d44-87c6-197a98800186}
echo "web5:where is flag ?"

知识点:
phps即为 PHP Source。 phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。

web6

提示:web6:where is flag?

访问www.zip下载源代码,解压后发现提示//flag in fl000g.txt
访问/fl000g.txt 获取到flag
ctfshow{0333c9ff-f349-4540-b6d6-84e0689ccf6f}

知识点:
zip、7z备份文件使用目录扫描(通过字典、或者网站域名、网站ip地址)

web7

提示:web7:where is flag?

访问/.git 获取到flag
ctfshow{a1afa4eb-e0c6-45c5-9172-d190cd8f9b00}

知识点:
GIT泄露:github、gitee(直接在url加上/.git)
Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。
漏洞利用工具:GitHack
    github项目地址:https://github.com/lijiejie/GitHack
    用法示例:
    GitHack.py http://www.openssl.org/.git/
    修复建议:删除.git目录或者修改中间件配置进行对.git隐藏文件夹的访问。

web8

提示:web8:where is flag?

访问/.svn 获取到flag
ctfshow{c06debca-0e0c-438b-86c0-b46327510dc9}

知识点:
SVN 源码泄露(.svn/entries)
SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。

web9

提示:web9:where is flag?

访问/index.php.swp,打开获取flag
ctfshow{2ede828b-a0ef-4e4a-9fa5-95a9ff41163a}

知识点:
vim缓存文件泄露的意思是,在使用vim编辑器对文本文件操作时,会产生相应的缓存文件,如果正常保存退出则对原文件的操作生效并自动删除缓存文件;如果意外关闭则对原文件的操作不生效且保留缓存文件
缓存文件的文件名格式为原文件名.swp,如果已经存在一个缓存文件则为原文件名.swo,
如果已经存在两个缓存文件则为原文件名.swn

web10

web10:where is flag?

抓包,flag在cookie里
HTTP/1.1 200 OK
Server: nginx/1.20.1
Date: Fri, 20 Sep 2024 09:37:44 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Set-Cookie: flag=ctfshow%7B3f9d6c6c-9c08-4775-8a06-525a7b532483%7D
X-Powered-By: PHP/7.3.11
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: Content-Type,Cookies,Aaa,Date,Server,Content-Length,Connection
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-auth-token,Cookies,Aaa,Date,Server,Content-Length,Connection
Access-Control-Max-Age: 1728000
Content-Length: 21

web10:where is flag?

知识点:
cookie数据是指某些网站为了辨别用户身份,储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

web11

提示:域名其实也可以隐藏信息,比如flag.ctfshow.com 就隐藏了一条信息

DNS查询工具 如: http://www.jsons.cn/nslookup/ 输入: flag.ctfshow.com 查询后,发现TXT里面存放了flag

知识点:
域名的TXT验证就是在域名供应商处为域名设置一个字符串,TXT 记录的值可以是任意的 ASCII 字符串。这个字符串和域名与IP的映射关系一同被域名供应商保存到DNS服务器中。TXT记录,一般指为某个主机名或域名设置的说明,用于与别人联系。
可以使用命令nslookup
例如:nslookup -query=any 【域名】

web12

提示:有时候网站上的公开信息,就是管理员常用密码

给了一个购物页面,访问/admin弹出登录框,尝试弱口令发现都不对,根据提示进行信息收集
把首页能点的都点一遍发现都没作用,划到页面最下面发现有一串字符:Help Line Number : 372619038
猜测372619038就是密码,尝试进行登录,登录成功,获取到flag
ctfshow{2abd5099-e8f8-4369-a033-6c686bf011c1}

web13

提示:技术文档里面不要出现敏感信息,部署到生产环境后及时修改默认密码

给了一个购物页面,根据提示查找文档信息,划到页面最下方有显示document 文档,点击下载获取到技术文档
根据技术文档访问后台登录页面,再输入账号密码登录成功后获取到flag

知识点:
技术文件信息泄露,通过获取到技术文件获取到默认账号密码

web14

提示:有时候源码里面就能不经意间泄露重要(editor)的信息,默认配置害死人

根据提示访问一下/editor 发现是一个编辑器,点击插入文件-》文件空间,发现可以查看系统所有文件名称和路径,在/editor/attached/file/var/www/html/nothinghere/下 发现fl000g.txt
直接访问/nothinghere/fl000g.txt 获取到flag

知识点:
编辑器配置错误可能导致弱口令、数据库路径泄露以及配置文件信息泄露等问题

web15

提示:公开的信息比如邮箱,可能造成信息泄露,产生严重后果

根据提示在页面最下方获取到邮箱1156631961@qq.com,在访问/admin获取到后台登录页面
不知道密码尝试进行忘记密码,密保信息:我的所在地是哪个城市?
通过qq查询到该邮箱的人在西安,输入后跳转显示您的密码已重置为admin7789
在登录页面进行登录,登录成功获取flag
ctfshow{f07fff0a-6e05-4040-b126-a609734095cb}

知识点:
通过社工获取到一些敏感信息。通过搜索引擎、社交媒体、公司网站、公开的数据库和论坛等渠道收集信息。

web16

提示:对于测试用的探针,使用完毕后要及时删除,可能会造成信息泄露

根据提示找到探针页面tz.php,点击php信息phpinfo,跳转到phpinfo(/tz.php?act=phpinfo)搜索flag获取到flag
ctfshow{4bedf709-13aa-4eef-b819-40a78119e835}


知识点:
php探针是用来探测空间、服务器运行状况和PHP信息用的,探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息,默认为【tz.php】

web17

提示:备份的sql文件会泄露敏感信息

根据提示使用目录扫描工具进行目录扫描,发现 /backup.sql文件,访问下载文件,打开文件获取flag
ctfshow{b6d20442-66d8-400e-b4ce-73f90bc37456}


知识点:
在数据库维护过程中,会产生大量的备份文件。这些备份文件可能包含敏感的数据库结构信息、用户数据等。如果这些备份文件没有得到妥善的存储和保护,被放置在 Web 服务器可访问的目录下,就会导致信息泄露。
在软件开发和部署过程中,可能会遗留旧版本的 SQL 文件。这些文件可能包含已经废弃但仍然敏感的数据库操作逻辑,如旧的用户表创建语句、包含敏感数据字段的插入语句等。

web18

提示:不要着急,休息,休息一会儿,玩101分给你flag

对js代码进行代码审计,关键函数【score】【game_over】【run()】,前两个都是控制游戏输赢的,最后一个函数是用来执行游戏的。构造语句score=101;game_over=true;run();,F12后将语句输入控制台Console获取到提示,访问110.php获取到flag
ctfshow{3e34d82a-637b-4eb7-b536-690dc9ad9f28}


知识点:
js代码审计,前端控制台测试
前端控制台是浏览器提供的一个强大工具,它允许开发者在运行时查看和调试 JavaScript 代码。在代码审计过程中,可以利用控制台来快速定位和解决代码中的错误。例如,当页面出现异常行为时,可以通过控制台查看错误消息、堆栈跟踪等信息,从而确定问题的根源。
在审计过程中,可能需要临时执行一些代码来验证某个假设或测试特定的功能。前端控制台允许直接输入和执行 JavaScript 代码,方便进行快速实验。

web19

提示:密钥什么的,就不要放在前端了

右键查看源码,发现AES加密信息和php代码,获取到用户admin和加密后的password,将passowrd进行AES解密,在在线网站上输入密文、密匙(key)、偏移量(iv),选择模式CBC、填充Zero,密文编码HEX。获取到明文i_want_a_36d_girl,输入账号密码获取到flag
ctfshow{a6f45876-300f-48fe-b18c-278b87375c6b}


知识点:
前端代码是公开可见的。任何人都可以通过查看网页源代码或者使用浏览器的开发工具来查看前端的 JavaScript 代码。如果密钥被放在前端,攻击者可以轻松地找到并获取这些密钥。

web20

提示:mdb文件是早期asp+access构架的数据库文件,文件泄露相当于数据库被脱裤了。

使用目录扫描,发现db目录,在对db目录进行扫描,发现db.mdb,访问下载文件,打开文件搜索flag获取flag
flag{ctfshow_old_database}

知识点:
MDB 文件是 Microsoft Access 数据库文件格式。它包含了数据库的表结构、数据记录、查询、报表等各种信息。由于这些文件可能包含敏感的用户数据、商业机密等内容,信息泄露会带来严重的安全风险。
如果服务器上存储 MDB 文件的目录权限设置过于宽松,例如将其设置为可被匿名用户访问,那么任何访问服务器的人都可能获取这些文件。就像把一个装满重要文件的保险柜门大开,任何人都能轻易拿走里面的东西。

总结

  1. 了解目标:通过搜集目标的各种信息,包括网络架构、系统配置、人员信息等,全面认识目标的特点和潜在弱点。
  2. 发现漏洞:为后续的安全评估和攻击提供基础,通过搜集到的信息可以发现目标系统中可能存在的安全漏洞,以便进行针对性的利用。

发表评论