Which examples have you been given? Middle Ages Fede Rings Pose Rings Acrostic Jewellery 19th Century Identify the historic period they were created and which country they were used in. They were popular during the 15th through the 17th centuries. Is there a narrative behind the pieces? Any hidden meanings or messages?
9/15/2022Similar to traditional buffer overflow attacks, in solidity, when variables are defined to be the legacy solidity uint type (and not the safe math version from OpenZeppelin), they can be overflown or underflown to reach unintended conclusions or chunks of code. Note: Only applicable to Solidity < 0.8, as Solidity >= 0.8 will default to an error Vulnerable Contract In the contract below the lockTime variable can be maliciously manipulated to allow an attacker to immediately withdraw funds, when they should only be able to after a week (see below): // The following happens upon depositing any amount into the vulnerable contract. lockTime[msg.sender] = block.timestamp + 1 weeks;
2/7/2022I recently found a vulnerability type which had been massively under-researched within the public domain. Leaving one, maybe two genuinely interesting research posts. In an attempt to fill a void I dove into a neo4j, which uses cypher queries. Many security specialists will recognise neo4j from the popular AD hacking tool "blood hound". Note that this post is a WIP, and the more I find, the more I'll add. Tips / Tricks Overwriting values in CREATE clauses CREATE clauses in neo4j can have values overwritten if we can inject after it's initial definition. What this means is, if the query creates an "account" object with an "admin" key that is defined before our injection point, we can overwrite it to True to make our account an administrator.
12/24/2021English Slide one SQL Injection is a server-side vulnerability that occurs when user input is inserted into a query, without any kind of validation or sanitization. The query is then passed to a database. The fact that the user controls a certain part of the query with no limitations, other than the location of the injection point, means they can prematurely end the string where the user input goes, and modify the query that is run on the database (see next slide for example). Slide two A basic example would be the following. Imagine there is a login form where the query selects the password from the database that matches the username:
12/19/2021