收藏 分享(赏)

网络攻击与防护论文.doc

上传人:dzzj200808 文档编号:2282687 上传时间:2018-09-09 格式:DOC 页数:20 大小:1.92MB
下载 相关 举报
网络攻击与防护论文.doc_第1页
第1页 / 共20页
网络攻击与防护论文.doc_第2页
第2页 / 共20页
网络攻击与防护论文.doc_第3页
第3页 / 共20页
网络攻击与防护论文.doc_第4页
第4页 / 共20页
网络攻击与防护论文.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、江西理工大学应用科学学院网络攻击与防御课程作业论文题 目:_SQL 注入分析_系 别:_信息系_班 级:_网络 091_姓 名:_苏建滔_成 绩:_二一二年四月2SQL 注入分析课程设计一、选题的目的和意义网络技术在随着现代化信息技术的不断发展与进步的基础上,在现实生活中得到广泛的应用,其中 Web 成为了主流的网络和应用技术,但依然不可避免的是网络安全问题的出现。网络安全问题目前已成为信息时代一个不容忽视的问题。在探究和实际操作的基础上,总结网络攻击方法的原理以及有针对性的防护技术,这对于加强网络安全性能,实现 web 服务器的安全有着极其重要的意义。二、 SQL 注入分析1、SQL 注入的

2、原理SQL 注入是一种网络攻击方式,在此攻击方式中,恶意代码被强行插入字符串中,并将该字符串传递至程序执行的 SQL 语句中以构成攻击方欲执行的任何 SQL 语句,同时分析服务器返回的信息,获得有关网站或服务器的重要信息和敏感信息,以达到进一步获得非法权限和隐秘资料的目的。 利用 WEB 应用对用户输入验证程序设计上的疏忽大意,或验证程序的不严格,从而使用户输入的数据中包含对数据库系统具有一定特殊意义的命令或者符号,让 WEB 应用用户有可能直接对后台数据库系统下达不正当指令,实施入侵行为。SQL 注入的产生主要是3由动态字符串的构建和不安全的数据库配置所产生。动态字符串的构建主要是由错误的处

3、理转义字符、处理类型、处理联合查询、处理错误以及错误的处理多次提交所构成;不安全的数据库配置的产生主要是由默认预先安装的用户,以 root,SYSTEM 或者Administrator 系统用户来运行和默认允许诸多系统函数(如xp_cmdshell,OPENROWSET 等)所构成。2、SQL 注入攻击的多种方式构造参数攻击形式:若一恶意用户提供的字段并非强制类型,或者无实施类型强制,则会发生此形式的攻击。当在一个 SQL 语句中使用一个数字字段时,程序员未检查用户输入字段的合法性(输入字段是否为数型)时就会发生这种攻击。例如:Statement:=“SELECT*FROM data WHER

4、E id=“+a_variable+“;“从以上语句可以看出,作者希望 a_variable 是与“id“字段有关的数字。但如果终端用户选择一个字符串,就绕过了对转义字符的需要。转义字符类型的攻击形式:Web 应用程序开发时没有对用户的输入进行转义字符过滤时,会发生这种形式的注入式攻击,它会被传递给一个 SQL 语句,这样就会导致恶意用户对数据库上的语句实施操纵。例如,下面的这行代码就会演示这种漏洞:Statement:=“SELECT*FROM users WHERE name=“+userName+“;“4该段代码的设计目的是将特定的用户从其用户表中取出,但如果用户名被一个恶意的用户用一种

5、特定的方式伪造,这个语句所执行的操作可能就不是应用程序开发者所期望的那样了。例如,将用户名变量(即 username)设置为:aor1=1,此时原始语句发生了变化:SELECT*FROM users WHERE name=aOR1=1;如果这种代码被用于一个认证过程,那么这个例子就能够强迫选择一个合法的用户名,因为赋值1=1 永远是真。在一些特定的SQL 服务器上,如 SQL Server 中,任何一个 SQL 命令都可以通过这种方法被注入,包括执行多个语句。Union 查询攻击形式:Union 查询动机是绕过验证或者提取数据。攻击者在查询语句中注入 Union SELECT 语句,并且因为用

6、户控制“SELECT 语句”的内容,攻击者可以得到想要的信息。Union 查询SQL 注入测试。假设我们有如下的查询:SELEC Name,Psw,Tel FROM Users WHERE Id=$id 然后我们设置id 的值为:$id=1UNION ALL SELECT bank CardNumber,1,1 FROM BankCardTable那么整体的查询就变为:SELECT Name,Psw,Tel FROM Users WHERE Id=1 UNION ALL SELECT bankCardNumber,1,FROM BankCarTable5显然这样就能得到所有银行卡用户的信息。注

7、释符攻击形式:使用注释通常可以使攻击者绕过验证。SQL在查询中支持注释,如,-、#等。通过注入注释符,恶意用户或者攻击者可以毫不费力的截断 SQL 查询语句。例如,对于查询语句SELECT*FROM users WHERE usermame=uname and Password=psw,如果恶意用户输入参数 uname 的值为 admin-,Password 的值为空,那么查询语句变为 SELECT*FROM users WHERE usermame=admin and Password=,也就 SELECT*FROM users WHERE usermame=admin。这就使得恶意用户不用

8、提供密码就可以通过验证。三、 SQL 注入实例分析1 系统核心代码显示文章内容的主要代码:发布者:“window.close();“)rs.closeelse17登录验证核心代码alert(用户名或密码错误);window.location=?action=showlogon;“)rs.closers2.closeelse18六、服务器目录权限配置1、权限分配原则分析 对一个网站来说除了上传文件的目录能写入文件以外其它的所有目录均不能写入文件,而且上传文件的目录不能有网页程序的执行权限,这样可以保证即使黑客成功上传程序到上传目录那么也是不执行的。2、具体权限分配过程利用 NTFS 文件系统的权

9、限分配功能:首先在文件夹安全选项里面把 iis 帐号加到网站根目录中。然后指定其只能读取,不能写入文件,那么整个网站里面的所有目录都不能写入文件了。19下面接着给上传文件目录加上写人的权限。至此已经完成了除了上传文件目录可以写入文件其它目录均不能写入文件。接着配置上传目录的运行权限使其不能运行网页程序。至此完成了权限分析中的所有需求。20七、总结本次课程设计对网站 SQL 注入攻击及网站安全技术进行了比较详细地分析,通过本次课程设计使我掌握了对 SQL 注入攻击漏洞的检测技术和预防 SQL 注入的手段,而且学会了在 IIS 和 NTFS 文件系统环境下安全配置网站的目录权限的技能,了解到信息系统网站中存在的普遍安全漏洞。网站的安全稳定运行,应侧重于预防,不断增强安全意识,采取各种预防措施,才能及时有效地排除安全隐患。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报