当前位置: 首页 > news >正文

ctfshow web入门 web11-web24

web11

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

web12

进来浏览网站,底部有一串数字,根据提示可能有用,访问robots.txt,发现禁止访问/admin/,进去看看发现需要输入用户名和密码,刚想爆破就猜对了,用户名是admin,密码是页面下的那串数字

web13

这道题有点懵,看了wp才误打误撞做出来,页面下方有一个document单词,点一下就会跳转到一个pdf,里面放着后台的登录地址和密码
在这里插入图片描述

web14

这道题耐心不够也没做出来,看了下wp,先根据提示加入editor(果然提示没有一个词是没用的),此时出现一个编辑器的页面,在上传文件选项里一直找找找,最后找到flag在这里插入图片描述

web15

这道题蛮有意思,输入admin进入后台,让输入账号密码,还有一个忘记密码的选项,充值条件是输入作者所在的城市,联想到邮箱有一个qq号,顺藤摸瓜,找到西安,成功重置密码在这里插入图片描述

web16

学到个新东西->php探针

  • PHP探针(PHP Probe)是一种利用 PHP 编写的脚本工具,通常用于对服务器进行安全检测、信息收集和性能监控。PHP探针能够帮助系统管理员或黑客获取关于目标服务器的各种信息。它们可以通过浏览器访问并执行,展示服务器的环境、配置、文件系统等关键信息在这里插入图片描述
    进来后在phpinfo里找到flag

web17

进来用dirsearch扫一扫,发现backup.sql,下载打开得到flag

web18

也是见到了心心念念的游戏题,在控制台可以给变量赋值,使score=120,game_over=false,然后最关键的一步来了,执行run()函数,即可拿到提示
在这里插入图片描述

web19

其实已经可以看到判断逻辑了,输入的密码在经过AES加密后要等于p,那么将p反向解密即可得到密码
在这里插入图片描述在这里插入图片描述

web20

不如说是dirsearch的教学,扫到db后加入db继续扫描,下载文件后开010编辑器找到flag在这里插入图片描述

爆破

web21

刚开始接触爆破也是踩了不少坑,第一:一定要用题目给的字典,在网上找了一个10w+的字典都没爆出来,最后一看密码shark66·······
在构造需要编码的payload时有两种构造方法,我用的其实是运气好地一种,就是只构造一个,然后添加前缀admin:再添加base64
实际上正解应该是构造3个payload,为:单独构造一个,分别进行base64(分开还是合起来加密base64最后解的结果都是一样的),最后按照状态码升序排序即可拿到flag在这里插入图片描述

web22

在这里插入图片描述

web23

在这里插入图片描述
分析代码,需要传入token并且token的MD5值满足两个条件才能打印flag,脚本让gpt写一个即可

import hashlibdef md5_hash(text):"""计算字符串的 MD5 值并返回十六进制表示"""return hashlib.md5(text.encode('utf-8')).hexdigest()def check_conditions(token):"""检查给定 token 是否满足条件"""# 确保 substr(1,1) == substr(14,1) == substr(17,1)if token[1] == token[14] and token[14] == token[17]:# 确保条件 (intval(substr($token, 1, 1)) + intval(substr($token, 14, 1)) + intval(substr($token, 17, 1))) / intval(substr($token, 1, 1)) === intval(substr($token, 31, 1))num1 = int(token[1], 16)num14 = int(token[14], 16)num17 = int(token[17], 16)num31 = int(token[31], 16)if (num1 + num14 + num17) / num1 == num31:return Truereturn Falsedef find_valid_string():"""寻找满足条件的字符串"""for i in range(1000000):test_str = str(i)token = md5_hash(test_str)if check_conditions(token):print(f"Found valid string: {test_str}")print(f"MD5 hash: {token}")break# 调用函数寻找有效字符串
find_valid_string()

爆出token是422,但是接下来就一直卡住了,我以为有一个flag.php的路径,于是尝试向其中传入token,后来看wp才发现直接在首页传入?token=422即可,甚至连字符的引号都不用加
记录一下看到的另一种解法,应该是web选手用的更多的一种方法,就是随意传一个token=1,再用bp抓包后爆破数字即可

web24

伪随机数的爆破(越来越感觉像crypto了),同样让deepseek写一个脚本

<?php
mt_srand(372619038);  // 设置相同种子
$target = mt_rand();  // 生成随机数
echo "Payload: ?r=" . $target;  // 输出可直接提交的 r 值
?>

之后用phpstudy打开网站即可看到结果,这一步折腾了半个小时,总算搞清楚php代码怎么运行了

  • 后面的题目懒得做了,猜测无非bp抓包,无非进行一些crypto的爆破,后面有时间再回来做
http://www.lryc.cn/news/539938.html

相关文章:

  • Windows 环境下配置多个不同版本的 Maven
  • web入侵实战分析-常见web攻击类应急处置实验1
  • 适配器模式 Adapter Pattern
  • Android 动态加入Activity 时 manifest 注册报错解决。使用manifestPlaceholders 占位
  • 芝加哥学派(Chicago School):金融与经济学的创新力量(中英双语)
  • 3分钟了解内外网文件传输:常见方法、注意事项有哪些?
  • Python学习心得常用的内置函数
  • VMware Workstation16安装Centos7以及静态IP设置
  • 【核心算法篇十九】《 DeepSeek因果推断:双重差分模型如何破解政策评估的「时空难题」》
  • Token Embedding(词嵌入)和Positional Encoding(位置编码)的矩阵形状关系及转换过程
  • 多个用户如何共用一根网线传输数据
  • U-Net 与深度学习的完美结合:图像分割的高效解决方案
  • nginx ngx_http_module(9) 指令详解
  • 【从0做项目】Java搜索引擎(4)——性能优化~烧脑~~~
  • 【HarmonyOS Next】鸿蒙应用进程和线程详解
  • 【前端ES】ECMAScript 2023 (ES14) 引入了多个新特性,简单介绍几个不为人知但却好用的方法
  • 【EndNote】WPS 导入EndNote 21
  • 网上购物|基于SprinBoot+vue的网上购物系统(源码+数据库+文档)
  • AI 语言模型发展史:统计方法、RNN 与 Transformer 的技术演进
  • Pycharm中查找与替换
  • 有向图的强连通分量: Kosaraju算法和Tarjan算法详解
  • mac相关命令
  • 代码随想录算法训练营第六天| 242.有效的字母异位词 、349. 两个数组的交集、202. 快乐数 、1. 两数之和
  • dify实现分析-rag-关键词索引的实现
  • 【小白学HTML5】一文讲清常用单位(px、em、rem、%、vw、vh)
  • Fastgpt学习(5)- FastGPT 私有化部署问题解决
  • ubuntu下安装TFTP服务器
  • 深入解析 iText 7:从 PDF 文档中提取文本和图像
  • Rust编程语言入门教程 (六)变量与可变性
  • 事务--实操演示