自学内容网 自学内容网

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。


原文地址:https://blog.csdn.net/waitaikong_/article/details/142959167

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!