CTFshow_web_Information

1-20

Q&A

  1. web3中为什么源码只有字符串,背后的原理(模板原因???)
  2. web2中还有view协议没有解决
  3. web4中的robot协议问题
  4. web5中phps究竟是什么
  5. web6中的www.zip之类的
  6. 御剑爆破
  7. web7中切换/.svn为什么页面还是不变,是没有相应文件吗
  8. web7中githacker软件的使用
  9. 目录遍历问题

web1

  1. 右键查看源码,签到一下

web2(???)

  1. 方法一
    1. 使用burpsuite抓包,在repeater模块中查看返回源码
  2. 方法二
    1. 使用view方法

web3(包头隐藏)

  • 解题方法
  1. 方法一(bp抓包)
    1. 页面查看源码只有字符串
    2. 使用bp抓包,flag在数据包头中
      bp
  2. 方法二(F12)
    1. 开发者工具后打开f12
    2. 选择网络,刷新查看包头信息
    3. f12中也有拦截功能
  • 解题总结
  1. 数据包头隐藏消息——截取包头信息
    1. 使用bp抓包
    2. 使用开发者工具F12

web4(robots.txt文件)

  • 解题方法
  1. 根据提示,搜索robots,就找到了web4的题解
  2. 搜索robots.txt
  3. 在搜索robots.txt中的文件即可
  • 解题总结
  1. robots协议

    1. 内容 Robots协议(也称为robots.txt协议)是一种用于指导网络爬虫(Web Robots)的约定。该协议允许网站管理员通过在网站根目录下放置名为”robots.txt”的文件来告知搜索引擎爬虫哪些页面可以被访问,哪些页面不应被访问
    2. 该协议的 主要目的 是帮助网站管理员控制搜索引擎爬虫对网站内容的访问和抓取,以保护隐私、节省带宽和优化搜索引擎索引过程
    3. 建议性 Robots协议是一种建议性的协议,而不是强制性的。一些恶意的爬虫可能会不遵守该协议,因此敏感信息不应仅依赖于Robots协议来保护
    4. 有差异 不同搜索引擎对robots协议的解读会有些差异
  2. 格式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    常见的指令有
    User-agent:指定适用的爬虫用户代理(例如Googlebot)。
    Disallow:指定不允许爬取的路径或文件。
    Allow:指定允许爬取的路径或文件(当与Disallow冲突时,Allow优先级较高)
    Sitemap:指定网站地图的位置,帮助搜索引擎更好地发现和索引网页。

    User-agent: *
    Disallow: /private/
    Disallow: /admin/
    Allow: /public/
    Sitemap: https://www.example.com/sitemap.xml

    # 1. *表示所有爬虫
    # 2. 指令也可以只有某一个
    # 3. 每个目录独立一行
    # 4. 跟随指向它自己的行,而不是指向所有漫游器的行
    # 5. Googlebot可识别称为“Allow”的标准扩展名
    # 其他搜索引擎漫游器可能无法识别
    # 6. Allow白名单,Disallow黑名单
    # 7. allow和disallow出现通过相关目录不会覆盖也不优先,会都包括
    # 8. 可使用匹配语法
    # /private/* *表示任意字符
    # /*.asp$ $匹配网址结束符
  3. 其他robots.txt信息详见robots协议详解(https://blog.csdn.net/weixin_45246254/article/details/111604973)

  4. 也可以见robots协议详解2(https://zhuanlan.zhihu.com/p/342575122)

web5(phps源码泄露)

  • 解题方法
  1. 提示是phps源码泄露
  2. 在url上加上/index.phps
  3. 自动下载index.phps文件
  4. 打开记得源码——有flag
  • 解题总结
  1. 用户无法直接通过web浏览器看到php文件内容,而是会直接显示结果,需要使用phps文件
    1. PHPs文件包含PHP脚本代码和HTML代码,可以在服务器端执行,生成动态网页内容
    2. 在执行时,PHPs文件会被解释为PHP脚本和HTML代码,并将其合并生成最终的HTML页面

web6(压缩文件源码泄露)

  • 解题方法
  1. 文件www.zip或者www.rar是常见的源码备份文件
  2. payload:下载www.zip后找flag
  • 源码泄露补充知识点
  1. 可以使用dirsearch进行,有自带的字典

    python dirsearch.py -e php,txt,zip -u url
    python dirsearch.py -u url

web7(.git源码泄露)

  • 解题
  1. 提示版本控制系统,/.git直接出flag
  2. 实际上是一个假的.git泄露
  3. 进行fuzz时.git/config没有啥变化,.git也直接爆flag
  4. 使用githack:python githack.py url/.git也提示 Not a Git index file
  5. 有时间条件下还是使用dirsearch扫目录

web8(.svn源码泄露)

  • 解题
  1. 版本控制系统.svn文件
  2. 这里也是假的.svn文件

web9(vim缓存文件)

  • 解题
  1. vim意外退出,使用index.php.swp和index.php.swo和index.php.swn
  2. 下载下来直接查看即可
  3. 程序员使用vim编辑器编写一个index.php文件时,会有一个.index.php.swp文件,如果文件正常退出,则该文件被删除,如果异常退出,该文件则会保存下来,该文件可以用来恢复异常退出的index.php,同时多次意外退出并不会覆盖旧的.swp文件,而是会生成一个新的,例如.swo文件
  • 解题
  1. bp抓包进行查看再进行url解码
  2. 或者使用开发者工具网络刷新后查看cookie

web11(dns域名解析)

  • 解题
  1. 可以使用nslookup工具,这里说主机已经噶了就直接给答案了

web12(网站后台页面)

  • 解题
  1. 按常规抓包啥的看一下,robots.txt中提示/admin
  2. /admin需要用户名和密码
  3. 页面最下面的热线就是密码,用户是admin
  4. 也可以进行扫目录

web13(技术文档泄露)

  • 解题
  1. 提示进到页面低端document,发现后台,这里your-domain是靶场的网址
  2. 输入密码和账号得到flag

web14(任意目录访问)

  • 解题
  1. dirsearch开扫,使用题目提示/editor,文件上传应该也可以试试,但这里直接可以看到全目录
  2. var中的nothinghere发现fl000g.txt
  3. 访问得到flag

web15(/admin)

  • 解题
  1. 试一下robots.txt然后直接开扫dirsearch
  2. 也可以直接试试/admin
  3. 忘记密码,密保问题通过qq查询

web16(php探针泄露)

  • 解题
  1. 有的网站搭建时可能在根目录下留下探针,据说2016版的小皮/www下默认自带探针
  2. php探针常见文件名为tz.php
  3. 隐藏在phpinfo里,点击后ctrl+f即是flag
  • 信息搜集知识点补充
  1. 探针
    1. 测试探针是一种用于测试和监测网络性能的工具。它可以通过向目标设备或网络发送特定的数据包来检测网络的延迟、丢包率、带宽等指标,并收集这些数据以便进行分析和优化
    2. php探针是用来探测空间、服务器运行状况和PHP信息用的,探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息
    3. 有的网站搭建时可能在根目录下留下探针,据说2016版的小皮/www下默认自带探针
    4. php探针常见文件名为tz.php

web17(sql备份文件)

  • 解题
  1. 使用dirsearch扫描,有backup.sql状态码200
  2. 访问下载即得flag
  3. sql文件可以直接用vscode打开
  • sql备份文件
  1. 备份的SQL文件是一个包含数据库结构和数据的文本文件,其文件名通常以.sql为扩展名。在进行备份时,可以通过数据库管理工具或命令行工具指定备份文件的存储路径和文件名

web18(js小游戏)

  • 解题
  1. js小游戏,使用f12网络处筛选js包,有一个文件
  2. 查看js文件,ctrl+f搜索flag,搜索score
  3. 有一个score>100的东西,里面有\u4f60\u8d62\u4e86\uff0c\u53bb\u5e7a\u5e7a\u96f6\u70b9\u76ae\u7231\u5403\u76ae\u770b\u770b是unicode编码
  4. 解码后它叫我们去看110.php,发现flag
  5. js源码也可以直接右键查看源码中的html会有对应的文件

web19(js源码)

  • 解题
  1. 登录->sql!!!,先看看源码(先别急,看看前端如何处理),有注释,按注释直接post也可以
  2. 如果没有注释看函数也可以看出来
  3. js函数解析(看不懂就开chat)
    1. 定义了一个名为 checkForm() 的函数,在点击登录按钮时调用
    2. 定义了 key 和 iv 两个变量,分别存储密钥和初始化向量。获取用户输入的密码,并将其存储在 pazzword 变量中
    3. 调用 encrypt() 函数,将密码、密钥和初始化向量作为参数传入,对密码进行加密
    4. 将加密后的密码设置为密码字段的值,以便在提交表单时发送给服务器
    5. 最后,通过调用 $(“#loginForm”).submit(); 提交表单
  4. 在encrypt()函数中
    1. 使用了CBC模式和ZeroPadding填充方式来进行加密,使用aes加密
  5. 在线aes加密中选择相应模式和vi,key;可以得出原来的密码i_want_a_36d_girl,也是一种方式
  • aes加密知识补充
  1. 使用密钥,偏移量vi,选择相应的模式CBC…和填充方式,输入明文产生密文,可以通过密文获取明文

web20(数据库数据泄露)

  • 解题
  1. 万能dirsearch,/db没有显示还可以再扫一次出来db.mdb
  2. 下载查看出flag,无法本地打开使用在线查看器就好了