为什么这个TXN不转移余额,我传递了与所讨论的响应集完全相同的十六进制字符串 [英] Why did this txn not transfer balance, I passed the exact same string same hex as response set in question
本文介绍了为什么这个TXN不转移余额,我传递了与所讨论的响应集完全相同的十六进制字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我调用了https://etherscan.io/address/0x0c63bf5f9c1b31bd98eb2995e8ab5ba33fe31d22约定的try函数,方法是传递与Start函数相同的字符串。我查过魔法了。谁能帮我解释一下为什么要尝试函数调用https://etherscan.io/tx/0x096a060d64d833c55fd83b2ea4ec209578dc3316d863de3a3de63692e8476628 未启动余额转账。有什么事吗,我错过了什么
推荐答案
测验是一份诈骗合同
作者通常使用一组相似的名称([a-z]{2}_quiz
),但其中大多数包含相同的代码,充当蜜罐骗局。
了解更多信息:
- https://medium.com/coinmonks/do-not-be-fooled-by-crypto-quiz-games-f38f72a53c78
- https://ethereum.stackexchange.com/questions/62815/trying-to-figure-out-this-2-eth-smart-contract-quiz
诈骗原理:
攻击者使用来自另一个合同的内部调用(该合同不会出现在蜜罐交易或内部呼叫列表中)来调用New()
函数并将哈希设置为某个垃圾值。
此垃圾值不是传递给Start()
函数的字符串的哈希,甚至很可能不是任何字符串的哈希。
然后公开调用Start()
函数(请参见transaction),这样看起来他们正在设置散列,但由于此条件而未设置:
if(responseHash==0x0){ // it's not 0x0 anymore
responseHash = keccak256(abi.encode(_response));
question = _question;
}
这篇关于为什么这个TXN不转移余额,我传递了与所讨论的响应集完全相同的十六进制字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文