zoukankan      html  css  js  c++  java
  • [转]电影《龙纹身女孩》中的那句 SQLThe Girl With The ANSI Tattoo

    电影《龙纹身女孩》中的那句 SQL

    我很喜欢David Fincher的龙纹身女孩。区别于肤浅的为了钱的很多好莱坞电影,这个电影是个有紧张气氛的,又十分大气的,只是稍微有点惊悚的电影。我最喜欢的部分是当利斯贝斯萨兰德开始用SQL解决一个谋杀案的时候。

     

    我们可以从下面的图中的绿色的代码看到,他在他的笔记本上查询瑞典警方的数据库,关键词有未解决的,断头等,但是他没有查询整个库。

     

    这里我使用photoshop把几张图片拼接在一起,就得到了如下:

     

    观众会立即发现,这并不是Oracle SQL,很明显AS在在这样的表别名下是不合法的。

    请注意,我们能辨别出她使用了一个ANSI“FT”左连接到Keyword表

    最后我们得到Västra Götaland的一个结果列表。

    下面是我们通过Oracle WTF重建的SQL。

    SELECT DISTINCT v.fname, v.lname, i.year, i.location, i.report_file
    FROM   Incident AS i
           LEFT JOIN V(ictim?)...  -- presumably v.incident_id = i.id
           LEFT JOIN Keyword AS k ON k.incident_id = i.id
    WHERE  i.year BETWEEN 1947 AND 1966
    AND    i.type = 'HOMICIDE'
    AND    v.sex = 'F'
    AND    i.status = 'UNSOLVED'
    AND    ...
           OR v.fname IN ('Mari', 'Magda')
           OR SUBSTR ...
    AND    (k.keyword IN ('rape', 'decapitation', 'dismemberment', 'fire', 'altar', 'priest', 'prostitute')
           ...
           AND SUBSTR(v.fname, 1, 1) = 'R' AND SUBSTR(v.lname, 1, 1) = 'L');
    
    +--------+---------+------+-----------+----------------------------------+
    | fname  | lname   | year | location  | report_file                      |
    +--------+---------+------+-----------+----------------------------------+
    | Anna   | Wedin   | 1956 | Mark      | FULL POLICE REPORT NOT DIGITIZED |
    | Linda  | Janson  | 1955 | Mariestad | FULL POLICE REPORT NOT DIGITIZED |
    | Simone | Grau    | 1958 | Goteborg  | FULL POLICE REPORT NOT DIGITIZED |
    | Lea    | Persson | 1962 | Uddevalla | FULL POLICE REPORT NOT DIGITIZED |
    | Kajsa  | Severin | 1962 | Dals-Ed   | FULL POLICE REPORT NOT DIGITIZED |
    +--------+---------+------+-----------+----------------------------------+
    

      

    好奇的观众会继续问,为什么一个天才级的黑客仅仅使用文字文本过滤的方式去外链被害人和关键词表,岂不知MySQL是有LIKE运算符的,为什么受害者中没有缩写为“R L”的。

    欢迎转载,转载请注明出处。本文出自:http://www.cnblogs.com/zdcaolei
    0
  • 相关阅读:
    谷歌浏览器无法携带cookie问题
    如何言简意赅表达你需要寻求开发协助?
    vue传参params参数不能混用?
    浅谈JS变量声明和函数声明提升
    如何提高你的CSS水平
    闭包,看这一篇就够了——带你看透闭包的本质,百发百中
    Vue-给对象新增属性(使用Vue.$set())
    PHP const问题
    Linux/U-boot version with "-dirty"
    360度评估互评如何避免恶意打分
  • 原文地址:https://www.cnblogs.com/zdcaolei/p/2583701.html
Copyright © 2011-2022 走看看