这里是很多MySQL JDBC Attack
的小技巧,我仅在MySQL
的JDBC
驱动中测试,这里的技巧可能在其他类型的数据库驱动中也存在
文章:https://mp.weixin.qq.com/s/lmoWKK41ZQzZOh-P26VUng
推荐搭建:推荐配合 https://github.com/4ra1n/mysql-fake-server 使用
参考Application1
和Example1
代码
这是一个不存在任何过滤的情况,直接执行即可RCE
参考Application1
和Example1
代码
这里展示了一种简单的防护和绕过,MySQL
驱动对于连接参数的大小不做限制,如果开发者不做大小写限制,将会被轻易饶过
参考Application3
和Example3
代码
这里展示了一种简单的防护和绕过,MySQL
驱动允许的Bool
值是包含true/yes
两种的,因此存在一种绕过
参考Application4
和Example4
代码
这里展示了某些情况下的绕过,MySQL
驱动允许URL
编码,因此如果开发者没有按照标准URL
解析和过滤,将会存在绕过
参考Application5
和Example5
代码
对于这种情况,似乎是安全了,或许有其他的绕过?
参考Application6
和Example6
代码
这也是JDBC
攻击很常见的一种情况
参考Application7
和Example7Bypass
代码
限制额外连接参数情况下如何绕过
参考Application8
和Example8Bypass
代码
一种特殊情况的绕过,属于一种逻辑漏洞
参考Application9
和Example9Bypass
代码
另一种特殊情况的绕过,开发者忽略某些参数过滤导致的绕过
参考Application10
和Example10
代码
对于这种情况,似乎是安全了,或许有其他的绕过?