自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 Defcon 2019 Qualify: redacted puzzle Writeup

文章目录Defcon 2019 Qualify: redacted-puzzle1.Attachments2.source code3.author: bboe4.writeups5.知识点5.1 图像模式5.2 pallete5.3 Python PIL包使用5.4 Base系列编码原理6 [Defcon 2020q uploooadit](https://github.com/o-o-overflow/dc2020q-uploooadit)总结Defcon 2019 Qualify: redacted

2021-04-26 18:23:21 275

原创 Defcon 2018 Qualify: Easy Pisy writeup

文章目录Defcon 2018 Qualify: Easy Pisy1. Source Code2. Writeup3. Info4. Analysis of Author4.1 janmasarik4.2 nneonneo (Robert Xiao)4.3 Marc Stevens4.4 Elie Bursztein (Google)5. 语言中的签名函数5.1 php5.1.1 [standards library](https://www.php.net/manual/zh/refs.crypto.p

2021-04-26 13:55:37 855 2

原创 Real Wolrd CTF 3rd Writeup | Easy Defi

题目环境架构EasyDefi是一道面向去中心化金融服务的智能合约题目。题目代码通过附件的形式给出。同时我们可以通过题目描述了解到ChaitinSwap的逻辑和Uniswap基本类似,只是更改了手续费比例。ChaitinBank听上去是某种提供了借贷服务的Defi项目,我们看一下代码:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NqtE0d3V-1616574227436)(https://s3.in.chaitin.net/hackmd/uploads/u

2021-03-24 16:28:42 371

原创 《Formal Analysis of Composable DeFi Protocols》组合型DeFi项目的形式化验证

前言Palina Tolmach的《组合型Defi项目的形式化验证》(Formal Analysis of Composable DeFi Protocols)论文原文链接如下https://arxiv.org/pdf/2103.00540.pdf论文尝试使用形式化验证的方法,分析Defi智能合约项目应符合的安全约束。 帮助项目开发人员进行自动化的安全审计。会翻译得口语一些;部分术语将不会翻译,比如Protocol、token、pool啥的;CSP#Process会翻译成动作而非行为或过程,因为

2021-03-22 12:05:34 303

原创 机器学习(2):模型评估

对生成的模型进行比较,以得到最好的训练结果。需要使用评估算法进行评估。评估算法分离训练数据集和评估数据集66.7% + 33.3%K折交叉验证分离把data分为K组,每组都单独做一次 validation_data弃一交叉验证分离data中的每一个数据,都做一次validation重复随机评估随机分组,作validation混淆矩阵相关图形分类错误率AccurancyPrecisionRecallF1-ScoreTPRFPRPRC曲线P

2021-03-14 21:28:25 87

原创 机器学习(1):特征选择

数据和特征 限定了机器学习性能的上限,优化 模型和算法 来逼近这个上限特征处理预处理特征选择降维特征选择的意义降低拟合度预测结果更精确减少模型训练时间无关的特征会降低魔性的额准确度,尤其是线性算法(线性回归算法、逻辑回归算法)特征选择的方法单变量特征选择递归特征消除 RFE主要成分分析 PCA特征重要性单变量特征选择卡方检验法相关系数法互信息法卡方检验法代码#coding=utf-8from pandas import read_csvfrom n

2021-03-12 16:17:03 123

原创 《思维导图》读书笔记

前言为了加强记忆,学习了《思维导图》一书。该书认为应当 使用 线条自然、横向、色彩绚丽、以图形表意 的 思维导图 来帮助记录知识点。我根据自己的需要,用思维导图记录了书中介绍的,高效记忆方法 和 问题分析方法高效记忆高效记忆的留个关键技巧 图中从12点方向逆时针分别是专注:全神贯注地做事,感受理解:对事件充分理解,感受细节重复:一段时间后重复记忆联动:离散的知识点之间联想。增强记忆感官:场景可以与感官联动。比如恋人的气味。情景:向知识点中加入故事情节。思考能力 提升对于一个

2021-03-11 00:23:47 181

原创 软件工程备考简答题总结

此版本复习提纲仅适用于 江苏大学陈雷老师班第一章 软件工程概述软件的特点无法观察物理形态在软件的开发过程、工程管理过程中渗透了大量的脑力劳动无磨损、老化需要在特定的计算机系统环境下运行有复用性软件工程的提出目的是:解决软件危机带来的诸多弊端控制开发成本在预期范围内交付满足用户需求的软件软件的功能可靠软件的品质优秀控制软件的开发时间软件易于维护目标、过程、原则目标:低成本、高品质、及时交付软件过程:基本过程、支持过程、组织过程原则:适宜的开

2020-12-28 17:04:40 481

原创 合约安全(4):为啥说UniswapK值不那么守恒

前言诶嘿,刚审计了个Swap项目,项目的Swap函数手续费收了两次…为了把问题描述的清晰一些,我仔细地追了一下swap中手续费的计算方法。于是机缘巧合的发现了Uniswap K值检查的奇妙,和我想象中的检查方式有些差别。本文做一个技术点的记录和分享。文章目录前言前置知识AMM的K值守恒问题发现为啥不是小于K值为啥还能大于K值总结碎碎念引用前置知识AMM的K值守恒在AMM中进行交易,遵循K值守恒原则,Swap前后的reverse乘积不变。详细兑换原理,可查看 uniswap解析与举例问题发

2020-11-02 23:28:07 411

原创 所有基于cosmos的区块链项目的测试网启动方法

Abstract基于cosmos框架的区块链项目,在启动脚本上都大同小异。这里做一下整理记录。方便后面的测试使用。genesis file formatinitserverd init --gen-txs --home=$HOME/.gaiad1 --chain-id=test-chaingentxserverd gentx --name validator --amount 1000000000ucsdtadd-genesis-accountserverd add-genesis-acc

2020-09-15 11:19:49 362

原创 GoFuzz自定义语料输入流程 记录

背景在使用gofuzz的过程中,发现自己输入的corpus好像没有被执行。遂审计一下代码,追踪一下输入的corpus的处理流程。正文在一次测试过程中,我输入的初始语料如下{"Name":"AjWwhT","Symbol":"HctcuA","TotalSupply":100}但进化出的可崩溃语料却是这些 ":" "{\"\"1" "{1" "{:" "\"\"," "\"\":" "

2020-08-22 00:03:55 380

原创 GoFuzz无法正常触发crash研究

Abstract在使用gofuzz测试的过程中。遇到明明很有问题、肯定能触发panic的语料,却没有生成对应的crash。怀疑自己的使用姿势不对,遂对其进行了研究。本文记录一下实验过程和结果。为了方便测试,设计了自定义Fuzz函数如下:通过测试panic是否会崩溃,来检查panic和return值之间的相关性。猜测1: 不同return的值 和 panic组合,可能产生不同结果。导致不panic在gofuzz中,Fuzz函数的return值有特殊的含义。return 1 : 表示这次测试

2020-08-21 13:28:11 361

原创 Ethereum DoS Attack on Teku Notes

Abstract前些日子,以太坊2.0开放了attack-net攻击网环境。白帽子们在此链上对新版本的ETH进行众测。7月27日,ETH官方确认了第一个漏洞(cy)。本文将该漏洞的issue翻译成中文,并学习一下漏洞的细节。Description该漏洞可导致Teku节点被DoS攻击,从而无法参与共识。这里说的Teku 是本文作者jrhea所在的安全团队的名字Attack scenario这个DoS攻击将持续影响链节点的一致性。等到攻击停止后,需要手动修复,ETH才能恢复运行。被攻击节

2020-08-17 19:46:09 309

翻译 一篇文章看不懂,如何使用AFL Fuzz Apache

原文地址intro笔者发现了Apache数组越界漏洞 CVE-2017-7668,漏洞的详情写在了笔者的博客中。博客中介绍了如何使用AFL来测试httpd服务。和Dominic先生交流之后,决定在这里再记录一下整个过程。文中涉及,代码审计、honggfuzz使用、radamsa使用、AFL工具使用Goal偶然遇到AFL,尝试后发现AFL只能测试stdin的输入。对于来自网络的输入则无能为力。于是我尝试对Apache进行测试,希望能找到测试Httpd Server端的办法总体思路有二:1、对于

2020-08-17 14:29:42 780

原创 GoFuzz模糊测试坑点

Abstract尝试使用 go fuzz 来测试程序,本文记录一下测试过程。其中遇到了一些新鲜的点,值得记录一下。1、国内下载安装gofuzz 的官方安装方法如下go get github.com/dvyukov/go-fuzz/go-fuzzgo get github.com/dvyukov/go-fuzz/go-fuzz-build但国内服务器可能无法正常下载。可以运行以下命令来手动安装gofuzzcd $GOPATH/src/github.com/dvyukov/git clon

2020-08-16 23:37:32 923

原创 星际争霸2 人族两船兵笔记

将 生产 计作 :将 移动 计作 -> 开局主基地:scv1scv1:补给站scv1:BB scv2:瓦斯 基地:scvwhen 瓦斯 is ready:scvs -> 瓦斯 BB:死神(1),枪兵(14)死神-> 地方基地when 150 矿:主基地:星轨when 400 矿:scv:二基地when 150 矿:scv:BB2 BB1:挂件 scv:补给站2,补给站3when BB2 快好了:scv:重工厂

2020-08-14 10:52:31 521

原创 APEX 压枪练习记录

背景在领导教育一番"做事要认真"后,周末的游戏也要认真玩一玩。练一下最喜欢的两把中远火力。喷火轻机枪喷火轻机枪 无弹匣 35发子弹,630点伤害35 -> 28,共126点伤害,向右下方向用力拉枪28 -> 25 , 累计180点伤害,向左 稍稍拉枪25 -> 11,累计432点伤害,向右下用力拉枪,最后11发,向左用力拉枪。R301卡宾枪R301卡宾枪 无弹匣 18发子弹,共252点伤害前14发子弹,196点伤害,用力向6点半方向拉枪最后4发子弹,向右稍稍收枪。

2020-08-13 23:27:21 1066

原创 PYRE 人物剧情 和 游戏技巧小结

相比《Transistor》,PYRE中的人物更多,性格各不相同,感情线更多了,这里做个小记录。笔者的救赎顺序:乔达里尔、鸟妹妹(非新夜翼)、Tizo、海蛇、赫得文、大树、恶魔奶爸(非新夜翼)为什么要回人间?:Reader:没兴趣、不想回赫得文:想女朋友了乔达里尔:回不回都行…狗哥: 回家找妈妈,还贷款,做生意养家。希望妈妈不要知道自己其实过得很不好…菲菲(野蛮人女孩,下文统一称为菲菲):人间也没人要我,在下届还有朋友,有著者,有远古知识。不愿意回人间。Tizo: 精灵本就该呆在下届,没必

2020-08-13 18:31:16 450

原创 合约安全(2):Bancor Network权限配置错误漏洞

Abstract2020年6月16日,BancorV2上线以太坊主网。2020年6月18日,Bancor Network团队发现了其BancorV2智能合约的安全漏洞。漏洞导致攻击者可盗取Bancor合约用户的资产。本文将介绍一下攻击的细节和这次安全事件的始末。漏洞原理本次安全事件一共涉及三个有漏洞的智能合约。0x8dfeb86c7c962577ded19ab2050ac78654fea9f70x5f58058C0eC971492166763c8C22632B583F667f0x923

2020-07-06 17:24:14 610

原创 合约安全(1):Balancer中通货紧缩货币的套利攻击详解

Abstract消息来源:2020.6.29 链闻看天下当红流动性挖矿 DeFi 项目 Balancer 如何被攻击?官方这么说文中简要描述了攻击发生时间和危害,没有详细描述漏洞细节。漏洞详细介绍可参考文章《Balancer Pool with STA Deflationary Token Incident》概念介绍滑点 slippage在买卖 token 时,期望的交易价格和实际支付的价格之间的差别,称之为交易滑点。流通池用户将资产转入交易平台之中获得收益,而在平台中的总资产额度,就构成

2020-07-05 16:41:13 665

原创 一篇文章看懂cosmos重委托漏洞

摘要Cosmos SDK 在 2019年 5 月底发现存在严重安全漏洞,该团队随后发布了补丁,并与全球验证人共同进行了升级,从收到漏洞报告到修复主网共用了72小时。攻击者可利用该漏洞绕过委托金赎回时的锁定时间。在介绍漏洞细节之前,先介绍一下cosmos的投票机制。staking:投票机制Cosmos中持币人可以将自己的货币委托给validator,当validator出块时,持币人获得收益。当持币人遇到了佣金更低、网络状态更好的validator,不想继续委托原来的validator时。可

2020-05-11 20:07:14 861

原创 okchain源码阅读1:宏观框架

摘要okchain作为okex的公链项目,功能面向交易所交易撮合。代码实现上,基于cosmos和tendermint两个框架来实现。这里记录一下他的实现的大概框架。公链项目链接是https://github.com/okex/okchain重点框架投票机制——一票多投涉及模块staking 投票质押逻辑distributionslashing 非法投票惩罚 ( 感觉这个会是审计重点opendex涉及模块ordertokendex投票机制创建validat

2020-05-11 13:10:05 496

原创 钱包安全:chrome插件中的钓鱼链接

摘要2020年4月15日 chrome下架了49款有恶意钓鱼行为的插件。4月19日phishfort 发表了一篇关于chrome 恶意插件的研究文章。这里做个记录攻击手段这些恶意插件的攻击手段比较简单。用户输入 钱包密码,钱包助记词后或其他敏感信息后,插件执行js,将隐私信息发送至攻击者的恶意网站server端。恶意的server端域名analytics-server296.xyzcoinomibeta.onlinecompletssl.comcxext.orgledger.pro

2020-05-11 13:07:44 803

原创 PBFT时间敏感性以及攻击方法

背景Andrew Miller 设计了新的共识 HoneyBadgerBFT,论文中提到了BFT共识严重依赖时序假设,所造成的脆弱性。在论文的附录中,Andrew Miller 介绍了BFT的攻击方法,本文将对该方法进行翻译和介绍。另外本文不再对BFT的时序脆弱性进行论证,详情可见英文论文或者 中文论文。正文PBFT包括两个主要的工作流1、网络环境良好情况下的正常工作模式(网络节点都同...

2020-05-08 15:52:50 811

原创 以太坊细节(4):StateRoot为什么不能取代ReceiptRoot(另一种观点)

观点StateRoot作为世界状态的Hash上链后 所有节点对这个世界状态达成共识。这便可以让节点们对一些 无法上链的本地信息,达成一致。例如节点中存储的账户信息,某个账户有多少钱。虽然可以正常执行transaction ,并且receipt也是一致的。但两个节点的账户信息如果不一致 stateroot也不一致。所以StateRoot的本质是对一些无法上链的账户状态的一致性保障。...

2020-05-08 10:22:26 260 1

原创 以太坊细节(3):StateRoot为什么不能取代ReceiptsRoot

背景在各种区块链项目中(例如以太坊),节点往往需要维护三个 Trie Roothttps://github.com/ethereum/go-ethereum:44a3b8c04cf18dc0a796f96d5972beb0e3cbe79b:core/types/block.go,L69-86:stateRoot TransactionsRoot ReceiptsRoot问题在于Recei...

2020-05-06 17:09:03 890

原创 星际争霸2 sc2replay录像回放python库sc2reader常用函数总结

安装pip install sc2reader使用import sc2readerreplay = sc2reader.load_replay('video.SC2Replay', load_level=2)level的值可设置为0到4,越大再入的信息越多。playerreplay.player[key].name 游戏双方游戏昵称replay.player[key].pick_...

2020-05-04 00:02:04 2464 6

原创 NKN公链源码学习(1):webgui的加密通信

背景NKN的web-gui即dashboard模块,在通信过程中,有参数的HTTP包都会进过一次AES对称加密。像这样POST /api/wallet/open HTTP/1.1Host: 192.168.1.100:30000Content-Length: 63Accept: application/json, text/plain, */*Unix: 1588221168Ori...

2020-04-30 14:28:32 574

原创 边缘分布和随机变量独立性

离散型随机变量的边缘分布设二维离散型随机变量(X,Y)(X,Y)的分布律为: P(X=xi,Y=yj)=pij,i,j=1,2...P(X=xi)=∑j=1+∞pij,i=1,2...P(X=x_i,Y=y_j) = p_{ij},\quad i,j=1,2...\\P(X=x_i) = \sum_{j=1}^{+\infty}p_{ij},\quad i=1,2... 称为二维离散型随机变量

2020-02-20 16:30:03 2136

原创 离散随机变量的常用分布

离散型随机变量的常用分布[ + ] 两点分布1 若事件A发生 0 若事件A不发生记做 r,v X ~ B(1,p)[ - ] 二项分布n次伯努利实验的成功次数X,每次伯努利实验成功概率p q = 1 - p 记做 r,vX\~B(n,p)r,v X \~{} B(n,p)1=(p+q)n=∑k=0nCknpkqn−k 1 = (p+q)^{n} = \sum_{k=0}^nC_{n}^{k}

2020-02-20 16:28:06 1007

原创 连续性随机变量的常用分布

连续性分布[ + ] 均匀分布 记做 r,vX∼U(a,b)r,v X\sim U(a,b) 概率密度为:f(x)=⎧⎩⎨1b−a0,a≤x≤b,其他f(x) = \left \{\begin{aligned}\frac{1}{b-a}&,a\leq x \leq b \\0&,其他\end{aligned}\right.分布函数为: F(x)=⎧⎩⎨⎪⎪⎪⎪⎪⎪0,x−ab−a,

2020-02-20 16:24:27 1363

原创 以太坊细节(2):msg到达时间的来源

背景有些依赖时间弱同步假设的共识,比如PBFT,DPOS,和一些元胞自动机衍生(MoCA)的共识。在实现的时候需要得到消息的到达时间。学习了一下以太坊如何处理区块到达时间的。这里记录一下。消息中ReceivedAt的写入逻辑一切的起点是p2p模块的server.run()函数从这里开始,geth启动了p2p服务器。func (srv *Server) run(dialstate dia...

2020-02-20 14:53:15 377

原创 DNBFT共识——一种可动态调节网络节点数的PBFT优化方案

摘要区块链类比于一种分布式存储系统,这种存储系统有可持续增长,不可篡改的特点。区块链中的共识是多个节点对某一个状态达成一致的过程。本文研究BFT共识中的安全问题。国内外对BFT共识的研究[1]张迪.另一种BFT共识算法在区块链中的应用[J].传播力研究,2019,3(28):272.[2]戴鹏. 基于实用拜占庭共识算法(PBFT)的区块链模型的评估与改进[D].北京邮电大学,2019....

2020-02-08 19:53:23 2093 2

原创 PBFT共识简述

pbft协议pbft算法是区块链公链项目中的一种共识机制。特点是不仅容错故障节点,同时容忍恶意节点的存在。作恶节点不仅是,宕机引起的无法发送数据。甚至可能发送相反的回复或者伪造数据。算法概要客户端发送请求到primary节点,primary由公式p = V mod R决定,p是节点的编号,V是视图号,R是整个系统中节点的个数。请求的消息格式为<REQUEST,o,t,c>,...

2020-02-08 19:50:53 2984 1

原创 以太坊细节(1):消息机制

研究公链中msg互相触发关系,学习一下以太坊中消息广播的逻辑顺序。带宽要求和消息转发之间有没有相对关系。

2020-02-06 14:16:53 342

sc2replayer.zip

使用参数是 python sc2replay_reader.py ./星际争霸2回放文件.sc2replay

2020-05-05

曼彻斯特加解密脚本

2016年国赛 传感器系列所需脚本 解析高电平 和 低电平之间的相互转换 糟糕的UI可能会让您感到不适 未成年人请在老师同学的陪伴下使用此脚本(滑稽)

2017-10-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除