Solidity不变测试及漏洞扫描工具原理及实现
Solidity不变测试及漏扫工具原理与实现文章主要以某些漏洞,比如(重入漏洞等)来实现,更多补充例子在仓库:https://github.com/admi-n/TestVulnerabilities-by-Foundry
结尾有一些更多的在审计过程中的使用不变测试来发现漏洞的文章。
同时,常阅读审计报告以获得更多的知识:
123456https://reports.zellic.io/https://code4rena.com/reportshttps://hexens.io/auditshttps://github.com/CDSecurity/auditshttps://audits.sherlock.xyz/contestshttps://cantina.xyz/portfolio
第一个 Invarient Testing第一个漏洞展示重入漏洞,在Fuzzing中,相对容易的是溢出,操纵预言机,DOS等。中高等测试的是非正常情况下的错误,比如,一些非预期调用或者逻辑问题等引起的错误。
我们来由正常Fuzztest到Invarient Testing实现完整过程。
正常情 ...
ERC-7764:买方链上议价理念
eip: 7764title: Buyer-Seller Negotiable Pricingdescription: Allows buyers and sellers to freely negotiate and determine prices.author: S7iter (@admi-n)discussions-to: https://ethereum-magicians.org/t/erc-7764-buyer-seller-negotiable-pricing/20973status: Drafttype: Standards Trackcategory: ERCcreated: 2024-09-05
PR: Add ERC: Buyer-Seller Negotiable Pricing by admi-n · Pull Request #618 · ethereum/ERCs (github.com)
AbstractThis proposal introduces a new smart contract mechanism that allows ...
交易基础
交易基础要敬畏市场
盈亏与胜率盈亏比 - 胜率 - 交易频次 = 不可能三角
经验胜率达到止盈的交易数/(总交易次数)总交易次数 =达到止盈的交易数+达到止损的交易数(假设每笔交易不是止盈就是止损)
比如说,对于某种交易模式,赚一次能挣50U,亏一次损失50U,请问胜率是多少?开始是不知道胜率的。大量的交易过后,能够总结出经验胜率。
保本胜率对于保本胜率,是可以计算的。
什么是保本胜率?就是不赚钱也不亏钱的胜率。盈利和亏损的期望都为0。对于某种交易模式,盈利一次赚30U,亏损一次亏10U,保本胜率是多少?
总盈利:
30 x 胜率p x 总交易次数
总亏损10 x (1-胜率p) x 总交易次数使总盈利=总亏损
算出胜率 p = 25%
净盈利 = 总盈利 - 总亏损
一般情况计划:
要保证识别的交易机会的盈亏比>1.5
专业交易员,盈亏比都在2以上
盈亏比为2,只要胜率为百分之33就一定赚钱
仓位管理如果你只有十万块,并且拥有某种盈利模式。
盈利模式,胜率90%,平均盈亏比10。
十万块 ...
Sui学习
1d799a568a97c5d3e0e29f1171320779ca8ffef60e03a7ad68df71d60ac0b82e7913319ae4cb0f1063202c1071f2f4236bf389caf0b89615e2ea163f375c7d19cd97714c3bba6b01c3a031c7aaaad4b452f61a92f741676694f565903e08ade4c57490afad5ea172d076c41475988c29b8d11c94f86e5de9f64951f373784ec45df007ad7d7ba21c8861778ba633bea28b6c15046cd78208029599dfb2d29d0248902a5fec25f20327cc4f75f29641697c58299f8553156f4c6cb68aaf465aed24fe34aeed1a11b63dc5471a599633ed26196113305227953a4ff18dc5c2720beda23465533103d965b74a944cf8075c810b5cbacf8c43b53 ...
Solana0-0.1
1d799a568a97c5d3e0e29f1171320779ca8ffef60e03a7ad68df71d60ac0b82ea3583b16a9350b4ee7d577abdf9d54a49daeed94d25e78acd17732e003ea611d7cc8a87e2ea6f7f3c7bcc06846096471fa0af2c71bff82924087de0bbd3d0519b42cf24ab145818735fa3f0c71b11c250fd939618a60ef74023a4c0069d9dc2344bf744c16c07983b5b208daecb9e895ca1b42a4059d428a1f67fdd948f60ffc679638714837892e9cf85875390c2903c9ddb17e26a521afe6f66475f9569d4b4f45d3144212bd2911df1f80aecb459ea424a9a9cf91055a0de9c9c5d4dd792e3a15a85562aa832c2e7a66ab47fa878acbdd8f16ef3bccfcd ...
EVM从0-1
EVM0-1
从WTF开始学习EVM
参考资料:https://www.ethervm.io/ Ethereum Virtual Machine Opcodes
https://www.evm.codes/ An Ethereum Virtual Machine Opcodes Interactive Reference
https://www.wtf.academy/docs/evm-opcodes-101/
https://www.wtf.academy/docs/evm-opcodes-102/
https://chatgpt.com/
Opcodes简介假如有一个合约
12345678// SPDX-License-Identifier: MITpragma solidity ^0.8.20;contract Add { function add() public pure returns (uint256 result) { result = 1+1; & ...
黑客是如何审计并且攻击合约的-$Z123
因为是即时写的,所以没考虑到合约漏洞的复杂性和其他问题,导致本文的合约过于简单,所以后续再换其他的漏洞合约,具有参考价值的
所以本篇暂时烂尾,有时间再换
写在前面审计工具在对合约进行审计的过程中,可以使用多种工具来辅助,而不是干看代码。
同我们对比如php,java等语言进行debug不同,solidity的传输都是以字节码来展现的。
不过我们依然有多种办法进行debug。
比如:
Remix:http://remix.ethereum.org/ 但是非常鸡肋,大部分的操作都不能完成,并且显示的是字节码。
我们可以使用一些框架
比如个人喜欢foundry可以结合很多种分析工具,比如:slither mythril
在代码审计过程中,我们不用所谓的debug而是test。它有多种含义。
我们可以fork到本地进行测试审计,比如使用foundry/hardhat + Ganache
当然我比较喜欢的是使用https://blocksec.com/fork https://www.buildbear.io/ 不同于打印log更喜欢直接…
一些分析工具:
https ...
从某文学习Foundry高级测试
77667c3274defa7d5bf7ccdb5e654d39f12ee1c53c6c7fc853dd6e93e18873d91caf64b7e8e64f88e25a352dfd5fb89b3680f0a04aa5193657f9f820593b47095b1b8a10e6aea9ba1a54c4bb505f43d5496f8b08675cd9183babffbd4555eefef1c83c9ac4dec9e4fc97e6685175fce753f832044560ecf698c43e35fb56c1c1b43c3cd56646d7a32d7867821391eb3d5226075c1c3fc8129423404cfcea631a7a7fe79510a9514f23ddc188ff80c8cfdd031ec57e4bb89d36bd002b814492a9173432cf9050bf4058fea0ad46cb000b00c139e9f39e371d80017ed920c87646bfc19b061dbab4450ee80940a678cbc6d1118a0965dde1a93 ...
UniswapV3book
1d799a568a97c5d3e0e29f117132077957f80408d65eb714ea6fc0b20f47581b
ing
某NFT交易平台测试环境到生产环境云控
cbbaf99436744798a6b631c41891eac79410e2ebbd3821e7793736366b15024b38e2f8b39e8c442ef047ff5377b192e7dcd52d73594cc3b12b68f196a7979374082bc246c0699a61b3e852534d72e552a020f1475545f4e3094a7923fbaf30e5c12f3fc9dac5a2494910c4fe2fb5bf33411b32b6d9fc1618724e86dc97ab69fb3cc24ac1341d363b3a54abd4089f211a754522600789d393d66031f1e03138563a870bd64d0b0ee23c4e46ee43670d2fcd3bc017ca2a320960294bfda7502786d4cae4148823e472c159e9d461b360fa3cef5ffd1579004f50bc5a6de0b22ec69d2ae93293e025f11964e909fbe146a9fcd5f12c9a44494e8 ...