in RamNFT
contract, mintRamNFT
function allows the Dussehra
contract to mint Ram NFTs. So anyone want to enter in the event like Ram must pay entranceFee
and receive the ramNFT via Dussehra::enterPeopleWhoLikeRam
function. However, mintRamNFT
function is lacking of access control, it doesn't have any modifier or require statement to ensure msg.sender
is the Dussehra
contract.
It allow everyone call and receive a ramNFT. They have chance to win and withdraw money without paying entranceFee
.
Manual review
Foundry
player1 call enterPeopleWhoLikeRam
and have to pay entranceFee
.
player2 call mintRamNFT to receive ramNFT just pay the gas.
Time up, the organiser call ChoosingRam.selectRamIfNotSelected
function and the winner is player2.
player2 kill Ranvana and withdraw money.
Place this test in Dussehra.t.sol
Add an address of Dussehra contract, setdussehraContract
function and onlydussehraContract
modifier to check whenever the mintRamNFT
function is called
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.