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!
meta-security-isafw (Image Security Analyzer Framework) provides additionally build and configuration checks. ISA_kca_plugin is a kernel configuration analyzer... there are a bunch of these tools that are very useful. mount. In FUSE, there are two modes of IO: kernel page caching or direct requests on read/write to the userspace file system. FOPEN_DIRECT_IO), this calls a series of functions that eventually grab a reference to the userspace pages. fuse_dev_read() unlocks the FUSE request while the userspace file system marks the request as completed. /etc/shadow by manipulating data within glibc. This required a strange error message path to hit but still works. web.config file in order to find the routes and things to hit. RenderProxyResponse.DataEncryption.DecryptString was completely custom code, which makes it more interesting. The data had a strange format: {cryptoVersion}:{keyVersion}:{text}:{cipherText}. To get the key for the function, it depended on the parameters passed in. kv0 or NULL, then something else happens: a hardcoded default key is used. name-slug. Do you see the problem!?rails-html we could use the slug sanitizer-version_no. Now, we have control over the gem by using the slug!007 5 1 567 4 2 337
/dev/ttymxc4 character device. The permissions for this are rw-rw-rw-, meaning that ALL users can use the device!4003. This command would allow for the starting of a legit print, pausing it, print a BUNCH of fake receipts then close out the original one. This means that an auditor could verify what was printer but NOT everything would be written to the DGFE. Problem!741x could be used to delete or overwrite the files here. Yikes! Good find that compromises the use of the whole system. tipc_mon_domain, there is a field that holds an array of domain records (u32 members[64]); a domain record is the network topology. However, the bounds of the array being written to are never checked. members field, with our overall, can be arbitrary. The author says that this exploit would require an additional vulnerability to break KASLR and the stack canaries. set_memory_x($RSP & ~0xFFF, 1) in order to make the stack page executable. Once this is done, we can execute our shellcode from the stack overflow before. process context. Apparently, the networking stack is completely isolated from this. In order to hook into the userspace, syscall hooking can be done. Once a syscall has been hooked by writing to the sys_call_table, we can execute code in userspace.