<?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=162.158.167.24</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=162.158.167.24"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/162.158.167.24"/>
		<updated>2026-04-15T19:33:04Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:931:_Lanes&amp;diff=149236</id>
		<title>Talk:931: Lanes</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:931:_Lanes&amp;diff=149236"/>
				<updated>2017-12-14T07:13:13Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.167.24: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;Typo?&lt;br /&gt;
Not positive enough to change, but...&amp;quot;Randall's now wife&amp;quot;? Is that supposed to be 'Randall's NEW wife'? --[[Special:Contributions/68.200.188.141|68.200.188.141]] 02:00, 28 January 2013 (UTC)&lt;br /&gt;
:No. At the time, she was his fiancee. She is now his wife. His then-fiancee, now-wife. [[Special:Contributions/184.144.254.165|184.144.254.165]] 01:32, 28 October 2013 (UTC)&lt;br /&gt;
::This explain now covers this issue very well. Thanks for your hints. --[[User:Dgbrt|Dgbrt]] ([[User talk:Dgbrt|talk]]) 22:35, 6 February 2014 (UTC)&lt;br /&gt;
&lt;br /&gt;
;My edit to the transcript&lt;br /&gt;
I've noticed that when the only characters in a comic are two stick figures, explainxkcd usually calls them &amp;quot;Cueball&amp;quot; and &amp;quot;Friend&amp;quot;. So I changed this transcript to reflect that. I tried to clarify what &amp;quot;off-panel&amp;quot; meant, and I added the fact that the second Cueball-only panel shows only the top half of his body. Lastly, I changed &amp;quot;roughly fifty&amp;quot; to &amp;quot;fifty-two&amp;quot;, since an exact count of the lanes was given in the explanation. I hope no one disagrees with these changes, but if you do, please don't just revert without an explanation. [[User:NealCruco|NealCruco]] ([[User talk:NealCruco|talk]]) 19:06, 13 January 2015 (UTC)&lt;br /&gt;
&lt;br /&gt;
Here's to Randall's Now Wife. Good on you my dear!&lt;br /&gt;
 &lt;br /&gt;
[[User:Weatherlawyer| I used Google News BEFORE it was clickbait]] ([[User talk:Weatherlawyer|talk]]) 16:29, 23 January 2015 (UTC)&lt;br /&gt;
&lt;br /&gt;
Fuck cancer. [[Special:Contributions/108.162.219.143|108.162.219.143]] 02:02, 13 April 2015 (UTC)&lt;br /&gt;
&lt;br /&gt;
Just read Jimmy Carter's got cancer.  I echo the sentiments of the IP poster above me.[[User:PsyMar|PsyMar]] ([[User talk:PsyMar|talk]]) 20:54, 12 August 2015 (UTC)&lt;br /&gt;
&lt;br /&gt;
Might be worth mentioning too that this resembles a Sankey Diagram [[Special:Contributions/162.158.167.24|162.158.167.24]] 07:13, 14 December 2017 (UTC)&lt;/div&gt;</summary>
		<author><name>162.158.167.24</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=327:_Exploits_of_a_Mom&amp;diff=126073</id>
		<title>327: Exploits of a Mom</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=327:_Exploits_of_a_Mom&amp;diff=126073"/>
				<updated>2016-09-02T12:30:25Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.167.24: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 327&lt;br /&gt;
