ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

r00tCTF2022新生赛赛后整理

2022-05-26 19:01:54  阅读:185  来源: 互联网

标签:false 可以 新生 r00tCTF2022 js window 源码 赛后 页面


r00t新生赛赛后整理

EZF12

很好...我以为这题很简单的,原来是我大聪明了(虽然确实不难)

js源码里设置了打开dev工具就跳转页面(虽然没看懂怎么实现的),同理右键F12都无法使用,Burp发包可以得到源码的回显,curl无法直接得到回显,但是可以 curl -o 123.html url 下载目标网页,然后改成txt查看就行;

因为是用js写的,直接禁用js也可以解决;

view-source:URL 可以直接查看目标URL的网页源码;选中地址框按 Ctrl + U 也可以新开一个源码页面;

<script>
  document.oncontextmenu = function (e) {
    e.preventDefault(); // 阻止默认事件行为  
    window.event.returnValue = false;
    // alert("右键被禁用啦QvQ");
    return false;
  };
  document.onkeydown = function (e) {
    e.preventDefault(); // 阻止默认事件行为  
    window.event.returnValue = false;
    e.returnValue = false;
    return false;
  }
  var threshold = 160; // 打开控制台的宽或高阈值  
  // 每秒检查一次  
  window.setInterval(function () {
    if (window.outerWidth - window.innerWidth > threshold || window.outerHeight - window.innerHeight > threshold) {
      // 如果打开控制台,则跳转页面
      window.location.assign("http://r00team.cc")
    }
  }, 0.00001);
</script>

PokemonMaster

师傅们太强了,从一个开发者的视角确实了解到了很多安全知识

chrome文件替换可以在线修改源码中的js文件,替换成自己的,从而直接修改一些属性达到作弊的目的,另外下断点也可以调试js文件,断点会将局部变量的值显示出来,可以直接查看或修改(VSC中调试C++程序也是类似效果)

ezSQL

直接输入"username"与"password"也能登录,后台用的是Sqlite,传进去的内容是双引号包裹,默认是查找标识符,当查找不到的时候为了兼容会视为字符串查找名称,而后台程序设计时就是包裹的双引号,所以会有这个洞,只有单引号才是真正意义上被视作字符串

旅途中的收获

提供一个简单替换密码的工具网站:Keyed Caesar cipher,甚至能全自动解决,不需要密钥;还有一个万能的解决替换密码的工具:quipqiup

EatPudding

见识到有大佬用劫持了后台用于生成下落块的 random() 函数使得其必定生成在同一位置,然后写脚本连点器作弊刷得极高的cps(有20多)得到flag,很有想法。

Strange XSB

重新整理思路,最低位有flag的前半段,后半段有噪点导致无法看清,所以想到用原图与该图异或得到flag图像(过滤噪点的影响),python的图像处理库需要学学,看的并非很懂

I'm not a robot

补充JWT的思路,JWT(Json Web Token)可以在 jwt.io 分析,JWT是不同于session的另一种认证方式:image-20220526181934242

可以发现jwt分为三段,由标志性的两个点号分割,第二段是"payload",第三段是密码(本题不需要base64解码),将n改为500,正确的密码输入进去后得到新的cookie,覆盖掉原有的cookie,直接刷新页面就可以更新状态(前提是密码是对的啦),或者提交也可以更新状态,其中上传的答案是固定的"problem",因此需要先确定problem是哪张图片,输入其验证码才可以通过检测。爆破验证码需要用到python的jwttools库来处理。

find the flag

提示了使用的是fastAPI,文档的"feature"栏目中提到有入口可以直接调试页面:image-20220526182608759

因此本题也可以通过访问该页面解决,但是直接访问是没反应的,会出现一个空白页面,打开源码会发现它请求了另一个URL:

image-20220526184023175

直接访问这个json文件("http://81.69.243.226:30001/openapi.json")就能得到原有页面的信息:image-20220526184121976

留言板

除了XSS也可以用布尔盲注解决,留个坑(前面的知识以后再来学习吧~)

标签:false,可以,新生,r00tCTF2022,js,window,源码,赛后,页面
来源: https://www.cnblogs.com/Forest-set-you/p/16314569.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有