zoukankan      html  css  js  c++  java
  • 西邮linux兴趣小组2014纳新免试题(三)

    【第三关】

    题目


    http://sortsth.sinaapp.com/

    分析


    查看网页源码,得知题目让找出6种排序算法,每次刷新或提交序列都变化。

    15种算法清单:

    CountingSort        计数排序 
    TournamentSort      锦标赛排序(树形选择排序)
    RadixSort           基数排序
    BinaryTreeSort      二叉树排序
    HeapSort            堆排序
    TopologicalSort     拓扑排序
    CocktaiSort         鸡尾酒排序(双向冒泡排序)
    SelectionSort       选择排序    
    QuickSort           快速排序
    PigeonholeSort      鸽巢排序
    BucketSort          桶排序    
    MergeSort           归并排序  
    ShellSort           希尔排序  
    BubbleSort          冒泡排序    
    InsertionSort       插入排序    

    最初想法是实现上述算法,然后得到每种算法的排序过程。

    观察POST提交的表单

    key是一组MD5信息摘要,猜测与排序算法序号一一对应。

    每次变化的是序列,排序算法编号,那么可以猜测答案是存储在数据库中的,尝试SQL注入password字段,未果。

    那么可以穷举某一key的password字段。

    选取一个题目

    Original: v9x3nejH     Sorted: 39Hejnvx
    9v3nejHx
    3vx9nejH
    39xvnejH
    H9j3nevx
    39vHnejx
    39ejHxvn

    获取排序算法编号:

    0.MergeSort 1.BubbleSort 2.RadixSort 3.PigeonholeSort 4.QuickSort 5.ShellSort 6.CocktaiSort 7.TournamentSort 8.InsertionSort 9.BinaryTreeSort 10.BucketSort 11.TopologicalSort 12.CountingSort 13.HeapSort 14.SelectionSort

    Key:b3beee912044ac70ff6739da05f98516

    经过尝试,发现6个序列的第一个是冒泡排序,第五个是鸡尾酒排序。

    字典正则表达式1[0-14][0-14][0-14]6[0-14]

    字典大小应为15*15*15*15=50625

    用burpsuite跑十分钟左右,得到下面结果

    1148465即为该Key对应的排序算法编号序列

    该序列排序算法应为:冒泡,选择,插入,快速,鸡尾酒,希尔

    经过多次尝试,发现上面排序算法顺序不变,只是每次算法编号不同。

    http://findakey.sinaapp.com/即为第四关

  • 相关阅读:
    Leetcode 233 Number of Digit One
    获取各种常见形状的位图
    关于编程
    LintCode-第k大元素
    基于IBM Bluemix的数据缓存应用实例
    LeakCanary:简单粗暴的内存泄漏检測工具
    MFC,C++,VC++,VS2010 之间究竟是什么关系
    我对高考考场制度(比方是否同意迟到、忘带考证、上厕所)优化的点滴思考,不一定非常有道理
    ural 1989(树状数组+多项式hash)
    TI C66x DSP 系统events及其应用
  • 原文地址:https://www.cnblogs.com/rainmote/p/4160552.html
Copyright © 2011-2022 走看看