| date      = October 10, 2007&lt;br /&gt;
| title     = Exploits of a Mom&lt;br /&gt;
| image     = exploits_of_a_mom.png&lt;br /&gt;
| titletext = Her daughter is named Help I'm trapped in a driver's license factory.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
[[Mrs. Roberts]] receives a call from her son's school. The caller, likely one of the school's administrators, asks if she really named her son &amp;lt;code&amp;gt;[[Robert'); DROP TABLE students;--]]&amp;lt;/code&amp;gt;, a rather unusual name. Perhaps surprisingly, Mrs. Roberts responds in the affirmative, claiming that she uses the nickname &amp;quot;Little Bobby Tables&amp;quot;. As the full name is read into the school's system's databases without {{w|Data sanitization#SQL injection|data sanitization}}, it causes the student table in the database to be deleted.&lt;br /&gt;
&lt;br /&gt;
The title of this comic is a pun—''exploit'' can mean an accomplishment or heroic deed, but in computer science the term refers to a program or technique that takes advantage of a vulnerability in other software. In fact, one could say that her exploit is to exploit an exploit (her achievement is to make use of a vulnerability). The title can also refer to her choice of name for her son, which is rather extraordinary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In {{w|SQL}}, a database programming language, commands are separated by semicolons &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt; and strings of text are often delimited using single quotes &amp;lt;code&amp;gt;'&amp;lt;/code&amp;gt;. Parts of 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 entries are stored as &amp;quot;rows&amp;quot; within named &amp;quot;tables&amp;quot; of similar items (e.g. &amp;lt;code&amp;gt;Students&amp;lt;/code&amp;gt;).  The command to delete an entire table (and every row of data in that table) is &amp;lt;code&amp;gt;DROP TABLE&amp;lt;/code&amp;gt;, as in &amp;lt;code&amp;gt;DROP TABLE Students;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The exploited vulnerability here is that the single quote in the name input was not correctly &amp;quot;escaped&amp;quot; by the software. That is, if a student's name did indeed contain a quote mark, it should have been parsed as one of the characters making up the text string and not as the marker to close the string, which it erroneously was. Lack of such escaping is a common SQL vulnerability; this type of exploit is referred to as {{w|SQL injection}}. Mrs. Roberts thus reminds the school to make sure they have added data filtering code to prevent code injection exploits in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, to add information about Elaine to a data table called 'Students' the SQL query could be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;INSERT INTO Students (firstname) VALUES ('Elaine');&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, using the odd name &amp;lt;code&amp;gt;Robert');DROP TABLE Students;--&amp;amp;nbsp;&amp;lt;/code&amp;gt; where we used &amp;quot;Elaine&amp;quot; above, the SQL query becomes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;INSERT INTO Students (firstname) VALUES ('Robert');DROP TABLE Students;--&amp;amp;nbsp;');&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By insertion of the two semi-colons in the odd name this is now three well formed SQL commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
INSERT INTO Students (firstname) VALUES ('Robert');&lt;br /&gt;
&lt;br /&gt;
DROP TABLE Students;&lt;br /&gt;
&lt;br /&gt;
--&amp;amp;nbsp;');&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first line is valid SQL code that will legitimately insert data on a Student called Robert.&lt;br /&gt;
&lt;br /&gt;
The second line is valid injected SQL code that will delete the whole Student data table from the database.&lt;br /&gt;
&lt;br /&gt;
The third line is a valid code comment ( --&amp;amp;nbsp; denotes a comment) which will be ignored by the SQL server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this to work, it helps to know a little about the structure of the database. But it's quite a good guess that a school's student management database might have a table named &amp;lt;code&amp;gt;Students&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Of course, in real life most exploits of this kind would be performed not by socially engineering a person's name such that it would eventually be entered into a school database query, but rather by accessing some kind of input system (such as a website's login screen or search interface) and guessing various combinations by trial and error until something works, perhaps by first trying to inject the &amp;lt;code&amp;gt;SHOW TABLES&amp;lt;/code&amp;gt; command to see how the database is structured.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To correctly and harmlessly include the odd name in the Students table in the school database the correct SQL is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;INSERT INTO Students (firstname) VALUES ('Robert\');DROP TABLE Students;--&amp;amp;nbsp;');&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the single quote after Robert is now sanitized by a backslash, which changes it from malicious code to harmless data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should be noted that while data sanitization can mitigate the risks of SQL injection, the proper prevention technique is to use {{w|Prepared statement}}s.&lt;br /&gt;
&lt;br /&gt;
==Daughter's name==&lt;br /&gt;
The XKCD title text references that Mom's daughter is named &amp;quot;Help I'm trapped in a driver's license factory&amp;quot;. This is a play on how if someone is stuck and forced to work in a manufacturing factory/plant then they will write on the product &amp;quot;Help I am trapped in a ____ factory&amp;quot; in order to tell people on the outside. Having this name would cause any police officer that pulls her over to show some concern, as well as getting the license in the first place would be difficult. The idea of inserting a help message like this was already used in [[10: Pi Equals]].&lt;br /&gt;
&amp;lt;!-- Help! I'm being held prisoner in a Wiki markup code editing facility! --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This xkcd comic has become rather famous, spawning at a site about preventing SQL injection named http://bobby-tables.com and also at the official [https://docs.python.org/2/library/sqlite3.html Python SQLite documentation]. Noted security expert {{w|Bruce Schneier}} (who often quotes xkcd) [https://www.schneier.com/blog/archives/2010/10/pen-and-paper_s.html mentioned a similar attack] which happened in the 2014 Swedish general elections.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:[Mrs. Roberts receives a call from her son's school.]&lt;br /&gt;
:Caller: Hi, This is your son's school. We're having some computer trouble.&lt;br /&gt;
&lt;br /&gt;
:Mrs. Roberts: Oh, dear - did he break something?&lt;br /&gt;
:Caller: In a way -&lt;br /&gt;
&lt;br /&gt;
:Caller: Did you really name your son &amp;lt;code&amp;gt;Robert'); DROP TABLE Students;--&amp;lt;/code&amp;gt; ?&lt;br /&gt;
:Mrs. Roberts: Oh, yes. Little Bobby Tables, we call him.&lt;br /&gt;
&lt;br /&gt;
:Caller: Well, we've lost this year's student records. I hope you're happy.&lt;br /&gt;
:Mrs. Roberts: And I hope you've learned to sanitize your database inputs.&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
[[Category:Comics featuring Mrs. Roberts]]&lt;br /&gt;
[[Category:Comics featuring Little Bobby Tables]]&lt;br /&gt;
[[Category:Comics featuring Elaine Roberts]]&lt;br /&gt;
[[Category:Comics featuring Miss Lenhart]]&lt;/div&gt;</summary>
		<author><name>162.158.167.24</name></author>	</entry>

	</feed>