SoutheastUniversity1光学课程论文论文题目:浅析iPhone6屏幕的宣传卖点学生院系:物理学生姓名:何翀学生学号:10014312SoutheastUniversity2浅析iPhone6屏幕的宣传卖点摘要关键词:双域像素Dual-domainpixels;光取向技术Photealigment;RetinaHD;目录引言............................................................................................................................................................31SQL注入过程...........................................................................................................................................31.1判断是否可以攻击...........................................................................................................................31.1.1输入为数字时:.......................................................................................................................31.1.2输入为字符串时:...................................................................................................................41.2判断数据库类型...............................................................................................................................41.2.1对于IIS未关闭的...................................................................................................................41.2.2对于IIS不返回错误信息的...................................................................................................41.3判断数据类型...................................................................................................................................51.4猜测表名...........................................................................................................................................51.5猜测列名...........................................................................................................................................51.6得到数据...........................................................................................................................................51.7直接获得用户名及密码...................................................................................................................62.SQL注入防范...........................................................................................................................................62.1客户端...............................................................................................................................................62.2加密...................................................................................................................................................72.3IIS的限制.......................................................................................................................................72.4IIS权限的分配...............................................................................................................................7SoutheastUniversity3结语............................................................................................................................................................7[参考文献]..................................................................................................................................................7引言计算机的发展越来越快,可是随之而来的却是一系列安全问题,这些安全问题直接威胁到了用户的私人信息,诸如账号,密码,住址等,他们利用用户的好奇心,欺骗用户或者在用户毫不知情的情况下,入侵PC,盗取资料,对用户构成一定威胁,危害不仅局限于此,譬如在08年时一场大规模的SQL注入席卷了全球,他们堆积选择ip,将目标锁定到不同网站,其中包括一些受信任的网站,用户点击网站之后会受到感之后成为病原体。现在由于程序员的水平参差不齐,在编写程序的时候有时会很少考虑到安全方面的因素,及缺少用户输入安全性的判断,这样就导致不法分子有机可乘,他们根据不同的输入,分析返回结果,得到数据库服务器的相关信息,最后可以为所欲为。1SQL注入过程1.1判断是否可以攻击首先我们要将ie浏览器的Internet=高级=显示好友http信息去掉,这样我们就可以得到不同的错误,位置后的判断打下基础。比如说形如一个=123这是一个正常的网站,在这个网站中数据库服务器通常通过select*fromtableNamewhereID=123来将结果集返回给客户端,这本来是没有什么问题的,可是这里却存在极大的安全隐患,比如说我们可以在后面添加一些代码,可以这样测试1.1.1输入为数字时:通过经典的1,2测试法,我们可以这样做不添加任何内容=123;不报错添加and1=1这样就变成了=123and1=1;不报错SoutheastUniversity4添加and1=2这样就变成了=123and1=2;报错1.1.2输入为字符串时:末尾添加一个‘,这样就变成了=123’;报错添加‘and’1‘=‘1这样就变成了=123’and‘1'='1';不报错添加‘and’1‘=‘2这样就变成了=123’and‘1'='2';报错当这两个条件均满足时,我们可以知道show.asp不存在安全检测机制,因此可以得到我们show.asp是存在漏洞的。判断出这部分内容是可以实行sql注入时,我们可以进行下属步骤1.2判断数据库类型在和asp搭配的网站中,大多数采用的是access和sqlserver两种数据库,故这里我们不讨论mysql这种类型的。1.2.1对于IIS未关闭的我们可以根据系统变量来判断,对于sqlserver数据库,其中存在一些系统变量,比如说user,利用这点,可以执行以下语句=123anduser0;我们需要解释以下,user存储的是当前连接的用户名,类型为nvarchar的,结果可想而知,我们将两个同类型的进行比较,那么系统首先会将nvarchar的值转换为int,转换不成功,抛出错误,之后我们分析得到的错误信息:将userName(用户名)转换为int失败,这样,我们不仅判断出了这是sqlserver数据库,同时知道了用户名为userName。对于ACCESS数据库,我们只需要简单的在最后添加一个‘即可=123‘如果返回MicrosoftJETDatabaseEngine错误'80040e14',说明存在字符串语法错误,从中我们看出在show.asp行8存在错误,从这个错误我们可以看出这个网站采用的是ACCESS数据库1.2.2对于IIS不返回错误信息的我们可以根据系统表来判断:Sqlserve的系统表为sysobjects,access的系统表为msysobjects所以我们这样判断=123and(selectcount(*)fromsysobjects)0SoutheastUniversity5=123and(selectcount(*)frommysobjects)0由于access数据库在web环境下访问msysobjects是没有权限的。因此不论是哪一种情况,总是会返回错误信息,所以如果页面访问正常,那么可以判断是Sqlserve