【第三关】

题目


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/即为第四关

西邮linux兴趣小组2014纳新免试题(三)的更多相关文章

  1. 西邮linux兴趣小组2014纳新免试题(五)

    [第五关] 题目 http://final5.sinaapp.com/ 关注西邮Linux微信平台,得到一个名为a的文件 分析 分析文件a 需要反汇编,拿IDA上,打开后发现key_function及 ...

  2. 西邮linux兴趣小组2014纳新免试题(一)

    [第一关] 题目 0101001001100001011100100010000100011010000001110000000011001111100100000111001100000000000 ...

  3. 西邮linux兴趣小组2014纳新免试题(四)

    [第四关] 题目 http://findakey.sinaapp.com/ Example: String1:FFFF8 5080D D0807 9CBFC E4A04 24BC6 6C840 49B ...

  4. 西邮linux兴趣小组2014纳新免试题(二)

    [第二关] 题目 http://round2.sinaapp.com/ 分析 打开后,戳进去发现一句名言,然后下一戳的url提示. 在网页源码中得到Page1024提示,于是写一个脚本 #!/bin/ ...

  5. 西邮Linux兴趣小组2014级免试挑战题

    原文链接:西邮Linux兴趣小组2014级免试挑战题 又到了小组纳新的季节^_^,时间过的真快! 想起去年这会儿自己做免试题的时候根本找不着北@_@  有幸今年能够在这里和大家分享免试挑战题,也正如我 ...

  6. 西邮Linux兴趣小组2014级免试挑战题 (续)

    在上一篇的博客中已经解到第四关了,现在继续挑战-- [ 第四关] 在上一关解压成功后,生成了一个file文件.用vim的二进制格式打开,转成十六进制,发现文件头格式如下: 是个以ELF字符开头的文件, ...

  7. 西邮Linux兴趣小组2016免试题

    4.28的宣讲会圆满结束(就在写这段话之前不久),对于西邮Linux兴趣小组这一次纳新,身为局外人表示:还是有历史,还是会玩,还是厉害哈. 华丽的分割线里面是自己之前的攻关战略,最后补充了宣讲会上学长 ...

  8. 优客源创会 西安站 西邮Linux兴趣小组

    2016年5月19日晚7:00,优客源创会西安站在西安邮电大学长安校区东区教学楼FF305如期举行,西安邮电大学计算机学院教授.西邮Linux兴趣小组指导老师陈莉君.王小银老师和来自开源中国的周凯先生 ...

  9. 2016西邮Linux兴趣小组大事记

    2016年还有半个小时就结束了,前面把自己9月做的规划拿出来完善了下,觉得真的是不容易的一年,所有的事情只有自己经历过才会有不一样的感受,世上无难事,只怕有心人. 这是我九月份制定的计划: 下面是20 ...

随机推荐

  1. 【转载】webstorm11(注册,激活,破解,码,一起支持正版,最新可用)(2016.11.16更新)

    很多人都发现 http://idea.lanyus.com/ 不能激活了 很多帖子说的 http://15.idea.lanyus.com/ 之类都用不了了 最近封的厉害仅作测试 选择 License ...

  2. DOM+面向对象面试题

    1.dom常见的节点类型---------------------------解彬1510-B 1.nodeType------节点类型,元素节点是1,文本节点是3. 2.firstChild---- ...

  3. log4j源码解析

    前言:本文将在slf4j的基础上解释log4j的应用,阅读本文前可先行阅读SLF4J源码解析-LoggerFactory(二) 前言概要 在前言中提到的slf4j的基础,其主要是通过logback的a ...

  4. Extjs:添加查看全部按钮

    var grid =new Ext.grid.GridPanel({ renderTo:'tsllb', title:'产品成本列表', selModel:csm, height:350, colum ...

  5. 自己动手写java 字节流输入输出流

    数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流.   "流是磁盘或其它外围设备中存储的数据的源点或终点." ...

  6. mapreduce运行机制

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt243 谈mapreduce运行机制,可以从很多不同的角度来描述,比如说从ma ...

  7. spring cloud+docker 简单说一说

    spring boot 微服务开发工具 spring cloud 微服务框架治理工具集 这么做: 1.搭建spring cloud 基础组件(服务发现,服务注册,服务配置,监控,追踪,API网关) 以 ...

  8. poj 3522 Kruskal

    题意:求图的一个生成树使其最大边权与最小边权的差值最小,求其最小值 思路:利用贪心思想,先对边进行排序,然后从最小边开始枚举,每次进行kruskal向右加入边,若加入边刚好能遍历所有点,记录最后加入的 ...

  9. 转:面向切面编程AOP的理解

    AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.OOP引入 ...

  10. 转:【Java并发编程】之九:死锁(含代码)

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17200937 当线程需要同时持有多个锁时,有可能产生死锁.考虑如下情形: 线程A当前持有互 ...