<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kop+red</id>
		<title>explain xkcd - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kop+red"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/Kop_red"/>
		<updated>2026-05-23T15:11:13Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Little_Bobby_Tables&amp;diff=297229</id>
		<title>Little Bobby Tables</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Little_Bobby_Tables&amp;diff=297229"/>
				<updated>2022-10-21T03:22:27Z</updated>
		
		<summary type="html">&lt;p&gt;Kop red: /* Appearances */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox character&lt;br /&gt;
| image      = Little Bobby Tables.PNG&lt;br /&gt;
| imagesize  = &lt;br /&gt;
| caption    = First drawn drawing in [[342: 1337: Part 2]].&lt;br /&gt;
| first_appearance = [[327: Exploits of a Mom]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;Robert'); DROP TABLE students;--&amp;lt;/code&amp;gt;''', nicknamed '''Little Bobby Tables''', is the youngest son of elite hacker [[Mrs. Roberts]]. His elder sister is [[Elaine Roberts|Help I'm trapped in a driver's license factory Elaine Roberts]]. His &amp;quot;full&amp;quot; name is known to cause problems with some computers. When he was first enrolled in school ([[327: Exploits of a Mom]]), it exploited a vulnerability in the parsing of students' names into the school's student database resulting in the school losing all the student records for the year.&lt;br /&gt;
&lt;br /&gt;
In {{w|SQL}}, commands are terminated by semicolons '''&amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;''' and data is often quoted using single quotes '''&amp;lt;code&amp;gt;'&amp;lt;/code&amp;gt;'''.  Commands may also be enclosed in parentheses '''&amp;lt;code&amp;gt;(&amp;lt;/code&amp;gt;''' and '''&amp;lt;code&amp;gt;)&amp;lt;/code&amp;gt;'''.  Data is stored in tables of similar items (e.g. '''&amp;lt;code&amp;gt;students&amp;lt;/code&amp;gt;''') and individual entries are &amp;quot;rows&amp;quot; in the table.  To delete an entire table (and every row of data in that table), you use the command '''&amp;lt;code&amp;gt;DROP&amp;lt;/code&amp;gt;''' (e.g. '''&amp;lt;code&amp;gt;DROP TABLE students&amp;lt;/code&amp;gt;''').  The '''&amp;lt;code&amp;gt;--&amp;lt;/code&amp;gt;''' represents the start of a {{w|Comment_(computer_programming)#SQL|SQL comment}} which ensures that the rest of the command is ignored so an error will not occur.&lt;br /&gt;
&lt;br /&gt;
The exploited vulnerability is that the single quote in the name input was not properly &amp;quot;escaped&amp;quot; by the software.  Thus, when the name is embedded into some SQL statement, the quote is erroneously parsed as a closing quote inside that statement, rather than being parsed as part of the name.  Lack of such escaping is a common SQL vulnerability; this type of exploit is referred to as {{w|SQL injection}}.&lt;br /&gt;
&lt;br /&gt;
The name Bobby Tables inspired a website, [http://bobby-tables.com/ bobby-tables.com], a guide for beginning programmers to learn the right way to avoid SQL injection in their code.  A similarly named character, Mister Rogers, appears in [[884: Rogers St.]], with the same code injection in his middle name. It appears in [[1253: Exoplanet Names]] as one of the suggested planet names.&lt;br /&gt;
&lt;br /&gt;
== Appearances ==&lt;br /&gt;
In the&lt;br /&gt;
&lt;br /&gt;
== Example of SQL injection ==&lt;br /&gt;
&lt;br /&gt;
A typical, unsecured SQL command vulnerable to SQL injection would be something like:&lt;br /&gt;
&lt;br /&gt;
 database.execute(&amp;quot;INSERT INTO students (name) VALUES ('&amp;quot; + name + &amp;quot;');&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is a variable which is filled with the name to be inserted into the database. With a regular name, this would result in the following SQL command to be sent to the database system:&lt;br /&gt;
&lt;br /&gt;
 INSERT INTO students (name) VALUES ('Elaine');&lt;br /&gt;
&lt;br /&gt;
However, with Little Bobby Tables's full name, the SQL command would be:&lt;br /&gt;
&lt;br /&gt;
 INSERT INTO students (name) VALUES ('Robert'); DROP TABLE students;--');&lt;br /&gt;
&lt;br /&gt;
Or, if split after each &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 INSERT INTO students (name) VALUES ('Robert');&lt;br /&gt;
 DROP TABLE students;&lt;br /&gt;
 --');&lt;br /&gt;
&lt;br /&gt;
The first command inserts the name &amp;lt;code&amp;gt;Robert&amp;lt;/code&amp;gt; into the database as in the first example. The second command however completely deletes the table &amp;lt;code&amp;gt;students&amp;lt;/code&amp;gt;. The remainder is a comment to prevent syntax errors with the apostrophe and the closing parenthesis.&lt;br /&gt;
&lt;br /&gt;
== Real Life occurrence ==&lt;br /&gt;
&lt;br /&gt;
In French-speaking countries, apostrophes are a common character in street names. More often than not, French speakers unwittingly trigger SQL injection bugs when trying to order something from a US shop. In Italy, they are often part of town names, too (e.g. {{w|L'Aquila}}). Apostrophes are also found in a great many Irish surnames, often resulting in similar problems and/or data validation errors.&lt;br /&gt;
&lt;br /&gt;
In 2020 the British corporate register accepted a registration for &amp;quot;&amp;amp;quot;&amp;amp;gt;&amp;amp;lt;SRC=HTTPS://MJT.XSS.HT&amp;amp;gt; LTD&amp;quot;, which was soon renamed &amp;quot;THAT COMPANY WHOSE NAME USED TO CONTAIN HTML SCRIPT TAGS LTD&amp;quot; to avoid a cross-site scripting problem. [https://forum.aws.chdev.org/t/cross-site-scripting-xss-software-attack/3355/8 Discussion on the Companies House Developer Forum]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[:Category:Comics featuring Little Bobby Tables|Comics featuring Little Bobby Tables]]&lt;br /&gt;
&lt;br /&gt;
{{navbox-characters}}&lt;br /&gt;
[[Category:Characters]]&lt;/div&gt;</summary>
		<author><name>Kop red</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Little_Bobby_Tables&amp;diff=297228</id>
		<title>Little Bobby Tables</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Little_Bobby_Tables&amp;diff=297228"/>
				<updated>2022-10-21T03:22:09Z</updated>
		
		<summary type="html">&lt;p&gt;Kop red: /* Appearances */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox character&lt;br /&gt;
| image      = Little Bobby Tables.PNG&lt;br /&gt;
| imagesize  = &lt;br /&gt;
| caption    = First drawn drawing in [[342: 1337: Part 2]].&lt;br /&gt;
| first_appearance = [[327: Exploits of a Mom]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;Robert'); DROP TABLE students;--&amp;lt;/code&amp;gt;''', nicknamed '''Little Bobby Tables''', is the youngest son of elite hacker [[Mrs. Roberts]]. His elder sister is [[Elaine Roberts|Help I'm trapped in a driver's license factory Elaine Roberts]]. His &amp;quot;full&amp;quot; name is known to cause problems with some computers. When he was first enrolled in school ([[327: Exploits of a Mom]]), it exploited a vulnerability in the parsing of students' names into the school's student database resulting in the school losing all the student records for the year.&lt;br /&gt;
&lt;br /&gt;
In {{w|SQL}}, commands are terminated by semicolons '''&amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;''' and data is often quoted using single quotes '''&amp;lt;code&amp;gt;'&amp;lt;/code&amp;gt;'''.  Commands may also be enclosed in parentheses '''&amp;lt;code&amp;gt;(&amp;lt;/code&amp;gt;''' and '''&amp;lt;code&amp;gt;)&amp;lt;/code&amp;gt;'''.  Data is stored in tables of similar items (e.g. '''&amp;lt;code&amp;gt;students&amp;lt;/code&amp;gt;''') and individual entries are &amp;quot;rows&amp;quot; in the table.  To delete an entire table (and every row of data in that table), you use the command '''&amp;lt;code&amp;gt;DROP&amp;lt;/code&amp;gt;''' (e.g. '''&amp;lt;code&amp;gt;DROP TABLE students&amp;lt;/code&amp;gt;''').  The '''&amp;lt;code&amp;gt;--&amp;lt;/code&amp;gt;''' represents the start of a {{w|Comment_(computer_programming)#SQL|SQL comment}} which ensures that the rest of the command is ignored so an error will not occur.&lt;br /&gt;
&lt;br /&gt;
The exploited vulnerability is that the single quote in the name input was not properly &amp;quot;escaped&amp;quot; by the software.  Thus, when the name is embedded into some SQL statement, the quote is erroneously parsed as a closing quote inside that statement, rather than being parsed as part of the name.  Lack of such escaping is a common SQL vulnerability; this type of exploit is referred to as {{w|SQL injection}}.&lt;br /&gt;
&lt;br /&gt;
The name Bobby Tables inspired a website, [http://bobby-tables.com/ bobby-tables.com], a guide for beginning programmers to learn the right way to avoid SQL injection in their code.  A similarly named character, Mister Rogers, appears in [[884: Rogers St.]], with the same code injection in his middle name. It appears in [[1253: Exoplanet Names]] as one of the suggested planet names.&lt;br /&gt;
&lt;br /&gt;
== Appearances ==&lt;br /&gt;
In the five comics he is referenced he is only drawn three times. The first two is in the [[:Category:1337|1337 series]] where he is drawn as a Cueball-like kid. See picture above. But then he also appears as a young man with long curly hair, looking very much like a woman in [[884: Rogers St.]] Here it is only the title text that reveals that this is Bobby, that and the fact that [[Randall]] in the official transcript does not mention the gender, but only that it is a person. &lt;br /&gt;
Here is how he looks in that comic:&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Adult Bobby Tables.PNG]]&lt;br /&gt;
&lt;br /&gt;
There have been suggestions that the Robert in the table in [[596: Latitude]] was Bobby, but given that [[Black Hat]] has never had any relation to him in the other comics, and that [[Rob]] has, it seems more likely that the Robert is Rob.&lt;br /&gt;
&lt;br /&gt;
== Example of SQL injection ==&lt;br /&gt;
&lt;br /&gt;
A typical, unsecured SQL command vulnerable to SQL injection would be something like:&lt;br /&gt;
&lt;br /&gt;
 database.execute(&amp;quot;INSERT INTO students (name) VALUES ('&amp;quot; + name + &amp;quot;');&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; is a variable which is filled with the name to be inserted into the database. With a regular name, this would result in the following SQL command to be sent to the database system:&lt;br /&gt;
&lt;br /&gt;
 INSERT INTO students (name) VALUES ('Elaine');&lt;br /&gt;
&lt;br /&gt;
However, with Little Bobby Tables's full name, the SQL command would be:&lt;br /&gt;
&lt;br /&gt;
 INSERT INTO students (name) VALUES ('Robert'); DROP TABLE students;--');&lt;br /&gt;
&lt;br /&gt;
Or, if split after each &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 INSERT INTO students (name) VALUES ('Robert');&lt;br /&gt;
 DROP TABLE students;&lt;br /&gt;
 --');&lt;br /&gt;
&lt;br /&gt;
The first command inserts the name &amp;lt;code&amp;gt;Robert&amp;lt;/code&amp;gt; into the database as in the first example. The second command however completely deletes the table &amp;lt;code&amp;gt;students&amp;lt;/code&amp;gt;. The remainder is a comment to prevent syntax errors with the apostrophe and the closing parenthesis.&lt;br /&gt;
&lt;br /&gt;
== Real Life occurrence ==&lt;br /&gt;
&lt;br /&gt;
In French-speaking countries, apostrophes are a common character in street names. More often than not, French speakers unwittingly trigger SQL injection bugs when trying to order something from a US shop. In Italy, they are often part of town names, too (e.g. {{w|L'Aquila}}). Apostrophes are also found in a great many Irish surnames, often resulting in similar problems and/or data validation errors.&lt;br /&gt;
&lt;br /&gt;
In 2020 the British corporate register accepted a registration for &amp;quot;&amp;amp;quot;&amp;amp;gt;&amp;amp;lt;SRC=HTTPS://MJT.XSS.HT&amp;amp;gt; LTD&amp;quot;, which was soon renamed &amp;quot;THAT COMPANY WHOSE NAME USED TO CONTAIN HTML SCRIPT TAGS LTD&amp;quot; to avoid a cross-site scripting problem. [https://forum.aws.chdev.org/t/cross-site-scripting-xss-software-attack/3355/8 Discussion on the Companies House Developer Forum]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[:Category:Comics featuring Little Bobby Tables|Comics featuring Little Bobby Tables]]&lt;br /&gt;
&lt;br /&gt;
{{navbox-characters}}&lt;br /&gt;
[[Category:Characters]]&lt;/div&gt;</summary>
		<author><name>Kop red</name></author>	</entry>

	</feed>