LoRexxar's Blog

LoRexxar's Blog

热爱电子竞技的Web弱渣/Vidar-team/知道创宇404Team

HCTF2018部分Web题目Writeup

HCTF2018在出题的时候其实准备了一个特别好的web题目思路,可惜赛前智能合约花了太多时间和精力,没办法只能放弃了之前的web题,在运维比赛的过程中,我发现学弟出的一些题目其实很有意思值得思考。

HCTF2018智能合约两则Writeup

这次比赛为了顺应潮流,HCTF出了3道智能合约的题目,其中1道是逆向,2道是智能合约的代码审计题目。

ez2win是一份标准的合约代币,在一次审计的过程中我发现,如果某些私有函数没有加上private,可以导致任意转账,是个蛮有意思的问题,但也由于太简单,所以想给大家opcode,大家自己去逆,由于源码及其简单,逆向难度不会太大,但可惜没有一个人做出来,被迫放源码,再加上这题本来就简单,重放流量可以抄作业,有点儿可惜。

bet2loss是我在审计dice2win类源码的时候发现的问题,但出题的时候犯傻了,在出题的时候想到如果有人想用薅羊毛的方式去拿flag也挺有意思的,所以故意留了transfer接口给大家,为了能让这个地方合理,我就把发奖也改用了transfer,结果把我预期的重放漏洞给修了…

bet2loss这题在服务端用web3.py,客户端用metamask+web3.js完成,在开发过程中,还经历了metamask的一次大更新,写好的代码忽然就跑不了了,换了新的api接口…简直历经磨难。

这次比赛出题效果不理想,没想到现在的智能合约大环境有这么差,在之前wctf大师赛的时候,duca出的一道智能合约题目超复杂,上百行的合约都被从opcode逆了出来,可这次没想到没人做得到,有点儿可惜。不管智能合约以后会不会成为热点,但就目前而言,合约的安全层面还处于比较浅显的级别,对于安全从业者来说,不断走在开发前面不是一件好事吗?

下面的所有题目都布在ropsten上,其实是为了参赛者体验好一点儿,毕竟要涉及到看events和源码。有兴趣还可以去看。

“以太坊智能合约编码隐患”影响分析报告

经历了历时2个月伴随着HaoTian的开发,最后一份扫描总算完成了,HaoTian的雏形也基本完成了。在这篇扫描报告告一段落之后,会把之前攒的一些web思路发出来,好久没发web的文章了:>

智能合约游戏之殇——Dice2win安全分析

Dice2win是目前以太坊上很火爆的区块链博彩游戏,其最大的特点就是理论上的公平性保证,每天有超过1000以太币被人们投入到这个游戏中。

Dice2win官网

Dice2win合约代码

dice2win的游戏非常简单,就是一个赌概率的问题。
image.png-570kB

就相当于猜硬币的正面和反面,只要你猜对了,就可以赢得相应概率的收获。

这就是一个最简单的依赖公平性的游戏合约,只要“庄家”可以保证绝对的公正,那么这个游戏就成立。

2018年9月21日,我在《以太坊合约审计 CheckList 之“以太坊智能合约编码设计问题”影响分析报告》中提到了以太坊智能合约中存在一个弱随机数问题,里面提到dice2win的合约中实现了一个很好的随机数生成方案hash-commit-reveal

2018年10月12日,Zhiniang Peng from Qihoo 360 Core Security发表了《Not a fair game, Dice2win 公平性分析》,里面提到了关于Dice2win的3个安全问题。

在阅读文章的时候,我重新审视了Dice2win的合约代码,在第一次的阅读代码中,我着重寻找了攻击层面的问题,忽略了合约方可能会存在的问题,而且在上次的阅读中对Dice2win的执行流程有所误解,而且Dice2win也在后面的代码中迭代更新了Merkle proof功能,这里我们就重点聊聊这几个问题。

“以太坊智能合约编码设计问题”影响分析报告

以太坊智能合约是以太坊概念中非常重要的一个概念,以太坊实现了基于solidity语言的以太坊虚拟机(Ethereum Virtual Machine),它允许用户在链上部署智能合约代码,通过智能合约可以完成人们想要的合约。

这次我们提到的编码设计问题就和EVM底层的设计有很大的关系,由于EVM的特性,智能合约有很多与其他语言不同的特性,当开发者没有注意到这些问题时,就容易出现潜在的问题。

智能合约checklist系列文章:

