在理解SQL注入中的一些攻击时,我是一个菜鸟。我目前在日志中看到这种攻击,并想知道是否有人可以帮助我理解它的含义
SQL注入:
410'union/**/select/**/1/**/from/**/(select/**/count(*),concat(floor(rand(0)*2),0x3a,(select/**/concat(user,0x3a,password)/**/from/**/pwn_base_admin/**/limit/**/0,1),0x3a)a/**/from/**/information_schema.tables/**/group/**/by/**/a)b/**/where'1'='1.
答案 0 :(得分:1)
不要完全理解这一点,但select concat(user,0x3a,password) from pwn_base_admin
显然会尝试获取一串用户名和密码的串联,除以“:”
concat(floor(rand(0)*2),0x3a,(
大致相同......结果类似于1:aUserName:UsersPassword
。
如果您需要进一步的帮助,请提供更多详细信息(RDBMS,“联盟”之前的部分......)
希望这有帮助
答案 1 :(得分:0)
有人正在积极尝试未经授权访问您的系统 - 他们正在攻击。
我不知道这个系统有多重要,但是如果它有任何重要性,你应该让系统脱机,直到你整理出代码的数据库访问部分。寻找解决方案的第一个地方是使用绑定参数而不是字符串连接来进行sql查询。
有许多资源可用于描述如何将绑定变量用于您正在使用的任何RDBMS,但这里有一篇文章让我开始:
http://use-the-index-luke.com/sql/where-clause/bind-parameters