<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Glibc on Arzedlab 🪵</title><link>https://arzedlab.github.io/tags/glibc/</link><description>Recent content in Glibc on Arzedlab 🪵</description><generator>Hugo</generator><language>en-us</language><copyright>© Ravshan</copyright><lastBuildDate>Tue, 14 Jan 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://arzedlab.github.io/tags/glibc/index.xml" rel="self" type="application/rss+xml"/><item><title>Linux Heap Exploitation internals</title><link>https://arzedlab.github.io/posts/linux-heap-exploitation-internals-17a3648c0bf480eda8dcc5f521e1351b/</link><pubDate>Tue, 14 Jan 2025 00:00:00 +0000</pubDate><guid>https://arzedlab.github.io/posts/linux-heap-exploitation-internals-17a3648c0bf480eda8dcc5f521e1351b/</guid><description>&lt;h2 id="lifo-and-fifo">LIFO AND FIFO&lt;/h2>
&lt;p>&lt;img src="image.png" alt="image.png">&lt;/p>
&lt;p>LIFO (Last-In, First-Out) and FIFO (First-In, First-Out) are two fundamental methods for managing data structures, each with distinct characteristics and applications.&lt;/p>
&lt;p>&lt;strong>LIFO (Last-In, First-Out):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Structure:&lt;/strong> Commonly implemented using a stack, where the most recently added item is the first to be removed.&lt;/li>
&lt;li>&lt;strong>Analogy:&lt;/strong> Think of a stack of plates; you add and remove plates from the top.&lt;/li>
&lt;li>&lt;strong>Applications:&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Memory Management:&lt;/strong> Utilized in function call management and recursive processes, where the last called function is the first to return.&lt;/li>
&lt;li>&lt;strong>Undo Functionality:&lt;/strong> In applications like text editors, the last action performed is the first to be undone.&lt;/li>
&lt;li>&lt;strong>Browser History:&lt;/strong> The most recently visited page is the first to be revisited when navigating backward.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>FIFO (First-In, First-Out):&lt;/strong>&lt;/p></description></item><item><title>Linux Heap Exploitation: Unsafe Unlink</title><link>https://arzedlab.github.io/posts/unsafe-unlink-1483648c0bf48032a944dc2bc36b5207/</link><pubDate>Tue, 14 Jan 2025 00:00:00 +0000</pubDate><guid>https://arzedlab.github.io/posts/unsafe-unlink-1483648c0bf48032a944dc2bc36b5207/</guid><description>&lt;h1 id="unsafe-unlink">Unsafe Unlink&lt;/h1>
&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>The &amp;ldquo;Unsafe Unlink&amp;rdquo; technique is a heap exploitation attack that was once quite common. It involves manipulating the unlink macro in &lt;code>malloc.c&lt;/code> to remove a chunk from a bin. This attack exploits the pointer manipulation done in the unlink macro, which can lead to arbitrary code execution or other malicious activities.&lt;/p>
&lt;p>When we free allocated unsorted bin, it will be freed from a doubly linked list.&lt;/p>
&lt;p>A doubly linked list is a type of data structure that consists of a sequence of elements, where each element (or node) contains three parts:&lt;/p></description></item></channel></rss>