bromineMai

只能执行一条 SQL 的情况下,基于 SELECT 的原始查询,能做到最大破坏力的 Inject 是什么

  •  
  •   bromineMai · Apr 21, 2018 · 4485 views
    This topic created in 2979 days ago, the information mentioned may be changed or developed.

    只能执行一条 SQL 是 SQl 驱动的限制,执行"SELECT XXXX;UPDATE XXX"这种明显的多条 SQL 跑不了。 比如:"SELECT * FROM user WHERE user = "+user; 除了"1=1"和"UNIONS SELECT B"这种导致查到不该查到的数据的攻击外 有没有其他破坏力更大的攻击?

    5 replies    2018-06-17 10:36:59 +08:00
    tony1016
        1
    tony1016  
       Apr 21, 2018
    select load_file('C:\\www\\nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';

    懂得👏
    pluone
        2
    pluone  
       Apr 21, 2018
    我们遭受过一次注入,注入后的代码是这样的,然后所有的数据库操作全都阻塞了,debug 数据库也不会返回 select * from t_user where id in (12345 and sleep(5)) for update;
    bromineMai
        3
    bromineMai  
    OP
       Apr 21, 2018
    ferock
        4
    ferock  
    PRO
       Apr 21, 2018 via iPhone
    笛卡尔集情况下不走索引锁全表
    yw9381
        5
    yw9381  
       Jun 17, 2018 via Android
    除了注入数据还可以这么操作
    1.利用数据库程序提供的 benchmark 函数。拖垮数据库服务器完成 DoS 攻击
    2.利用 load_file 函数读取磁盘上的文件
    3.利用 select 1 dumpfile '/tmp/1.php'可以向磁盘上写入文件。例如可以通过注射点写入 webshell。或者是写到自启动的目录。写到 crontab 等等来把攻击最大化
    4.利用 mysql 的写入文件功能+udf 功能可为 mysql 创建第三方函数。函数功能自定义。所以就可以创建一个执行系统命令的函数。具体你可以了解一下 mysql udf 提权原理
    常用的就这几个。当然还有各类奇淫技巧。数据库毕竟还是程序。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   893 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 20:59 · PVG 04:59 · LAX 13:59 · JFK 16:59
    ♥ Do have faith in what you're doing.