<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Network Security on Security Notes</title>
    <link>https://blog.omiilgo.com/categories/network-security/</link>
    <description>Recent content in Network Security on Security Notes</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 18 Sep 2026 14:30:00 +0800</lastBuildDate>
    <atom:link href="https://blog.omiilgo.com/categories/network-security/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>TLS Handshake Notes for Defenders</title>
      <link>https://blog.omiilgo.com/posts/network-tls-handshake-notes/</link>
      <pubDate>Fri, 18 Sep 2026 14:30:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/network-tls-handshake-notes/</guid>
      <description>Lab openssl s_client -msg against a loopback nginx: handshake record dump, redacted CN, alert on a bad name — not a MITM cookbook.</description>
    </item>
    <item>
      <title>Financial Apps: Concurrency Bugs vs Authorization Flaws</title>
      <link>https://blog.omiilgo.com/posts/financial-apps-concurrency-vs-authz/</link>
      <pubDate>Sat, 11 Apr 2026 09:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/financial-apps-concurrency-vs-authz/</guid>
      <description>Lab SQLite ledger: UPDATE without a version column vs WITH version, plus an IDOR that is not a race — no money-drain client.</description>
    </item>
    <item>
      <title>Tabnabbing, target=_blank, and Related XSS Edges</title>
      <link>https://blog.omiilgo.com/posts/tabnabbing-and-target-blank/</link>
      <pubDate>Fri, 12 Sep 2025 11:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/tabnabbing-and-target-blank/</guid>
      <description>Lab HTML: target=_blank without rel, opener check in the opened tab, rel=noopener fix, harmless location rewrite — no phishing kit.</description>
    </item>
    <item>
      <title>YAML Parser Footguns Across Languages</title>
      <link>https://blog.omiilgo.com/posts/yaml-parser-footguns/</link>
      <pubDate>Sat, 30 Nov 2024 12:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/yaml-parser-footguns/</guid>
      <description>Lab PyYAML: yaml.safe_load vs yaml.load, implicit typing, billion-laughs-sized crash — no os.system gadget via YAML tags.</description>
    </item>
    <item>
      <title>Web Race Conditions: Coupons, Balances, and Workflows</title>
      <link>https://blog.omiilgo.com/posts/web-race-conditions-notes/</link>
      <pubDate>Fri, 19 May 2023 15:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/web-race-conditions-notes/</guid>
      <description>Lab Go counter without a mutex, then with one; HTTP coupon handler; lost-update logs — no inventory-drain exploit script.</description>
    </item>
    <item>
      <title>Apache HTTP Path Confusion Notes (CVE-2021-41773 Class)</title>
      <link>https://blog.omiilgo.com/posts/apache-http-path-confusion-notes/</link>
      <pubDate>Sat, 11 Jun 2022 13:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/apache-http-path-confusion-notes/</guid>
      <description>Lab Apache Alias map: raw vs normalized paths as text, Require/Alias mismatch, 403/404 artifacts — no working traversal into /etc.</description>
    </item>
    <item>
      <title>Lessons from the JNDI / Log4Shell Class of Bugs</title>
      <link>https://blog.omiilgo.com/posts/jndi-injection-class-lessons/</link>
      <pubDate>Fri, 28 Jan 2022 10:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/jndi-injection-class-lessons/</guid>
      <description>Lab Java snippet that logs a lookup string, how to disable JNDI/message lookups, sanitized crash on a bad URL — no LDAP exploit server.</description>
    </item>
    <item>
      <title>DOM XSS and DOM Clobbering as Trust Problems</title>
      <link>https://blog.omiilgo.com/posts/dom-xss-and-dom-clobbering/</link>
      <pubDate>Wed, 14 Apr 2021 16:20:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/dom-xss-and-dom-clobbering/</guid>
      <description>Lab HTML+JS page: location.hash into innerHTML, name=form clobber of a config object, harmless redacted payload, CSP as the fix.</description>
    </item>
    <item>
      <title>Command Injection Taxonomy for Code Review</title>
      <link>https://blog.omiilgo.com/posts/command-injection-taxonomy/</link>
      <pubDate>Sat, 05 Sep 2020 14:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/command-injection-taxonomy/</guid>
      <description>Lab Python ping wrapper: subprocess shell=True vs argv list, dangerous call, the fix, ASAN-irrelevant crash on a C popen helper — no reverse shell.</description>
    </item>
    <item>
      <title>SQL Injection Probing Methodology for Analysts</title>
      <link>https://blog.omiilgo.com/posts/sql-injection-probing-methodology/</link>
      <pubDate>Tue, 18 Feb 2020 09:30:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/sql-injection-probing-methodology/</guid>
      <description>Lab Flask+SQLite app: concatenated vs parameterized queries, SQL logs, WAF noise, ASAN-irrelevant crash on the concat path — no production DB dump.</description>
    </item>
    <item>
      <title>JWT Failure Modes Defenders Still See</title>
      <link>https://blog.omiilgo.com/posts/jwt-failure-modes-for-defenders/</link>
      <pubDate>Mon, 22 Jul 2019 11:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/jwt-failure-modes-for-defenders/</guid>
      <description>Lab JWT verifier in Go: decoded header/payload dumps, alg=none rejected, wrong aud rejected, HS256 with a lab secret — no forged production tokens.</description>
    </item>
    <item>
      <title>HTTP Request Smuggling: A Defender Mental Model</title>
      <link>https://blog.omiilgo.com/posts/http-request-smuggling-mental-model/</link>
      <pubDate>Tue, 12 Mar 2019 10:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/http-request-smuggling-mental-model/</guid>
      <description>Lab walkthrough of HTTP/1.1 framing disagreement: raw frames, nginx vs Python http.server parse notes, sanitized logs, hop-boundary hardening.</description>
    </item>
  </channel>
</rss>
