比赛平台关闭了,没有截图,见谅。
 
解题思路流程:
分析网站结构,看源码,元素审计。发现以下信息。
  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 : 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 : fi //valid domain ext
    ſt : st //valid domain ext
    st : st //valid domain ext

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

[rctf](web)rcdn 解题分析,知识点总结的更多相关文章

  1. 使用 Web Tracing Framework 分析富 JS 应用的性能

    来自谷歌的 Web Tracing Framework 包含一组工具和脚本,用于 JavaScript 相关代码的性能分析.它是重 JavaScript 应用程序的理想选择,而 JavaScript ...

  2. 利用WebBrowser实现Web打印的分析

    原文:利用WebBrowser实现Web打印的分析 WebBrowser是IE内置的浏览器控件,无需用户下载.本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容.其他版本的IE应该也 ...

  3. Web前端-CSS必备知识点

    Web前端-CSS必备知识点 css基本内容,类选择符,id选择符,伪类,伪元素,结构,继承,特殊性,层叠,元素分类,颜色,长度,url,文本,字体,边框,块级元素,浮动元素,内联元素,定位. 链接: ...

  4. web开发前端面试知识点目录整理

    web开发前端面试知识点目录整理 基本功考察 关于Html 1. html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化 2. h5中新增的属性; 如自定义属性data, ...

  5. 转 web前端性能分析--原理篇

    转自http://blog.csdn.net/five3/article/details/7686715 web前端性能: 即是web用户在访问一个页面时所要花费的时间总和.即一个完全意义上的用户响应 ...

  6. mvc结合web应用实例分析

    Mvc的web应用实例分析 Login.jsp——视图部分的输入文件success.jsp——视图部分的输出文件failure.jsp——视图部分的输出文件LoginBean.java——模型部分Lo ...

  7. Web会话安全分析工具ProxyStrike

    Web会话安全分析工具ProxyStrike   在Web应用中,客户端发出一次请求,服务器响应一次.这构成一个完整的会话.通过分析请求和响应的数据,可以发现Web应用存在的漏洞.Kali Linux ...

  8. 转: 三大WEB服务器对比分析(apache ,lighttpd,nginx) (2008年的旧文,仅供参考之用)

    from:  http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 三大WEB服务器对比分析(apache ,lighttp ...

  9. 1+x 证书 Web 前端开发 MySQL 知识点梳理

    官方QQ群 1+x 证书 Web 前端开发 MySQL 知识点梳理 http://blog.zh66.club/index.php/archives/199/

随机推荐

  1. java 基础知识八 正则表达式

    java  基础知识八  正则表达式 正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待 ...

  2. 使用react native制作的一款网络音乐播放器

    使用react native制作的一款网络音乐播放器 基于第三方库 react-native-video设计"react-native-video": "^1.0.0&q ...

  3. 和我一步步部署 kubernetes 集群

    和我一步步部署 kubernetes 集群 本系列文档介绍使用二进制部署最新 kubernetes v1.6.1 集群的所有步骤,而不是使用 kubeadm 等自动化方式来部署集群: 在部署的过程中, ...

  4. 在SQL Server中用好模糊查询指令LIKE

    简介:like在sql中的使用 在SQL Server中用好模糊查询指令LIKE 查询是SQL Server中重要的功能,而在查询中将Like用上,可以搜索到一些意想不到的结果和效果,like的神奇之 ...

  5. 使用Block传值

    使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值: 先说一下思想: 首先,创建两个视图控制器,在第一个视图控制器中创建一个UILabel和一个UIButto ...

  6. Extjs6(三)——用extjs6.0写一个简单页面

    本文基于ext-6.0.0 一.关于border布局 在用ext做项目的过程中,最常用到的一种布局就是border布局,现在要写的这个简单页面也是运用border布局来做.border布局将页面分为五 ...

  7. 生肖年(switch练习)

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. windows下nodejs安装及配置

    1)在 http://nodejs.org/download/下载一个window的安装包 2)运行安装包,设置安装路径,如安装到D:\nodejs,安装后会自动将d:\nodejs添加到系统变量pa ...

  9. <JAVA>可变参数列表

    这是java1.5版本的新特性,就是当你想定义一个方法,但是不知道以后要用的时候传几个参数进去,这时可以在方法的参数列表中这样写(参数类型... 数组名),然后在方法内部直接用操作数组的方式操作.比如 ...

  10. 利刃 MVVMLight 8:DispatchHelper在多线程和调度中的使用

    在应用程序中,线程可以被看做是应用程序的一个较小的执行单位.每个应用程序都至少拥有一个线程,我们称为主线程,这是在启动时调用应用程序的主方法时由操作系统分配启动的线程. 当调用和操作主线程的时候,该操 ...