<?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>SQLi on Stacknoah</title>
    <link>https://stacknoah.com/what/web-vuln/sql-injection/</link>
    <description>Recent content in SQLi on Stacknoah</description>
    <generator>Hugo</generator>
    <language>ko-kr</language>
    <lastBuildDate>Tue, 07 Jul 2026 18:30:13 +0900</lastBuildDate>
    <atom:link href="https://stacknoah.com/what/web-vuln/sql-injection/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>NoSQL Injection</title>
      <link>https://stacknoah.com/what/web-vuln/sql-injection/nosql-injection-overview/</link>
      <pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://stacknoah.com/what/web-vuln/sql-injection/nosql-injection-overview/</guid>
      <description>&lt;p&gt;데이터베이스는 데이터를 저장하고 조회하는 시스템이다. 오랫동안 그 표준은 관계형(SQL) DB였고, NoSQL은 그 대안으로 나온 부류다. 이 글은 NoSQL이 뭐고, SQL과 무엇이 다르고, 그래서 보안상 왜 다른 취약점이 생기는지를 배경지식 없이도 따라오게 순서대로 잇는다.&lt;/p&gt;
&lt;h2 id=&#34;기준점-관계형sql&#34;&gt;기준점: 관계형(SQL)&lt;/h2&gt;
&lt;p&gt;비교 대상을 먼저 세우자. 관계형 DB(MySQL, PostgreSQL 등)는 데이터를 표(테이블)로 저장한다. 행과 열이 있고, 어떤 열이 어떤 타입인지를 미리 정한 설계도(스키마)가 고정돼 있다. 조회는 SQL이라는 문자열 언어로 한다.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#55595f&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c678dd&#34;&gt;SELECT&lt;/span&gt; &lt;span style=&#34;color:#56b6c2&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#c678dd&#34;&gt;FROM&lt;/span&gt; &lt;span style=&#34;color:#e06c75&#34;&gt;users&lt;/span&gt; &lt;span style=&#34;color:#c678dd&#34;&gt;WHERE&lt;/span&gt; &lt;span style=&#34;color:#e06c75&#34;&gt;id&lt;/span&gt; &lt;span style=&#34;color:#56b6c2&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#98c379&#34;&gt;&amp;#39;admin&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;구조가 엄격한 대신 데이터 간 관계와 정합성을 관리하는 데 강하다. 그리고 취약점(SQL Injection)도 이 성질에서 나온다 — 쿼리가 문자열이라, 그 문자열 조립에 문법을 끼워넣는 공격이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SQL Injection</title>
      <link>https://stacknoah.com/what/web-vuln/sql-injection/sql-injection/</link>
      <pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://stacknoah.com/what/web-vuln/sql-injection/sql-injection/</guid>
      <description>&lt;h2 id=&#34;1-결함의-본질&#34;&gt;1. 결함의 본질&lt;/h2&gt;
&lt;p&gt;사용자 입력이 &amp;ldquo;데이터&amp;quot;가 아니라 &amp;ldquo;쿼리 문법의 일부&amp;quot;로 해석되는 결함. 서버가 입력값을 SQL 문자열에 그대로 이어붙이면, 입력 안의 따옴표나 키워드가 쿼리의 구조 자체를 바꿔버린다.&lt;/p&gt;
&lt;p&gt;주입 계열은 다 같은 뿌리를 공유한다 — 데이터와 코드의 경계가 무너져 데이터가 코드로 승격되는 것. 다만 노리는 해석기가 다르다. SQLi는 SQL 파서, NoSQL Injection은 쿼리 객체의 타입·구조, Command Injection은 셸, XSS는 브라우저의 JS 엔진. 이 관점이 서면 새 주입 취약점을 만나도 &amp;ldquo;어느 해석기로 승격되나&amp;quot;만 물으면 된다.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
