⑴ 以太坊web3.sendRawTransaction离线签名交易
工作中需要复现短地址攻击和the重入攻击,重入攻击可以直接通过eth.sendTransaction和remix来发送交易,但是短地址攻击由于钱包和remix这些都对input做了长度检测,无法通过这些方式来复现,只能通过发离线签名交易来实现。
1.环境依赖:nodejs , keythereum , ethereumjs-common , ethereumjs-tx 。
2.进入Node控制台,获取相应账户私钥。
3.签名交易,进入Node,这里注意nonce问题,需要Nonce是实际可执行的nonce,Nonce不对会发送交易失败,关于如何获取input data网络比较多就不详述了。
4.遇到的坑,网络出来的步骤是有问题的或者过时了,当时是参考的这篇文章, https://www.freebuf.com/articles/blockchain-articles/199903.html
,在控制台通过eth.sendRawTransaction发送签名好的交易,我遇到了这个错误 ** sendRawTransaction invalid sender **
⑵ 浠ュお鍧婃湁鍝浜涘畨鍏ㄦ紡娲烇紝浠ュ強濡備綍瑙e喅
浠ュお鍧婄殑瀹夊叏婕忔礊鍙婇槻鑼冩帾鏂
浠ュお鍧婃槸涓绉嶆暟瀛楄揣甯侊紝鍏跺湪鍘讳腑蹇冨寲鍜屽尯鍧楅摼鎶鏈鏂归潰鍏锋湁鍙闈犳у拰鐏垫椿鎬с傚熀浜庝互澶鍧婄殑鏅鸿兘鍚堢害浣垮緱鏇村氱殑搴旂敤寰椾互瀹炵幇锛屼絾鍚屾椂涔熷甫鏉ヤ簡瀹夊叏闂棰樸備互涓嬫槸浠ュお鍧婄殑甯歌佹紡娲炲強瀵瑰簲鐨勮В鍐虫柟妗堬細
1.閲嶅叆婕忔礊
閲嶅叆鏀诲嚮鏄鏅鸿兘鍚堢害鏈甯歌佺殑瀹夊叏闂棰樸傚畠鏄鐢变竴娆″悎绾﹁皟鐢ㄥ紩璧风殑銆傚湪杩欎釜鍦烘櫙涓锛屾敾鍑昏呭埄鐢ㄤ簡鏌愪釜鏅鸿兘鍚堢害鍑芥暟杩涜屽洖璋冿紝浠庤屼娇鍑芥暟琚閲嶅嶆墽琛岋紝骞堕犳垚鎰忔枡涔嬪栫殑鎹熷け銆
閽堝归噸鍏ユ紡娲烇紝寮鍙戜汉鍛樺簲閲囧彇浠ヤ笅棰勯槻鎺鏂斤細
棣栧厛锛屽簲褰撻伩鍏嶅湪鍚堢害涓浣跨敤send鍜宼ransfer銆傚彲浠ヤ娇鐢╟all鏇挎崲send鍜宼ransfer銆
鐒跺悗锛屽湪淇鏀圭姸鎬佸彉閲忎箣鍓嶏紝搴旂‘淇濆噯纭鍦版鏌ュ畬鎴愮姸鎬併
鏈鍚庯紝鍦ㄩ噸鍏ョ殑鍑芥暟涓浣跨敤mutex鏉ラ伩鍏嶅悓鏃舵墽琛屻
2.婧㈠嚭婕忔礊
婧㈠嚭鏄鍙︿竴涓寰堝父瑙佺殑婕忔礊銆傚湪浠ュお鍧婂悎绾︿腑锛屾湁涓浜涜$畻閮芥槸浣跨敤闈炲父澶х殑鏁存暟杩涜岀殑銆傚傛灉鏌愪釜鎿嶄綔瀵艰嚧鏁版嵁绫诲瀷瓒呭嚭璇ョ被鍨嬫敮鎸佺殑鍙栧艰寖鍥达紝灏变細鍙戠敓婧㈠嚭銆
閽堝规孩鍑烘紡娲烇紝搴旈噰鍙栦互涓嬫帾鏂斤細
棣栧厛锛屽簲灏哻ontract鐨勯挶鍖呬綑棰濋檺鍒跺湪鍙鎺ュ彈鐨勪綆鍊艰寖鍥村唴銆
鍏舵★紝閾句笂鐨勬煇浜涙搷浣滃簲褰撹繘琛屽畨鍏ㄩ檺鍒躲備緥濡傦紝blockchain涓婄殑鍒嗛厤鎿嶄綔蹇呴』闄愬埗瓒呭嚭鍖哄潡涓鐨勪綑棰濆笺
鏈鍚庯紝鍚堢害涓鐨勬暟鎹绫诲瀷蹇呴』鏄鎵闇鐨勩傚繀椤诲逛娇鐢ㄧ殑璁$畻鍜屾暟鎹绫诲瀷杩涜岄傚綋鐨勬鏌ワ紝浠ラ槻姝㈡暟鎹绫诲瀷婧㈠嚭銆
3.鍦板潃绨挎紡娲
鍦板潃绨挎紡娲炴槸鐢ㄦ埛鍦ㄤ娇鐢ㄦ櫤鑳藉悎绾︽椂閬囧埌鐨勫畨鍏ㄩ庨櫓涔嬩竴銆傚畠鏄鐢变簬鐢ㄦ埛鍦ㄥ悎绾︿氦浜掕繃绋嬩腑杈撳叆鐨勫湴鍧瀛樺湪瀹夊叏闂棰樸
閽堝瑰湴鍧绨挎紡娲烇紝閲囧彇浠ヤ笅棰勯槻鎺鏂斤細
棣栧厛锛屽湪鍚堢害澶勭悊杩囩▼涓锛岄伩鍏嶇洿鎺ヤ粠杈撳叆鍦板潃涓璇诲彇锛屽噺灏戞墽琛岀殑瀹夊叏椋庨櫓銆
鍏舵★紝鍦ㄥ勭悊鍦板潃鏃讹紝纭淇濆湴鍧鍊肩殑鍚堟硶鎬э紝鍖呮嫭蹇呴』鏄姝g‘鐨勪互澶鍧婂湴鍧銆佷笉鏄鍙鑳借鐢ㄤ簬瀹夊叏鏀诲嚮鐨勫湴鍧锛屽苟涓斿繀椤绘槸宸茬粡鍦ㄤ互澶鍧婄綉缁滀腑琚瀹屽叏楠岃瘉鐨勫湴鍧銆
鏈鍚庯紝鍦ㄥ勭悊鍦板潃鏃讹紝纭淇濈敤閫傚綋鐨勬柟寮忛獙璇佸湴鍧銆
鎬荤粨
浠ヤ笂鏄浠ュお鍧婄殑涓浜涘父瑙佹紡娲炲拰瀵瑰簲鐨勮В鍐虫柟妗堛傚湪鏋勫缓浠ュお鍧婃櫤鑳藉悎绾︽椂锛屽簲涓ユ牸閬靛惊瀹夊叏瑙勫垯锛屽敖鏈澶у姫鍔涜勯伩鍚勭嶅彲鑳界殑瀹夊叏闅愭偅锛屼粠鑰岀‘淇濇櫤鑳藉悎绾︾殑瀹夊叏杩愯屻
⑶ eth靓号地址安全吗
不安全。
1、如果说区块链也有315,那么以太坊想必榜上有名。以太坊自运行以来多次爆出过由于漏洞造成的重大安全事件。
2、2016年6月17日,区块链出现了历史上沉重的一次攻击事件。由于以太坊的智能合约存在着重大缺陷,区块链业界最大的众筹项目TheDAO(被攻击前拥有约1亿美元的资产)遭到攻击,导致300多万以太币资产被分离出TheDAO资产池。2017年7月21日,智能合约编码公司Parity警告其1.5版本及之后的钱包软件存在漏洞,据Etherscan.io的数据确认,有价值3000万美元的15万以太币被盗。2017年11月8日,Parity钱包再出现重大bug,多重签名漏洞被黑客利用,导致上亿美元资金被冻结。
3、以太坊开源软件主要是由社区的极客共同编写的,目前已知存在Solidity语言漏洞、短地址漏洞、交易顺序依赖、时间戳依赖、可重入攻击等漏洞,在调用合约时漏洞可能被利用,而智能合约部署后难以更新的特性也让漏洞的影响更加广泛持久。