› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
jugelizi
V2EX  ›  MySQL

这样还能注入吗

  •  
  •   jugelizi · Oct 23, 2015 · 4087 views
    This topic created in 4029 days ago, the information mentioned may be changed or developed.
    Supplement 1  ·  Oct 23, 2015
    “ SELECT * from table_name where user_name='$usr_name'”

    utf-8 的编码,过滤了 usr_name 的空格和单双引号

    是不是就没法注入了啊
    10 replies  •  2015-10-25 18:04:31 +08:00
    kimmykuang
    kimmykuang
    Oct 23, 2015 via Android
    1
    多字节注入可破,请用 pdo
    lianz
    lianz
    Oct 23, 2015
    2
    sql 拼接是注入之源,只要有 sql 拼接,就有可能注入。

    PS :
    我就不明白了,你们为了避免注入,费尽心思去做 sql 过滤,为什么就不直接用参数化 sql 呢????
    cxbig
    cxbig
    Oct 23, 2015
    3
    如果是做开发,不要造轮子,用现有的 OOP 解决方案。
    如果是做研究,不妨直接看现有解决方案的源代码。
    SourceMan
    SourceMan
    Oct 23, 2015
    4
    PDO 吧
    bdbai
    bdbai
    Oct 23, 2015 via iPhone
    5
    @lianz 数据库的 escape 函数怎么样?
    a591826944
    a591826944
    Oct 23, 2015
    6
    直接 PDO params bind 啊 拼接是不能过滤注入的。。这都是 古老的流派啊
    lianz
    lianz
    Oct 24, 2015
    7
    @bdbai 我就不懂为什么直接用参数化一了百了为什么你就不想用。为什么那么爱自己一个一个参数过滤,不累吗?每次更新代码都要检查一下是否有参数漏了过滤,不累?风险不高??
    jugelizi
    jugelizi
    OP
    Oct 25, 2015
    8
    @kimmykuang 没有啊 这是别人写的代码 我就是想知道是不是不会实现注入了,宽字节 gbk 的好像是可以 但是 utf 的不是宽字节无法形成单引号注入了啊
    psusfy
    psusfy
    Oct 25, 2015
    9
    @lianz 怪只怪网上垃圾代码太多,孩子们都被带沟里去了
    wizardforcel
    wizardforcel
    Oct 25, 2015
    10
    utf8 下面,比如`\xe9\xbb\x27`,转义的时候会变成`\xe9\xbb\x5c\x27`,然后前面三个构成一个 utf8 字符,后面那个会被单独解析。 gbk 同理。

    php 下`mb_`开头的函数没有问题,但还是推荐使用参数化。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5358 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 02:25 · PVG 10:25 · LAX 18:25 · JFK 21:25
    ♥ Do have faith in what you're doing.