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

jarvis OJ web浅析

Jarvis OJ是一个综合性的在线编程竞赛平台,提供了多种挑战环节以测试参赛者的技能。其中,Jarvis OJ-WEB部分强调了平台的安全性,特别是对访问控制的设置。题目要求使用特定端口(PORT51-100)访问,参与者需利用Kali Linux等工具,通过控制源端口为51进行通信。在这个过程中,通过curl命令并指定本地端口51访问服务器,成功获取了flag,这展示了对网络协议和端口理解的应用。

Jarvis OJ-WEB部分的主要挑战

  1. 访问控制:要求使用特定端口访问,参与者需利用Kali Linux等工具,通过控制源端口为51进行通信。
  2. IP验证:服务器通过检查header中的X-FORWARDED-FOR字段来判断访问来源。参赛者需要通过伪造IP地址并绕过这种检测,例如使用SQL注入技术,通过构造带有特定字符串(如ffifdyop)的查询语句,实现了注入攻击以获取flag。
  3. 表单登录:涉及到表单登录,需要识别并利用MD5哈希函数的特性进行破解。由于true参数导致MD5返回原始16字符二进制格式,参赛者利用这个特性构造SQL注入语句,绕过了加密,成功拿到flag。
  4. 图像隐藏和文件读取:此部分涉及图像隐藏和文件读取。在showing.php中的图片被Base64编码,解码后发现名为shield.jpg的文件。进一步探索showimg.phpindex.php,通过F12开发者工具审计代码,最终在pctf.php中找到真正的flag。隐藏在源代码中的注释揭示了flag的内容。
  5. API调用:这部分挑战涉及API接口的理解和操作。抓包分析显示,API返回的是XML格式的信息,包含了一些预定义的结构。参赛者需要使用重发器修改Content-Type头,将其改为text/xml,以便正确解析XML文档并发现隐藏的flag。在XML文档中,flag的信息以注释形式存在,如<!--?php //TrueFlag... -->

总结

Jarvis OJ提供了丰富的安全测试场景,参赛者不仅需要扎实的编程基础,还需要对网络协议、加密算法、文件操作和HTTP请求头有深入理解,才能完成各种挑战并获取flag。


http://www.kler.cn/a/350369.html

相关文章:

  • STM32-串口-UART-Asynchronous
  • 【Spring】定义的Bean缺少隐式依赖
  • ARCGIS国土超级工具集1.3更新说明
  • 【Linux】Linux入门(三)权限
  • 动态规划(多状态)
  • 免费为企业IT规划WSUS:Windows Server 更新服务 (WSUS) 之快速入门教程(一)
  • 微信小程序路由跳转的区别及其常见的使用场景
  • springboot-网站开发-linux服务器部署jar格式图片存档路径问题
  • 堆排序(C++实现)
  • MySQL 之LRU 缓存管理算法
  • ESP32-S3芯片AI开发应用,图像识别与语音唤醒方案,启明云端乐鑫代理商
  • 24/10/12 算法笔记 NiN
  • Linux10-9
  • Git 深度解析 —— 从基础到进阶
  • [哈工大]战德臣 数据库系统 第3讲 关系模型之基本概念
  • 【时时三省】(C语言基础)函数介绍strcat
  • p20 docker自己commit一个镜像 p21 容器数据卷 p22mysql同步数据(国内镜像被封锁暂时往后放)p23具名挂载和匿名挂载
  • 代码随想录算法训练营第五十五天| 图论入门
  • C#源码安装ZedGraph曲线显示组件
  • flutter 使用三方/自家字体
  • 深度学习:LSTM循环神经网络实现评论情感分析
  • 【rk3229 android10 多wifi模块兼容提示bt报错问题】
  • PHP cURL 教程
  • 从零实现llama3(学习)
  • PLM预训练语言模型Pre-trained Language Model
  • 【C#生态园】从身份认证到日志记录:C#开发必备库全面解析