- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
1相关背景介绍:随着互联网web和信息技术的发展,在web
后端作为存储和管理的的数据库也得到了广泛的应用,与web结合
较为紧密的数据库包括Mysql,Sqlserver,Oracle,Sqllite,Db2,
Access等等。数据存储和管理作为应用的一个基本需求,在绝大多
数的应用里都得到了使用,这种大面积的使用也意味着在数据库操作
方面如果处理不当出现问题的可能性会很大,另外一方面由于数据库
承载了应用的数据信息,如果数据库出现问题一方面可能导致敏感数
据的泄露和篡改(如信用卡账户,用户密码,管理账户和密码,销售
记录等等),直接导致损失和应用被攻陷,另外一方面,即使数据库
中不承载较为敏感的信息,由于数据库的特殊性,数据库被攻击的话
也可以直接导致应用程序崩溃及其他严重的后果。
2成因应用为了和数据库进行沟通完成必要的管理和存储工作,
必须和数据库保留一种接口。目前的数据库一般都是提供api以支持
管理,应用使用底层开发语言如Php,Java,asp,Python与这些
api进行通讯。对于数据库的操作,目前普遍使用一种SQL语言
(StructuredQueryLanguage语言,SQL语言的功能包括查询、操
纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是
一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么
做),SQL作为字符串通过API传入给数据库,数据库将查询的结
果返回,数据库自身是无法分辨传入的SQL是合法的还是不合法的,
它完全信任传入的数据,如果传入的SQL语句被恶意用户控制或者
篡改,将导致数据库以当前调用者的身份执行预期之外的命令并且返
回结果,导致安全问题。那么恶意用户如何才能控制传入的SQL语
句呢?我们知道,既然传入的SQL是以字符串的方式传入的,这个
字符串由应用生成,那么如果应用生成这个字符串的方式不对将可能
导致问题,譬如考虑如下的功能:
$sql=select*frommemberswhereuserid=.$_GET[useri
d];
$sb-query($sql);
这段代码的逻辑是根据用户请求的Userid进入数据库查询出不同的
用户并且返回给用户,可以看到最终传入的字符串有一部分是根据用
户的输入来控制的,一旦用户提交
poc.php?userid=1or1=1
最终进入程序之后传入数据库的逻辑将是
$sb-query(select*frommemberswhereuserid=1or1=
1);
用户完全可以根据传入的内容来控制整个SQL的逻辑,实现间接
控制和管理数据库的目的,这种命令(SQL语句)和数据(用户提
交的查询)不分开的实现方式导致了安全漏洞的产生。由于不同的
开发语言可能对api进行了不同的封装,并且各种语言内部对数据的
校验会有不同的要求,譬如java和python属于变量强类型并且各种
开发框架的流行导致出现SQL注射的几率较小,php属于弱类型不
会对数据进行强制的验证加上过程化的程序编写思路导致出现注射
的几率会较大。
3攻击方式及危害通过典型的SQL注射漏洞,黑客是可以根据
所能控制的内容在SQL语句的上下文导致不同的结果的,这种不同
主要体现在不同的数据库特性上和细节上。同时,后端的数据库的不
同导致黑客能利用SQL语句进行的操作也并不相同,因为很多的数
据库在标准的SQL之外也会实现一些自身比较特别的功能和扩展,
常见的有Sqlserver的多语句查询,Mysql的高权限可以读写系统文
件,Oracle经常出现的一些系统包提权漏洞。即使一些SQL注射
本身无法对数据本身进行一些高级别的危害,譬如一些数据库里可能
没有存储私密信息,利用SQL查询的结果一样可能对应用造成巨大
的灾难,因为应用可能将从数据库里提取的信息做一些其他的比较高
危险的动作,譬如进行文件读写,这种本身无价值的数据和查询一旦
被应用本身赋予较高的意义的话,可能一样导致很高的危害。评估
一个SQL注射的危害需要取决于注射点发生的SQL语句的上下文,
SQL语句在应用的上下文,应用在数据库的上下文,综合考虑这些
因素来评估一个SQL注射的影响,在无上述利用结果的情况下,通
过web应用向数据库传递一些资源要求极高的查询将导致数据库的
拒绝服务,这将是黑客可能能进行的最后的利用。
4如何定位注入网站
您可能关注的文档
- 线型光纤感温探测器施工方案设计.pdf
- 2024年(优选)历史考试复习计划 .pdf
- led灯管安装方式 led灯照明如何分类.pdf
- 食品安全法试题 - 含答案 .pdf
- 2022小学一年级写给未来自己的一封信(真题9篇) .pdf
- 12.2证明说课稿 _原创文档.pdf
- “中海杯”现代经理人慈善运动会策划方案.pdf
- 2023-2024春季学期统编版四年级语文下册第二单元综合测试C卷(含.pdf
- 2014-2015学年高中地理 第1章 第3节 第3课时 地球公转的地理意义课后强化作业 新人教版必.pdf
- 人教版版英语七年级下册期中 达标测试卷(含答案) .pdf
- 2025年安徽工商职业学院单招职业技能测试题库带答案(典型题).docx
- 2025年洛阳科技职业学院单招职业技能测试题库带答案(新).docx
- 2025年荆门职业学院单招职业技能测试题库及答案(易错题).docx
- 2025年宣化科技职业学院单招职业技能测试题库(精练).docx
- 2025年包头职业技术学院单招职业技能测试题库带答案(新).docx
- 2025年江西工商职业技术学院单招职业技能测试题库带答案(精练).docx
- 2025年黑龙江农业经济职业学院单招职业技能测试题库精编.docx
- 2025年山东艺术设计职业学院单招职业技能测试题库带答案(基础题).docx
- 2025年陕西工商职业学院单招职业技能测试题库带答案(突破训练).docx
- 2025年承德护理职业学院单招职业技能测试题库【word】.docx
文档评论(0)