东南大学srtp论文模板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Southeast University
光学课程论文
论文题目:浅析iPhone6屏幕的宣传卖点
学生院系:物理
****:**
学生学号: ********
Southeast University
浅析iPhone6屏幕的宣传卖点
摘要
关键词:双域像素Dual-domain pixels;光取向技术Phote aligment;Retina HD;
目录
引言 (3)
1 SQL注入过程 (3)
1.1判断是否可以攻击 (3)
1.1.1输入为数字时: (3)
1.1.2输入为字符串时: (4)
1.2判断数据库类型 (4)
1.2.1对于IIS未关闭的 (4)
1.2.2对于IIS不返回错误信息的 (4)
1.3判断数据类型 (5)
1.4猜测表名 (5)
1.5猜测列名 (5)
1.6得到数据 (5)
1.7直接获得用户名及密码 (6)
2.SQL注入防范 (6)
2.1客户端 (6)
2.2加密 (7)
2.3 IIS的限制 (7)
2.4 IIS权限的分配 (7)
Southeast University 结语 (7)
[参考文献] (7)
引言
计算机的发展越来越快,可是随之而来的却是一系列安全问题,这些安全问题直接威胁到了用户的私人信息,诸如账号,密码,住址等,他们利用用户的好奇心,欺骗用户或者在用户毫不知情的情况下,入侵PC,盗取资料,对用户构成一定威胁,危害不仅局限于此,譬如在08年时一场大规模的SQL注入席卷了全球,他们堆积选择ip,将目标锁定到不同网站,其中包括一些受信任的网站,用户点击网站之后会受到感之后成为病原体。
现在由于程序员的水平参差不齐,在编写程序的时候有时会很少考虑到安全方面的因素,及缺少用户输入安全性的判断,这样就导致不法分子有机可乘,他们根据不同的输入,分析返回结果,得到数据库服务器的相关信息,最后可以为所欲为。
1 SQL注入过程
1.1判断是否可以攻击
首先我们要将ie浏览器的Internet=>高级=>显示好友http信息去掉,这样我们就可以得到不同的错误,位置后的判断打下基础。
比如说形如一个http://example/mainView/show.asp?ID=123这是一个正常的网站,在这个网站中数据库服务器通常通过select * from tableName where ID=123来将结果集返回给客户端,这本来是没有什么问题的,可是这里却存在极大的安全隐患,比如说我们可以在后面添加一些代码,可以这样测试1.1.1输入为数字时:
通过经典的1,2测试法,我们可以这样做
不添加任何内容http://example/mainView/show.asp?ID=123;不报错
添加and 1=1这样就变成了http://example/mainView/show.asp?ID=123 and1=1;不报错
Southeast University 添加and 1=2 这样就变成了http://example/mainView/show.asp?ID=123 and 1=2;报错
1.1.2输入为字符串时:
末尾添加一个‘,这样就变成了http://example/mainView/show.asp?ID=123’;报错
添加‘and ’1‘=‘1这样就变成了http://example/mainView/show.asp?ID=123 ’and‘1'='1';不报错
添加‘and ’1‘=‘2这样就变成了http://example/mainView/show.asp?ID=123 ’and‘1'='2';报错
当这两个条件均满足时,我们可以知道show.asp不存在安全检测机制,因此可以得到我们show.asp 是存在漏洞的。判断出这部分内容是可以实行sql注入时,我们可以进行下属步骤
1.2判断数据库类型
在和asp搭配的网站中,大多数采用的是access和sqlserver两种数据库,故这里我们不讨论mysql 这种类型的。
1.2.1对于IIS未关闭的
我们可以根据系统变量来判断,对于sqlserver数据库,其中存在一些系统变量,比如说user,利用这点,可以执行以下语句
http://example/mainView/show.asp?ID=123 and user>0;
我们需要解释以下,user存储的是当前连接的用户名,类型为nvarchar的,结果可想而知,我们将两个同类型的进行比较,那么系统首先会将nvarchar 的值转换为int,转换不成功,抛出错误,之后我们分析得到的错误信息:将userName(用户名)转换为int失败,这样,我们不仅判断出了这是sqlserver数据库,同时知道了用户名为userName。
对于ACCESS数据库,我们只需要简单的在最后添加一个‘即可
http://example/mainView/show.asp?ID=123‘
如果返回Microsoft JET Database Engine 错误 '80040e14',说明存在字符串语法错误,从中我们看出在show.asp 行8存在错误,从这个错误我们可以看出这个网站采用的是ACCESS数据库
1.2.2对于IIS不返回错误信息的
我们可以根据系统表来判断:Sqlserve的系统表为sysobjects,access的系统表为msysobjects 所以我们这样判断
http://example/mainView/show.asp?ID=123 and (select count(*) from sysobjects)>0