<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Learn on Zero&#39;s Blog</title>
    <link>/tags/learn/</link>
    <description>Recent content in Learn on Zero&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 24 Feb 2026 12:58:00 +0700</lastBuildDate>
    <atom:link href="/tags/learn/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>0x4 - Learn CTF: Web Exploitation</title>
      <link>/posts/0x4-learn-ctf-web-exploitation/</link>
      <pubDate>Tue, 24 Feb 2026 12:58:00 +0700</pubDate>
      <guid>/posts/0x4-learn-ctf-web-exploitation/</guid>
      <description>&lt;h2 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#no-sql-injection-picoctf&#34;&gt;No SQL Injection (picoCTF)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#startup-company-picoctf&#34;&gt;Startup Company (picoCTF)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;no-sql-injection-picoctf&#34;&gt;No SQL Injection (picoCTF)&lt;/h2&gt;&#xA;&lt;h3 id=&#34;summary&#34;&gt;Summary&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Web / NoSQL Injection&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Challenge:&lt;/strong&gt; &lt;code&gt;No SQL Injection&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Target:&lt;/strong&gt; &lt;code&gt;http://atlas.picoctf.net:54182/&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Goal:&lt;/strong&gt; bypass login and recover flag token.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;source-analysis&#34;&gt;Source analysis&lt;/h3&gt;&#xA;&lt;p&gt;From &lt;code&gt;server.js&lt;/code&gt;, login handler parses user input like this:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;email&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;email&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;startsWith&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;{&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;email&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;endsWith&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;}&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;JSON&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;parse&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;email&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;email&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;password&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;password&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;startsWith&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;{&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;password&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;endsWith&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;}&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;JSON&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;parse&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;password&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;password&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then it performs:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;User&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;findOne&lt;/span&gt;({ &lt;span style=&#34;color:#a6e22e&#34;&gt;email&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;parsed&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;password&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;parsed&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; })&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;So if we send JSON object strings, they become Mongo operators instead of plain strings.&lt;/p&gt;</description>
    </item>
    <item>
      <title>0x3 - Learn CTF: Binary Exploitation</title>
      <link>/posts/0x3-learn-ctf-pwn/</link>
      <pubDate>Tue, 24 Feb 2026 04:10:00 +0700</pubDate>
      <guid>/posts/0x3-learn-ctf-pwn/</guid>
      <description>&lt;h2 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#secret-garden--fastbin-dup--__malloc_hook-overwrite-glibc-223&#34;&gt;Secret Garden — fastbin dup + &lt;code&gt;__malloc_hook&lt;/code&gt; overwrite (glibc 2.23)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#kidding--stack-overflow--_dl_make_stack_executable-route&#34;&gt;Kidding — stack overflow + &lt;code&gt;_dl_make_stack_executable&lt;/code&gt; route&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#start--stack-bof-leak--stack-shellcode&#34;&gt;Start — stack BOF leak + stack shellcode&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;secret-garden--fastbin-dup--__malloc_hook-overwrite-glibc-223&#34;&gt;Secret Garden — fastbin dup + &lt;code&gt;__malloc_hook&lt;/code&gt; overwrite (glibc 2.23)&lt;/h2&gt;&#xA;&lt;h3 id=&#34;summary&#34;&gt;Summary&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Pwn / Heap Exploitation&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Challenge:&lt;/strong&gt; &lt;code&gt;pwnable.tw - secretgarden&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Binary:&lt;/strong&gt; &lt;code&gt;secretgarden&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Libc:&lt;/strong&gt; &lt;code&gt;libc_64.so.6&lt;/code&gt; (Ubuntu GLIBC 2.23)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Protections:&lt;/strong&gt; RELRO + Canary + NX + PIE&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Flag:&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;FLAG{FastBiN_C0rruption_t0_BUrN_7H3_G4rd3n}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;bug-and-primitive&#34;&gt;Bug and primitive&lt;/h3&gt;&#xA;&lt;p&gt;The program stores flower objects in a global array. Each flower has a heap-allocated &lt;code&gt;name&lt;/code&gt; pointer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>0x2 - Learn CTF: Cryptography</title>
      <link>/posts/0x2-learn-ctf-cryptography/</link>
      <pubDate>Mon, 23 Feb 2026 23:40:00 +0700</pubDate>
      <guid>/posts/0x2-learn-ctf-cryptography/</guid>
      <description>&lt;h2 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#error-code--merkle-hellman-implementation-bug&#34;&gt;error-code — Merkle-Hellman implementation bug&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#nito--truncated-state-recovery-with-coppersmith&#34;&gt;nito — truncated-state recovery with Coppersmith&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#lack-of-entropy--deterministic-rsa-prime-relation&#34;&gt;Lack of Entropy — deterministic RSA prime relation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#a-joke-cipher--broken-key-exchange-leaks-plaintext-multiplier&#34;&gt;a-joke-cipher — broken key exchange leaks plaintext multiplier&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#d-phi-enc--recovering-rsa-factors-from-encrypted-%CF%86-and-d&#34;&gt;d-phi-enc — recovering RSA factors from encrypted φ and d&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;error-code--merkle-hellman-implementation-bug&#34;&gt;error-code — Merkle-Hellman implementation bug&lt;/h2&gt;&#xA;&lt;h3 id=&#34;summary&#34;&gt;Summary&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Cryptography&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Challenge:&lt;/strong&gt; &lt;code&gt;error-code&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Core scheme:&lt;/strong&gt; Merkle-Hellman knapsack (subset-sum)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Given files:&lt;/strong&gt; &lt;code&gt;chall.py&lt;/code&gt;, &lt;code&gt;output&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Recovered flag:&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CBC{4_cl4ss1c_subs3t_sum_pr0blem_r1ght_9c209955}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;problem-statement-practical&#34;&gt;Problem statement (practical)&lt;/h3&gt;&#xA;&lt;p&gt;The challenge author says they implemented Merkle-Hellman, but decryption does not work.&#xA;The job is to identify the implementation error and recover the plaintext.&lt;/p&gt;</description>
    </item>
    <item>
      <title>0x1 - Learn CTF: Reverse Engineering</title>
      <link>/posts/0x1-learn-ctf-reverse-engineering/</link>
      <pubDate>Mon, 23 Feb 2026 15:30:00 +0700</pubDate>
      <guid>/posts/0x1-learn-ctf-reverse-engineering/</guid>
      <description>&lt;h2 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#re-010--network-byte-transform-checker&#34;&gt;re-010 — Network byte-transform checker&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#re-012--constraint-based-checker-f1f8&#34;&gt;re-012 — Constraint-based checker (f1..f8)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#carbonara--jump-obfuscation-and-data-flow-recovery&#34;&gt;Carbonara — jump-obfuscation and data-flow recovery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;re-010--network-byte-transform-checker&#34;&gt;re-010 — Network byte-transform checker&lt;/h2&gt;&#xA;&lt;h3 id=&#34;summary&#34;&gt;Summary&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Type:&lt;/strong&gt; Reversing (ELF64, stripped, PIE)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Behavior:&lt;/strong&gt; TCP server flag checker&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Port:&lt;/strong&gt; &lt;code&gt;31338&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Expected input length:&lt;/strong&gt; &lt;code&gt;37&lt;/code&gt; bytes&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Result:&lt;/strong&gt; &lt;code&gt;:)&lt;/code&gt; on success, &lt;code&gt;:(&lt;/code&gt; on failure&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Flag:&lt;/strong&gt; &lt;code&gt;CBC{c72b6b1feb2dbb3132380e1a9f967441}&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;notes&#34;&gt;Notes&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The binary does not read from stdin directly; it binds/listens and validates client input over a socket.&lt;/li&gt;&#xA;&lt;li&gt;Validation is split into 3 blocks of 16 transformed-byte checks using constant tables in &lt;code&gt;.rodata&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Recovered plaintext chunks:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;CBC{c72b6b1feb2d&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;bb3132380e1a9f96&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;7441}&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Combined final flag:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CBC{c72b6b1feb2dbb3132380e1a9f967441}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;validation&#34;&gt;Validation&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# run service&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./chall&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# in another shell&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python3 - &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;lt;&amp;lt; &amp;#39;PY&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;import socket&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;flag=&amp;#39;CBC{c72b6b1feb2dbb3132380e1a9f967441}&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;s=socket.create_connection((&amp;#39;127.0.0.1&amp;#39;,31338))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;print(s.recv(200))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;s.sendall(flag.encode()+b&amp;#39;\n&amp;#39;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;print(s.recv(200))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;PY&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Expected response contains &lt;code&gt;:)&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
