能力值:
( LV2,RANK:10 )
|
-
-
2 楼
因为SQL语句一般是含空格的,获得的参数值与注入的SQL语句之间肯定也有空格,用if语句判断如果有空格就不能操作。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
如果这样呢?
update/**/user/**/ set/**/password='123456';
也没空格.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
这样的sql语句能执行吗?我还没见过这样的sql语句,请问一下这样的sql语句在哪种数据库执行?转义符号?请赐教。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
update/**/T_SYS_USER/**/set/**/US_PWD='111' SQLserver2005真的可以执行,大哥好厉害!
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
学习了
|
能力值:
( LV13,RANK:350 )
|
-
-
7 楼
and((select(asc(mid(pass,1,1)))from[name])>97
谁说注入一定需要空格哇。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
禁止一切特殊符号。 既然连空格都可以禁止,其他符号没有理由放行。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
如果你是MSSQL可以使用@参数化你要查询的条件,只做屏蔽和过滤是非常危险的。
|
能力值:
( LV15,RANK:280 )
|
-
-
10 楼
有些数据库引擎这样也行,se/**/lect * from user.
|
能力值:
( LV6,RANK:80 )
|
-
-
11 楼
这个是什么数据库可以,能否指教一下?谢谢 (我试了好几个数据库都不可以)
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
当然可以执行了,/**/ 在sql语句中是注释的作用, 其实还有很多方法可以代替空格的。所以仅仅过滤空格是不行的。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
如果过滤掉单引号呢?时不时就完全OK了?
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
参数是 数字。。。直接转换 int ,异常就over
|
能力值:
( LV7,RANK:100 )
|
-
-
15 楼
楼上的 宽泛一点 就是白名单的概念了 只允许指定的规则内语句执行 不过网站需要先进行一段时间的学习 同时 时下的很多java框架 稍微注意一下 基本注入就都防护了
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
字符串,过滤单引号。数字参数强制INT转换
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
这个是可以执行的,/**/就是mysql中的注释嘛
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
这个是可以执行的,/**/就是mysql中的注释嘛
|
能力值:
(RANK:380 )
|
-
-
19 楼
把提交的数据通过web程序自定义编码后扔到数据库存储就一切清静了。
例如
select xx from xx
s e l
xxx xxxx xxxxx 代表这个编码方式没有空格和不和谐的特殊符号()/*%什么的就行了。
每个字符重编码 现实的时候解码返回
乱弹一下 呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
对提交的参数进行安全检查就可以了。判断提交参数的数据类型以及长度,对付一般的注入就可以了。
对于字符串要有长度限制,和过滤特殊符号。
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
不就一空格么 union+select+username,password+form+admin--
或者换成chr(XX), %XX等等~~
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
这些+密,变换对ACCESS都是无效的
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
学习了!!!!!!!!!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
不行的 ,还是不安全,因为ascii 码表 256个字符里面有不少可以代替空格 ,具体可以用脚本跑一下就知道,这个 在 sqli-labs第26课有相应的实验 ,就是要你在空格被过滤的情况下找到可以代替空格的字符 , 可以用下面的 ruby脚本找到可以代替空格的字符 : require 'net/http'
require 'open-uri'
$url = "http://127.0.0.1/Less-26/?id=1"
$success_str = "Dumb"
255.times do |i|
sep = '%' + '%02x' % i
request = "http://127.0.0.1/Less-26/?id=#{sep}1"
open(request) do |io|
filters.push(sep) unless io.read.include?($success_str)
end
end
puts filters
|
|
|