zctf web100的简单分析

zctf web100的简单分析

From ChaMd5安全团队核心成员 Pcat

web100

xctf2017第二站的zctf,web100的链接点开之后,只看到ha?一个

作为ctf的web第一题,题目简介是“简单点”,那么先查找源代码、header等信息,没发现什么有用的,于是直接上简单的扫描器,扫到了一个1.php,进去后是phpinfo();的界面

翻阅一番后没发现什么,估计是个坑。于是回到index.php,继续看那个ha?,按以往经验,ctf的web题一部分是有源码的(让人可以源码审计,不然纯黑盒测试就太难了),所以先尝试常见的源码备份,幸运的是访问.index.php.swp(最前面有一个点,表示是隐藏文件,.swp文件是因为vi不正常退出产生的)有效,右键查看源码即可得到如下源码。

源码分析如下:

1. get提交flag参数

2. flag中不能等于15562

3. flag中要包含zctf字样

4. md5(flag)的中间16位要跟md5(15562)中间16位相等

(php的substr(string,start,length)相当于python的string[start:start+length])

只要满足以上提交就可以得到flag

前3点都简单,关键是第4点,要md5相同,那么我们先算15562的md5值,45961dd50e46379442318098474e0ced ,中间16位是0e46379442318098

这个0e46379442318098很特别,0e开头,跟着14个数字,在php弱类型转换中,可以转换为0(0e这种可以视为数字的科学计算法)

所以一个思路就是我们也找一串字符串,包含zctf字样,然后其md5值的中间16位以0e开头,并且后面带着14位数字(不能含a-f十六进制的,0e头跟0x头不同)

依照这个思路,我编写了如下的py文件

代码中建议用re.match来匹配0e字符串就简单,其他的只要符合刚才分析的思路即可,运行后得到的值(不管多长,我们这里没追求优化),get提交即可得到flag。

原文发布于微信公众号 - ChaMd5安全团队(chamd5sec)

原文发表时间:2017-02-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爱好者

Java基础笔记01

29760
来自专栏编程

一行 Python 代码实现并行

译者:caspar 译文:https://segmentfault.com/a/1190000000414339 原文:https://medium.com/b...

28990
来自专栏云计算教程系列

如何在Python 3中安装pygame并创建用于开发游戏的模板

Pygame库是专门为了帮助您做出的游戏和其他多媒体应用Python编程语言的一个开放源代码模块。pygame 构建于高度可移植的SDL(Simple Dire...

80720
来自专栏java学习

学习java需要会哪些知识才能够去应聘工作?

按照我去培训机构的学习经历,给初学还有自学Java 的同学一个基本的学习脉络,希望对大家有帮助。 不建议找到一本书死啃,没啥用,不要有这一页看不明白我就不往下看...

327100
来自专栏java学习

学习java需要会哪些知识才能够去应聘工作?

Java基础 | 数据库 | Android | 学习视频 | 学习资料下载 按照我去培训机构的学习经历,给初学还有自学Java 的同学一个基本的学习脉络,希望...

38460
来自专栏Golang语言社区

channel机理及调度理解

《Go语言编程》一书介绍了libtask库,可以认为这个库等同于go的底层goroutine实现。

11430
来自专栏王清培的专栏

WebAPi的可视化输出模式(RabbitMQ、消息补偿相关)——所有webapi似乎都缺失的一个功能

最近的工作我在做一个有关于消息发送和接受封装工作。大概流程是这样的,消息中间件是采用rabbitmq,为了保证消息的绝对无丢失,我们需要在发送和接受前对消息进行...

25990
来自专栏Spark学习技巧

Flink流式处理概念简介

一,抽象层次 Flink提供不同级别的抽象来开发流/批处理应用程序。 ? 1,stateful streaming 最底层。它通过Process Functio...

55260
来自专栏ytkah

群用户通过微信小程序可以更好地协作了

  今天,小程序向开发者开放了群ID的接口能力。简单地说,就是当你把小程序分享在群聊中,被点击后开发者可获取群ID和群名称,也方便更好地针对群场景提供个性化服务...

52550
来自专栏美码师

完美数据迁移-MongoDB Stream的应用

最近微服务架构火的不行,但本质上也只是风口上的一个热点词汇。 作为笔者的经验来说,想要应用一个新的架构需要带来的变革成本是非常高的。

33320

扫码关注云+社区

领取腾讯云代金券