只能执行一条 SQL 是 SQl 驱动的限制,执行"SELECT XXXX;UPDATE XXX"这种明显的多条 SQL 跑不了。 比如:"SELECT * FROM user WHERE user = "+user; 除了"1=1"和"UNIONS SELECT B"这种导致查到不该查到的数据的攻击外 有没有其他破坏力更大的攻击?
1
tony1016 2018-04-21 16:29:54 +08:00
select load_file('C:\\www\\nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';
懂得👏 |
2
pluone 2018-04-21 16:40:40 +08:00
我们遭受过一次注入,注入后的代码是这样的,然后所有的数据库操作全都阻塞了,debug 数据库也不会返回 select * from t_user where id in (12345 and sleep(5)) for update;
|
3
bromineMai OP |
4
ferock 2018-04-21 18:59:20 +08:00 via iPhone
笛卡尔集情况下不走索引锁全表
|
5
yw9381 2018-06-17 10:36:59 +08:00 via Android
除了注入数据还可以这么操作
1.利用数据库程序提供的 benchmark 函数。拖垮数据库服务器完成 DoS 攻击 2.利用 load_file 函数读取磁盘上的文件 3.利用 select 1 dumpfile '/tmp/1.php'可以向磁盘上写入文件。例如可以通过注射点写入 webshell。或者是写到自启动的目录。写到 crontab 等等来把攻击最大化 4.利用 mysql 的写入文件功能+udf 功能可为 mysql 创建第三方函数。函数功能自定义。所以就可以创建一个执行系统命令的函数。具体你可以了解一下 mysql udf 提权原理 常用的就这几个。当然还有各类奇淫技巧。数据库毕竟还是程序。 |