Les + populaires

BTC ETH SOL XRP BNB USDC USDT

Suivez-nous

Les risques liés au stockage de données sensibles dans Ethereum | de Alex Devassy | Coinmons | mai 2022

IAavec
Titres Titres

Une perspective d’attaquant

pragma solidity ^0.5.0; contract OddEven { 
struct Player {
address addr;
uint number;
}
Player[2] private players;
uint count = 0;
function play(uint number) public payable {
require(msg.value == 1 ether, ‘msg.value must be 1 eth’); players[count] = Player(msg.sender, number);
count++;
if (count == 2) selectWinner();
}
function selectWinner() private {
uint n = players[0].number + players[1].number;
(bool success, ) = players[n%2].addr.call.value(address(this).balance)(“”); require(success, ‘transfer failed’);
delete players; count = 0;
}
}

Extraction de données privées à partir d’une transaction utilisateur

0x6898f82b0000000000000000000000000000000000000000000000000000000000000066
Photo de Jefferson Santos sur Unsplash

Que se passe-t-il s’il s’agit d’une signature de fonction complexe ?

[
{
"constant": false,
"inputs": [
{
"name": "number",
"type": "uint256"
}
],
"name": "play",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
}
]
npm install ethereum-input-data-decoder
const InputDataDecoder = require('ethereum-input-data-decoder');
const decoder = new InputDataDecoder(`${__dirname}/abi.json`);
const data = `0x6898f82b0000000000000000000000000000000000000000000000000000000000000066`;const result = decoder.decodeData(data);
console.log(result);

Conclusion

Rejoignez Coinmonks Telegram Channel et Youtube Channel pour en savoir plus sur le trading et l’investissement cryptographiques

Source medium.com

Investissez pour votre avenir
Linxea
50€ offerts à l'inscription

Donnez votre avis

Soyez le 1er à noter cet article


Partagez cet article maintenant !

Envoyez simplement nos contenus crypto et finance à vos proches.