V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
andybest
V2EX  ›  问与答

[MySQL] 当SQL发生注入,能怎样?

  •  
  •   andybest · 2013-04-06 15:07:01 +08:00 · 3172 次点击
    这是一个创建于 4279 天前的主题,其中的信息可能已经有所发展或是发生改变。
    环境:MySQL5.5

    发生注入的SQL:select x_id,x_name from x_user where x_id='这里被注入

    在上面这句SQL被注入了,能有什么后果?
    黑客并不知道表名(x_user),也不知道查询与返回的字段名(x_id,x_name)

    那这种情况下被注入能产生什么危害呢?
    比如能dump出全部的表来吗?(我怎么想也做不到)
    能删掉数据吗?(没有表名他怎么删?)

    请大家就这个例子说说看

    回复一定被感谢!
    11 条回复    1970-01-01 08:00:00 +08:00
    SonicXP
        1
    SonicXP  
       2013-04-06 15:27:46 +08:00   ❤️ 1
    select x_id,x_name from x_user where x_id='1' union select table_name, column_name from information_schema.columns where table_schema=database();
    andybest
        2
    andybest  
    OP
       2013-04-06 15:47:31 +08:00
    @SonicXP 感谢,很有启发,
    但是被注入的语句返回的是x_id与x_name这两个字段,那么后面union语句的结果黑客并看不到啊
    breeswish
        3
    breeswish  
       2013-04-06 16:04:00 +08:00 via Android
    提供一个不专业的解答……: 表名可以猜

    另外建议你看下pangolin注入相关
    SonicXP
        4
    SonicXP  
       2013-04-06 16:24:54 +08:00   ❤️ 1
    @andybest 这两个字段的数据是要显示在页面上的吧?让第一个select查询结果为空就好了,比如加上where 1=2,第二个select的结果就是第一行了
    lichao
        5
    lichao  
       2013-04-06 16:51:36 +08:00 via Android
    如果注入的是 update 或 delete
    keakon
        6
    keakon  
       2013-04-06 17:17:05 +08:00
    select x_id,x_name from x_user where x_id='1'; drop database xxx; --';
    andybest
        7
    andybest  
    OP
       2013-04-06 17:25:03 +08:00
    @keakon 除了库被删还有什么可能?似乎黑客都不会做得这么绝吧
    emptyhua
        8
    emptyhua  
       2013-04-06 17:40:59 +08:00   ❤️ 1
    不要小巧sql注入。。。,你可以拿sqlmap这个工具自己测试一下就知道了.

    python ./sqlmap.py -u "http://mydomain.com/bad.php?id=1" --tables --thread=10

    如果mysql的用户权限小就只能dump当前的库,大的话全部库下来没问题。或者只是查一下用户的密码,然后反查一下管理员密码。再往后,基本上安全方面不注意的拿到ssh或3389登录权限不是问题。。。
    shiny
        9
    shiny  
       2013-04-06 17:46:14 +08:00   ❤️ 1
    N年前研究黑客防线的时候记得,如果权限过大,可以导出文件到指定目录,就可以导出一个木马了。
    另外在windows上一些旧版的mysql还能上传dll文件来增加udf函数,相当于一个木马了(新版限制了目录)。

    数据库扒光问题不大,但是如果数据很多,再结合社工就比较可怕了。
    laoyu
        10
    laoyu  
       2013-04-06 21:27:19 +08:00   ❤️ 1
    注入问题必须杜绝,不管什么样的注入,都是致命的!
    注不到表可以猜,盲住,如果数据库账户权限很大的话整个网站基本都会沦陷。
    如果权限较大可以直接导出一句话木马到目录上。
    如果权限够好的话,整个服务器就被沦陷了,即使权限小,还是可以利用内核本身或者其他程序来提权,甚至0day!


    注入一定得杜绝。如果自己把握不好,可以用类似安全宝之类的程序来拦截。
    kopp123
        11
    kopp123  
       2013-04-07 10:05:17 +08:00   ❤️ 1
    sqlmap -u url 如果权限够直接脱裤。
    表名 字段名 数据库名 可以根据系统表解猜。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1357 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:23 · PVG 01:23 · LAX 09:23 · JFK 12:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.