People often ask me "How did you learn how to hack?" The answer: by reading. This page is a collection of the blog posts and other articles that I have accumulated over the years of my journey. Enjoy!
function GETSecurity($variable)
{
if (stristr($variable, ".." ) {
exit("hacking attempt");
}
}
stristr() is a substring function that isn't case sensitive. They had a few ideas for circumventing this check... First, have it treat other characters as dots but this yielded nothing. /.%00./. The string comparison saw one thing but the routing saw another. stristr effectively ignores null bytes but they were not sure why this happened.\n could be used to defeat the PostScript detection. So, using GhostScript, you could write arbitrary files to the server just by reading a file. After finding a clear RCE vulnerability via a file-write, the development team pushed back, saying that real users should have better policies in place, where the default configuration still had the issue.C5 D0 D3 C6 overrode the extension-based format selection, allowing for even jpgs to be processed.gsapi_init_with_args(). So, the policy check never fires.withdraw event of the token on Polygon to obtain it. This event contains the amount and receiver of the transfer inside of it.ERC20PredicateBurnOnly code was affected; it has a CALL opcode before the parsing that writes data to memory that is controllable. By having the parser read this data, we can control the logs that are processed.http://.XML_DOCUMENT_TYPE_NODE this prevents normal entities from being used.php://filter/resource=http://example.com can be used to bypass this.LIBXML_DTDLOAD is enabled. Additionally, the loading time is interesting. The parameters are expanded before the usage of anything else.secbi. This is a high-privilege SOAR account that comes bundled with the installation. Perfect! This allows for an anonymous user to call any of the SOAR endpoints on the LogPoint backend. eval() being done on the rules engine. This is only possible if they can create an alert with a payload for evaluation within the trigger_value. They need to find a way to create a rule that can specifically do this now. Luckily for them, there's a rule importer that bypasses most validation.localhost for development purposes. When enabled in production, this can lead to an application running on the device to steal OAuth codes via redirects to itself. The same issue could appear with CORS.DataSet and DataTable in some functions. Because DataSet is a well-known gadget in ysoserial, Microsoft has a filtering mechanism. It will strip out all other serialization information except for XmlSchema and XmlDiffGram.Referrer is set to a specific value, then it bypasses authentication. Next, they need to trigger the vulnerability prior to the page verificatoin from occuring on the Load() event. Byb combining the usage of ToolPane and SPWebPartManager, an attacker can force SharePoint to trigger the vulnerable code prior to the full ASP.NET lifecycle taking place. All of this was just reverse-engineering the application and seeing which paths could be hit.MsgBatchUpdateOrders, this check is not performed on three order types. This allows for complete circumvention of the security protection and gives attackers the ability to impersonate users on their operations.