护网杯部分writeup

签到

拿到

AAoHAR1WX1VQVlNVU1VRUl5XXyMjI1FWJ1IjUCQnXlZWXyckXhs=

提示是异或,没想到的是和多少异或,所以签到也卡了半天,写脚本测试:

每一位和0~105异或的时候可以得到flag:

flag{09360535374819EEE70A4E6BA8009AB8}

Web

一、EASY_TORNADO

在hint.txt得到了signature的算法为

md5(cookie_secret + md5(filename))

有在flag.txt里得到了flag文件为/fllllllllllag,那思路很明确就是算出signature,然后读取/fllllllllllag文件里的内容就可以,其中cookie_secret是未知的,通过/error?msg={{globals}} 可以发现msg参数存在ssti

接下来就是爬坑的半天,下意识以为

cookie_secret是在cookie里,打了半天的

cookie,都不知道该调用什么函数来做了…… 然后在handle.setting中发现了cookie_secret

拿到cookie_secret就简单了,写一个计算

signature的php代码:

计算得出signature,直接访问payload:

/file?filename=/fllllllllllag&signature=240eaef73c2f70d5e30051d91417a18c

二、ITSHOP

这题懵了好久,半天没有思路的。首先发现可以条件竞争因为要5包大辣条才可以换1包辣条之王,而只给了买4包的钱,那么要么通过伪造数据,要么就是条件竞争用5元买多包辣条了......这个逻辑没毛病,各种伪造测试不通,就尝试条件竞争,用brupsuit多线程跑,把线程设置大一些

用brupsuit多开几个爆破就可以买到超过4包数量的大辣条

第二点是整数溢出,毕竟想要条件竞争得到9999999*5包大辣条不太可能,所以要么伪造数据,要么就是整数溢出,各种尝试伪数据出不成功,所以就尝试整数溢出,数字最大为

0XFFFFFFFFFFFFFFFF,所以0XFFFFFFFFFFFFFFFF + 1 就可以溢出,又5包大辣条换一包辣条之王,所以可以换的辣条之王的最大值应该是0XFFFFFFFFFFFFFFFF/5 所以批量换的数量为0XFFFFFFFFFFFFFFFF/5 + 1 转化为整数为3689348814741910324

成功溢出换的*********(用不完的)数量,直接兑换Flag:

本文分享自微信公众号 - 无级安全(wujisec),作者:Cycle

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-14

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MetInfo 6.0.0反馈管理页面存储XSS(CVE-2018-7721)分析

    说明:MetInfo 6.0.0中的跨站点脚本(XSS)漏洞允许远程攻击者注入任意Web脚本或HTML

    用户5878089
  • 玩 中国科学技术大学第五届信息安全大赛(writeup)

    https://soha.moe/post/ustc-ctf-2018-writeup.html#title2-index-22

    用户5878089
  • 序列化了解一下

    对象调用某个方法, 若方法存在,则直接调用; 若不存在,则会去调用__call函数

    用户5878089
  • 如何创建一个自定义的`ErrorHandlerMiddleware`方法

    在本文中,我将讲解如何通过自定义ExceptionHandlerMiddleware,以便在中间件管道中发生错误时创建自定义响应,而不是提供一个“重新执行”管道...

    依乐祝
  • 自定义类加载器加载过Class文件被替换后如何生效

    这篇文章是在上一篇文章的基础上进行补充。写这篇文章的原因是因为在今天的面试中,聊到自己小程序后台在线编辑代码,其中涉及到防止非必要重启,我使用自定义类加载去加载...

    每天学Java
  • WCF技术剖析之二十一:WCF基本异常处理模式[下篇]

    从FaultContractAttribute的定义我们可以看出,该特性可以在同一个目标对象上面多次应用(AllowMultiple = true)。这也很好理...

    蒋金楠
  • java数组的另一种用法

    每一个enum实例,一个不同的子类 你可以重载一个enum实例的方法。这将高效的给一个enum的实例一个自己的实现。

    用户5166556
  • node配置自动监测文件改变不重启

    方法一: nodemon npm install -g nodemon nodemon ./bin/www 或者在npm start命令里把node改为nod...

    蓓蕾心晴
  • 分布式内存数据库新架构,极速OLTP应用新利器

    内容来源:2018 年 11 月 10 日,Oracle 数据库首席产品经理杨琳在“2018 SOUG年度数据库技术峰会”进行《Oracle TimesTen ...

    IT大咖说
  • 优化算法——牛顿法(Newton Method)

    一、牛顿法概述     除了前面说的梯度下降法,牛顿法也是机器学习中用的比较多的一种优化算法。牛顿法的基本思想是利用迭代点 ? 处的一阶导数(梯度)和二阶导数(...

    zhaozhiyong

扫码关注云+社区

领取腾讯云代金券