[rctf](web)rcdn 解题分析,知识点总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[rctf](web)rcdn 解题分析,知识点总结相关的知识,希望对你有一定的参考价值。

比赛平台关闭了,没有截图,见谅。
 
解题思路流程:
分析网站结构,看源码,元素审计。发现以下信息。
  1. 要得到flag要获得一个pro cdn
  2. pro 子域名长度为3到6个字符
  3. 存在一个提交ticke页面
 
那怎么获取一个pro cdn呢?想到以下几种方法。
  1. 直接申请一个pro cdn
  2. 能不能把一个basic提升为pro
  3. 登录admin的账号,看里面是否有pro cdn
 
无从申请。
设计pro的操作时都提示不允许。
尝试注入,弱密码无效。
这些弄完了之后,思路卡壳,回到提交ticket那里。
十分肯定最后flag是ticket这里出来。
有长度在ticket页面尝试了一波爆破,可是无效,最多同时6个open。用子域名爆破工具还有google hack 都没能得到有用的。
这题自己做到这里,实现想不出来还有什么了。看writeup发现是知识盲区,学习一波。
 
 
知识点主要来自乌云的这篇文章:
参考writeup:
 
看完文章后在回到题目。最后正确的解题流程是:

 

  1. 不断申请basic,会生成随机的八个长度的子域名。申请的这些子域名会存在服务器后台的数据库里面。
  2. 对子域名的字符进行判断,看是否包含有那些unicode,两组以上,包含一组长度为7,两组为6。不包含则删除basic。这里要一个脚本爆破。

    ? : dz //valid domain ext
    ? : rs //valid domain ext
    № : no //valid domain ext
    ? : sm //valid domain ext
    ℡ : tel //valid domain ext
    ? : tm //valid domain ext
    ? : na // valid domain ext
    U+3377 : dm //valid domain ext
    ? : ma // valid domain ext
    ? : nf //valid domain ext
    ? : ml //valid domain ext
    ? : fm //valid domain ext
    ㎝ : cm //valid domain ext
    ? : ps //valid domain ext
    ? : ms //valid domain ext
    ? : pw //valid domain ext
    ? : mw //valid domain ext
    ㏄ : cc //valid domain ext
    ? : cd //valid domain ext
    ? : gy //valid domain ext
    ? : in //valid domain ext
    ? : ph //valid domain ext
    ? : pr //valid domain ext
    ? : sr //valid domain ext
    ? : fi //valid domain ext
    ? : st //valid domain ext
    ? : st //valid domain ext

  1. 如果发现有包含,则在ticket页面进行提交。提交的时候,比如:
假设申请的basic子域名为 23fdanapw ,这个子域名里面包含pw ,na,提交的时候我们提交 23fd?? 。 后台会进行两步判断。
一是判断是否在数据库,这两个在后台数据库是等价的,存在。
二是后台会模拟点击这个链接,用浏览器去判断,而浏览器对这个子域名的长度判断是6位,达到了pro长度的标准。就认为是pro,返回flag.
 
总结:
unicode的长度编码trick。
多看多搜乌云。
 
 


























以上是关于[rctf](web)rcdn 解题分析,知识点总结的主要内容,如果未能解决你的问题,请参考以下文章

RCTF 2018线上赛 writeup

RCTF2015 PWN400 分析

Buuctf——[RCTF2015]EasySQL

Buuctf——[RCTF2015]EasySQL

BUU-WEB-[RCTF2015]EasySQL

RCTF2021 ezshell