信息安全课程结课论文

信息安全课程结课论文

ID:43759202

大小:154.89 KB

页数:30页

时间:2019-10-13

信息安全课程结课论文_第1页
信息安全课程结课论文_第2页
信息安全课程结课论文_第3页
信息安全课程结课论文_第4页
信息安全课程结课论文_第5页
资源描述:

《信息安全课程结课论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程设计论文报告(大作业)SQL注入技术研究课程名称:《信息安全技术》(双语)目录1•在不知道源代码的情况下,怎样确定网站是否存在SQL注入点?32.已知SQL注入点,怎样猜解用户密码?63.已知SQL注入点,如何做跨表查询?73・1如何对其它表的信息做查询,并将之输出到已经存在的页面内?・・・・・73.2如何猜数据表的名字以及字段的名字?93.3如何将对其它表的查询一并输出?94.如何将表内容导出至服务器端文件?如何将木地文件内容读出并显示在查询屮?125.创建上传WebShell146.创建UDF执行系统命令167.利用存储过程进行SQL注入

2、238.自动SQL注入工具介绍259•怎样防范SQLInjection攻击?2710.总结2811•附录:一些参考的网址和书籍29注入攻击是Web安全领域屮一种最为常见的攻击方式。自SQL数据库开始连接至Web应用起,SQL注入就可能已经存在。1998年圣诞节,RainForestPuppy为Phrack(一木由黑客创办且面向黑客的电子杂志)撰写了一篇名为,'NTWebTechnologyVulnerabilities(NTWeb技术漏洞)"的文章。在文章中,第一次向公众介绍了这种新型的攻击技巧。下面是一个SQL注入的典型例子。代码中的sql语句

3、为:Stringsql="select*fromOrdersTablewhereShipCity="+ShipCity+变量ShipCity的值由用户提交,在正常状况下,假如用户输入"Beijing",那么完整的SQL语句为:Select*fromOrdersTablewhereShipCity='Beijing';但假如用户输入一段冇语义的SQL语句,比如:Beijing'jdroptableOrdersTable—那么最后的SQL语句就会变为:Select*fromOrdersTablewhereShipCity='Beijing';drop

4、tableOrdersTable—';我们口J以看到,原本正常执行的查询语句,现在变成了查询完之后,再执行一个drop将表删除掉,这就是一个典型的SQL注入攻击。jflj2000年早期,RainForestPuppy发布了一篇关于SQL注入的报告”HowIhackedPacketStorm",其中详述了如何使用SQL注入来破坏一个当时很流行的Web站点。自此,许多研究人员开始研究并细化利用SQL注入进行攻击的技术。吋至今Fl,SQL注入已变为了一项基本11常见的Web攻击方式。针对不同的平台/服务器/数据库,衍生出了许多针对软件木身缺陷或是编程缺

5、陷而产生的漏洞进行SQL攻击方法以及自动化的注入工具。而另一方而,这也对我们编写Web程序时对进一步加强对安全性的考虑,尽可能地甚至完全地杜绝SQL注入攻击对Web应用/网站带来的损失。下面我将针对这几天查找的资料以及构建的注入环境对SQL注入的原理和技术进行分析。首先对我在本地编写的用于测试SQL注入的网站做一些必要的解释。这个网站的页面显示和逻辑都比较简单,主要功能就是:根据用户输入的用户ID和密码,查询用户的工资(其实就是一种变相的登录)。我们想要达到的效果是:用户只知道自己的用户ID和密码的情况下,只能查询自己的工资,而不能看到别人的工资

6、。截图如下:localhost:8080/injection/&COlocalhost:8080/injection/O校园网登录SCSDN云邮箱Google阅读器提交IocaIhost:8080/injection;用户ID:密码:CI©localhost:8080/injection/query.jspO校园网登录QCSDN云邮箱C?Google阅读器會RTMQ矽日张三5000而jsp页面中的查询语句为拼接而成:Stringstr="select*fromsalary"+"whereid=+id+andpwd=+pwd+下而我们将逐步针对这个

7、简单的原型来阐述SQLInjection的原理和注入过程中的一些技巧。我们面临的笫一个问题是:1•在不知道JSP源代码(或服务器端的JavaBeans)的情况下,怎样确定网站是否存在SQL注入点?从上而的例子我们可以看岀,要想SQL注入成功,关键的条件有两点:•用户能够控制输入;•原木程序(MySQL)要执行的代码,拼接了用户输入的数据;所以下面我们来尝试一下拼接自定义数据来考察服务器端的反应,看看到底存在不存在注入点。首先我们要看看网页的Fonn向服务器端提交了哪些变量?在Chrome下查看网页源代码如2<

8、body>

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。