“以太坊智能合约规范问题”影响分析报告
“以太坊智能合约设计缺陷问题”影响分析报告
“以太坊智能合约编码安全问题”影响分析报告

blockwell.ai 虚假转账 事件分析

一、背景

2018年9月7日早上1点左右,许多以太坊账户都收到了一种名为blockwell.ai KYC Casper Token转账消息,其中有的是收到了这种代币,而有的用户是支出了这种代币。

image.png-174.9kB

image.png-24.2kB

得到的用户以为受到了新币种的空投,满心欢喜的打开之后发现并没有获得任何代币。转出的用户着急打开钱包,以为是钱包被盗转走了代币,实际上却毫无损失。

在回过神来看看代币的名字,忍不打开blockwell.ai查看原因,一次成功的广告诞生了。

“以太坊智能合约编码安全问题”影响分析报告

这篇扫描报告其实算是一片比较特殊的文章,因为这是checklist唯一被我直接标记为安全问题的一类,其中很多问题虽然特征明显,但修复逻辑却千变万化,所以统计数据一直波动很大,犹豫了很久才发出来,图片的很多涉及到的合约并不一定真的存在问题,但仍然值得注意。

智能合约checklist系列文章:

“以太坊智能合约规范问题”影响分析报告
“以太坊智能合约设计缺陷问题”影响分析报告

“以太坊智能合约规范问题”影响分析报告

最近工作的重点在智能合约上,不仅是整理checklist,还有一个智能合约的自动化审计平台,阅读了比较多的合约代码,我发现,一些开发者在开发过程中的问题,可以算是很典型的一类问题,其实很多不能算是有很大的危害,但确实不得忽视的一个大问题。

wctf2018 cyber mimic defence Writeup

今年有幸作为新人赛中的一员参加了Wctf2018大师赛,比较难过的是,由于Wctf本身使用战争与分享赛制,却要求了每队必须出一道windows题目,大部分人都选择了内核驱动级别的re和pwn,只有LCBC出的“拟态防御”和智能合约审计可以一做,关于智能合约的部分有机会会再分享,这里只研究一下mimic这题。

RCTF2018 Web Writeup

RCTF刚好赶上了完成毕设的时间,没办法只接触了部分题目,可惜的是,其中很多题目都不是特别有意思,这里只整理部分我参与的..

TCTF/0CTF2018 h4x0rs.space Writeup

TCTF/0CTF中的压轴题目,本来可以在题目还在的时候研究的,无奈又因为强网杯的事情又拖了好几天,今天才整理出来,整个题目的利用思路都是近几年才被人们提出来的,这次比赛我也是第一次遇到环境,其中关于Appcache以及Service Worker的利用方式非常有趣,能在特殊环境下起到意想不到的作用。

下面的Writeup主要来自于

https://gist.github.com/masatokinugawa/b55a890c4b051cc6575b010e8c835803

TCTF/0CTF2018 部分Web Writeup
ezdoor题目上来就是代码审计,先看看代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475<?phperror_reporting(0);$dir = 'sandbox/' . sha1($_SERVER['REMOTE_ADDR']) . '/';if(!file_exists($dir)){ mkdir($dir);}if...
TCTF/0CTF2018 XSS bl0g Writeup

刚刚过去的TCTF/0CTF2018一如既往的给了我们惊喜,其中最大的惊喜莫过于多道xss中Bypass CSP的题目,其中有很多多应用于现代网站的防御思路,其中的很多利用思路非常精巧,值得研究,所以这里我把xss题目单独出来博文,因为它们值得更多关注!

ps:writeup会在我复现整理完后不断分享出来…

强网杯2018 Web writeup
现在人老了,不仅ctf不想打了,写wp也想偷点懒,下面的writeup就从简完成了,如果有问题可以直接问我看看。 Webshare your mind一道挺迷的xss题目,开始做题的时候拐入了一个神奇的非预期。 基础的思路挺明确的,首先需要找个以当前域下的self-xss,然后发送给管理员,bot访问然后进一步… 首先就需要找到一个xss点,由于写文章的点经过html过滤,尖括号被转义了,再加上第一个提示说后台bot使用了phjs做浏览器,所以提出了一个想法,phjs有什么和普通浏览器不同的点,然后就被带入歧途了。 在盲测payload的时候,这样的一个payload收到了返回1http...
avatar
LoRexxar
带着对技术的敬畏之心成长,不安于一隅...