【ctfshow—web】——信息搜集篇1(web1~20详解)

2024-06-04 2830阅读

ctfshow—web题解

  • web1
  • web2
  • web3
  • web4
  • web5
  • web6
  • web7
  • web8
  • web9
  • web10
  • web11
  • web12
  • web13
  • web14
  • web15
  • web16
  • web17
  • web18
  • web19
  • web20

    web1

    题目提示

    开发注释未及时删除

    那就找开发注释咯,可以用F12来查看,也可以Ctrl+U直接查看源代码呢

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第1张

    就拿到flag了

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第2张

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第3张

    web2

    题目提示

    js前台拦截 === 无效操作

    沿用web1的思路,发现右键点不了了,F12也没反映了,这样可不行,我要拿到我最爱的flag!qwq

    但是Ctrl+U还是可以正常用的

    在 JavaScript 中,=== 是严格相等运算符,用于比较两个值的类型和数值。如果前台拦截中提示 “===

    无效操作”,可能是因为在拦截的代码中,使用了不正确的语法或者操作方式导致了这个错误。

    在进源码拿到flag的同时,发现

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第4张

    > window.oncontextmenu = function(){return false}; 	
    > window.onselectstart = function(){return false}; 	
    > window.onkeydown = function(){if (event.keyCode==123){event.keyCode=0;event.returnValue=false;}};
    

    分析易得这段代码是用来禁止在网页上右键点击(禁用上下文菜单)、禁止选择文本和禁止按下 F12 键打开开发者工具的操作。具体功能解释如下:

    window.oncontextmenu:这行代码将右键点击事件的默认行为禁止,即禁用了浏览器的上下文菜单。

    window.onselectstart:这行代码阻止了文本被选中,使得用户无法通过鼠标选择页面上的文本内容。

    window.onkeydown:这行代码捕获键盘按下事件,当按下的键为 F12 时,将其事件码设置为 0 并且取消默认行为,从而阻止了按下F12 键打开浏览器的开发者工具。

    web3

    题目提示

    没思路的时候抓个包看看,可能会有意外收获

    他让我们抓包那就抓吧,打开抓包工具burpsuite,再熟练的打开代理

    肯定有人说这也没啥啊,

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第5张

    确实没啥,那就点点看呗,点到hex里面的时候,发现藏在这里的flag,拿下

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第6张

    当然在前端的网络里面也可以看到这个flag

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第7张

    web4

    题目提示

    总有人把后台地址写入robots,帮黑阔大佬们引路。

    那就得知道在网络上的robots是什么

    robots.txt是一种文本文件,用于向网络爬虫(如搜索引擎的爬虫)提供网站访问的指导。它位于网站的根目录下,通过规定哪些页面可以被爬虫访问,以及哪些页面应该被忽略,来控制搜索引擎对网站内容的抓取和索引。

    通过编辑robots.txt文件,网站管理员可以告诉搜索引擎爬虫哪些页面应该被排除在外,以保护隐私或防止搜索引擎浪费资源爬取不必要的页面。同时,也可以使用robots.txt来指示搜索引擎爬虫对特定页面的抓取频率限制,以避免对服务器造成过大负担。

    然而,需要注意的是,robots.txt只是一种约定和建议,而并非强制规定。善意的搜索引擎会尊重robots.txt文件的指示,但恶意的爬虫可能会无视这些规则。

    就拿百度的看看https://www.baidu.com/robots.txt

    这里面的内容是这样的,大多数就是一些目录,如下图

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第8张

    知道这个就好做了,直接在后面加上robots.txt

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第9张

    发现个关于flag的文件,继续拼接,成功拿下flag。

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第10张

    web5

    题目提示

    phps源码泄露有时候能帮上忙

    疑惑?什么是phps

    phps即为 PHP Source。PHP Source 由 The PHP Group 发布,是最通用的关联应用程序。
    

    phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。其实,只要不用php等已经在服务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用了phps文件类型

    已知站点是php搭建的

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第11张

    而且默认建站规则都有index.php

    联想到可能是index.phps

    那就实践试试,在原网页的请求上加上/index.phps,这道题之后会给下载这个文件

    文件下载好后用正在使用的浏览器打开,打开后看到是空白网页

    这时候查看这个网页源码即可从注释中得到flag

    直接用burpsuite抓包也可以直接回显出来,成功拿下flag

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第12张

    web6

    题目提示

    解压源码到当前目录,测试正常,收工

    条件反射www.zip,别问为什么,问就是经验,常见的网站源码备份文件

    常见的网站源码备份文件后缀

    • tar
    • tar.gz
    • zip
    • rar
    
    常见的网站源码备份文件名
    
    • web
    • website
    • backup
    • backup
    • www
    • wwwroot
    • temp
    Web.tar
    Web.
    Web.
    Web.
    website.
    website.
    website.
    website.
    backup
    backup
    backup
    backup
    backup
    backup
    backup
    backup
    www
    www
    www
    www
    wwwroot
    wwwroot
    wwwroot
    wwwroot
    temp
    temp
    temp
    temp
    

    拿下flag

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第13张

    提示在fl000g.txt下,那么在URL后加上这个txt,成功拿下flag!

    web7

    题目提示

    版本控制很重要,但不要部署到生产环境更重要。

    根据提示说的什么不要部署在生产环境什么的不太懂,反正就肯定是信息泄露嘛,继续保持开发者工具、抓包、dirsearch三连,dirsearch发现可以访问/.git/

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第14张

    尝试访问一下,成功得到flag

    web8

    题目提示同web7一样 这道题和上面一道题类似,都是版本控制器问题 常用的就是Git和SVN上面那题用的是/.git/

    这一题只需要将git改为svn即可

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第15张

    web9

    题目提示

    发现网页有个错别字?赶紧在生产环境vim改下,不好,***机了

    根据提示,在Linux生产环境上使用vim或者vi做修改时,会生成一个swp为后缀的文件

    第一次意外退出生成的是.swp

    第二次意外退出生成的是.swo

    第三次为.swn

    因此可以尝试打开第一次退出时产生的这个文件,输入/index.php.swp

    会下载出文件

    打开即可得到flag

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第16张

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第17张

    web10

    题目提示

    cookie 只是一块饼干,不能存放任何隐私数据

    饼干?嘿嘿嘿好吃😋喜欢吃饼干,不对,cookie在这里好像不是饼干的意思,那是什么呢?

    Cookie是一种存储在用户计算机上的小型文本文件。它由网站通过用户的浏览器创建并存储在用户的硬盘上。当用户访问同一个网站时,浏览器会将该网站的Cookie发送回服务器,以便识别用户、跟踪其活动和提供个性化的服务。

    Cookie通常用于以下目的:

    会话管理:通过保存用户的会话信息,使用户在同一网站上进行多个请求时保持登录状态。 用户偏好:记录用户的偏好设置,如语言选择、字体大小等。

    购物车功能:在电子商务网站上,Cookie可以帮助存储用户的购物车内的商品信息。

    广告定向:广告公司可以使用Cookie来跟踪用户的浏览行为,并根据其兴趣向其展示相关广告。

    网站分析:网站管理员可以使用Cookie来收集用户访问网站的统计数据,从而改进网站的性能和用户体验。

    需要注意的是,Cookie只能存储少量的数据,并且是明文存储在用户设备上的,因此应谨慎处理敏感信息,同时用户可以通过浏览器设置来控制Cookie的接受与拒绝。

    好好好,cookie是这样的是吧,那我们怎么得到cookie呢,很简单,抓包or直接在F12里的 network找

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第18张

    很明显的看到cookie里的flag就得到了,不过还得url编码下,%7B和&7B是左右花括号

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第19张

    成功拿下flag!或者按下面的网络里得到flag

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第20张

    web11

    题目提示

    域名其实也可以隐藏信息,比如flag.ctfshow.com 就隐藏了一条信息 由于动态更新,txt记录会变 最终flag

    flag{just_seesee}

    Unlock Hint for 0 points 通过dns检查查询flag https://zijian.aliyun.com/ TXT

    记录,一般指为某个主机名或域名设置的说明。

    查找flag.ctfshow.com域名下的txt记录

    刚拿到题目有点懵,还给了提示,仍然一头雾水,看了半天大概明白是了跟踪路由然后返回域名设置的,

    那么跟踪路由命令nslookup,要查询域名的指定解析类型的解析记录

    格式:nslookup -type=type domain [dns-server]

    其中 type 为解释类型

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第21张

    那么接下来就好办了,直接命令一把梭

    nslookup -qt=txt flag.ctfshow.com
    

    但是本地不知道哪里出问题了运行不出来

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第22张

    只能依托gpt师傅帮帮忙了

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第23张

    good!!!成功拿下!!!

    web12

    题目提示

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

    根据题目提示,我们访问robots.txt,获取到后台地址

    在robots.txt下发现/admin/目录

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第24张

    然后我们访问一下后台

    账号名直接盲猜admin,密码是网站底部的这串数字,372619038

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第25张

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第26张

    登录后成功拿下flag。

    web13

    题目提示

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

    既然跟默认密码有关,可能是密码泄露,在开发文档中极有可能泄露

    在网站找到一个超链接

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第27张

    访问后,发现开发者在文档中写了自己的后台地址和账号密码

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第28张

    这里your-domain换成自己的做题环境,访问后台地址

    https://your-domain/system1103/login.php

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第29张

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第30张

    拿下flag。

    web14

    题目提示

    小0day:某编辑器最新版默认配置下,如果目录不存在,则会遍历服务器根目录

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

    查看网页源代码、抓包、dirsearch,dirsearch发现存在可以访问的/editor/,和题目提示很像,进去看看

    打开网站,根据提示访问http://your-domain/editor/

    发现了个编辑器

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第31张点击图片空间或者文件空间时,发现居然能直接访问服务器根目录

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第32张

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第33张

    一路从根目录到网站目录找,在var/www/html/editor/旁边发现了一个叫nothinghere的文件夹,那肯定里面有东西了,发现fl000g.txt 直接抓包访问获得flag

    /editor/attached/image/var/www/html/nothinghere/fl000g.txt

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第34张

    web15

    题目提示

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

    根据题目提示邮箱,在网页底部发现一个邮箱

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第35张

    再url后面加上admin访问一下后台

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第36张

    有一个忘记密码选项,点击一下

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第37张

    有密保问题,联想到qq邮箱,搜索一下qq

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第38张

    得到地址为西安,于是提交西安得到重置后的密码

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第39张

    得到密码为admin7789,账号还是admin,登录后获得flag

    web16

    题目提示

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

    php探针是用来探测空间、服务器运行状况和PHP信息用的,
    探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息。是一个查看服务器信息的工具。
    比如查看服务器支持什么,不支持什么,空间速度等等状况!
    
    根据提示用到php探针知识点
    输入默认探针tz.php
    打开后点击phpinfo就可以查看到flag
    

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第40张

    再点击phpinfo查看信息,搜索ctfshow得到flag

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第41张

    web17

    题目提示

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

    用dirsearch扫出url/backup.sql

    打开靶机,直接用dirsearch扫描目录,扫出了/backup.sql

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第42张

    访问url/backup.sql,自动下载了backup.sql

    打开backup.sql,即可获取flag

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第43张

    web18

    题目提示

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

    谢邀,玩了好几把,速度快的飞起,根本玩不了,作为一名ctfer怎么能玩游戏通关呢,必须得hack他

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第44张

    一般来说,这种游戏都是js里控制的,我们翻看js代码

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第45张

    解码147行的代码

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第46张\u4f60\u8d62\u4e86\uff0c\u53bb\u5e7a\u5e7a\u96f6\u70b9\u76ae\u7231\u5403\u76ae\u770b\u770b

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第47张

    根据提示,访问110.php,构造url/110.php

    得到flag

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第48张

    web19

    题目提示

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

    打开一个登录框,既然提示前端,那就看看源代码有没有什么线索

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第49张

    发现了一些奇怪的东西,分析复习分析【ctfshow—web】——信息搜集篇1(web1~20详解) 第50张

    一共两段js代码

    function checkForm(){
        var key = "0000000372619038";
        var iv = "ilove36dverymuch";
        var pazzword = $("#pazzword").val();
        pazzword = encrypt(pazzword,key,iv);
        $("#pazzword").val(pazzword);
        $("#loginForm").submit();
        
    }
    function encrypt(data,key,iv) { //key,iv:16位的字符串
        var key1  = CryptoJS.enc.Latin1.parse(key);
        var iv1   = CryptoJS.enc.Latin1.parse(iv);
        return CryptoJS.AES.encrypt(data, key1,{
            iv : iv1,
            mode : CryptoJS.mode.CBC,
            padding : CryptoJS.pad.ZeroPadding
        }).toString();
    }
    

    这段代码是一个用于在客户端对密码进行加密后再提交表单的函数。

    它使用了 CryptoJS 库中的 AES 加密算法来对密码进行加密。具体来说,它做了以下几件事情:

    获取输入框中 id 为 “pazzword” 的密码值。

    通过指定的 key 和 iv 对密码进行 AES 加密。

    将加密后的密码设置回输入框 “pazzword” 中。

    提交表单。

    需要注意的是,这段代码中使用的是 ECB 模式和 ZeroPadding 填充方式。在实际应用中,建议考虑使用更安全的加密模式(如 CBC 模式)和填充方式(如 PKCS7 填充)来加强安全性。

            if($u==='admin' && $p ==='a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04'){
                echo $flag;
            }
    }
        -->
    

    这段代码是一个简单的 PHP 代码片段,用于处理用户提交的用户名和密码,并根据条件进行简单的验证,如果验证通过则返回一个标志。

    具体来说,它做了以下几件事情:

    关闭了错误报告输出,使得 PHP 不会输出错误信息到页面上。

    定义了一个变量 $flag 并赋了一个值 “fakeflag”,这个变量可能在其他地方被使用。

    从 POST 请求中获取了用户名和密码。

    如果用户名和密码都被设置了,且用户名为 “admin”,且密码为特定的哈希值,则返回变量 $flag 的值。

    结合以上几点来看:

    密文输出编码: 十六进制hex 
    偏移量iv: ilove36dverymuch 
    密钥:0000000372619038
    密文为: a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04
    模式为CBC
    填充为ZeroPadding
    编码为Hex
    

    利用在线解密工具直接得到密码为:i_want_a_36d_girl

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第51张

    输入admin和i_want_a_36d_girl

    登陆成功得到flag

    利用hackbar或者burpsuite抓包发送post请求,post传参也可以得到username=admin&pazzword=a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第52张

    web20

    题目提示

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

    早期 asp+access 架构的数据库文件为db.mdb ,所以访问 /db/db.mdb 下载一个文件。

    打开得到flag:flag{ctfshow_old_database}

    【ctfshow—web】——信息搜集篇1(web1~20详解) 第53张


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]