文档详情

《Web应用安全与防护》课件 项目8:SQL注入漏洞利用与防护.pptx

发布:2025-02-21约7.89千字共34页下载文档
文本预览下载声明

项目8:SQL注入漏洞利用与防护

项目目标知识目标:1.了解SQL注入漏洞的基本概念、危害,分类2.理解SQL注入漏洞的测试流程、测试字符串3.掌握数据库的基本操作4.掌握手工注入工具注入5.掌握SQL注入漏洞的利用与加固能力目标:1.能利用SQL注入漏洞获取目标靶机数据情感目标:1.自主、开放的学习能力2.良好的自我表现、与人沟通能力3.良好的团队合作精神

1.SQL注入漏洞概述1.1SQL注入漏洞及形成原因定义:SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。原因:SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。从而导致数据库受损(被脱裤、被删除、甚至整个服务器权限沦陷)。

1.SQL注入漏洞概述1.2SQL注入漏洞及形成原因Sql注入漏洞形成原因,主要是开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击者可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据库对其进行执行,导致数据库信息泄露。非法输入:id=1or1=1select*fromproductwhereid=1or1=1正常输入:id=1select*fromproductwhereid=1

1.SQL注入漏洞概述1.3SQL注入漏洞危害(1)数据库信息泄露:数据库中存放的用户的隐私信息的泄露(2)网页篡改:通过操作数据库对特定问也进行篡改(3)网站被挂马,传播恶意软件:修改数据库一些字段的值,进行挂马攻击。…….

1.SQL注入漏洞概述1.4SQL注入攻击流程第一步:注入点探测自动方式:使用web漏洞扫描工具,自动进行注入点发现手动方式:手工构造sql注入语句进行注入点发现第二步:信息获取通过注入点取期望得到的数据环境信息:数据库类型,数据库版本,操作系统版本,用户信息等数据库信息:数据库名称,数据库表,表字段,字段内容第三步:获取权限获取操作系统权限,通过数据库执行shell,上传木马

1.SQL注入漏洞概述1.5SQL注入测试字符串or1=1--or1=1--xx%’or1=1--“or1=1--)or1=1--)or1=1--)or1=1--))or1=1--………..--可以用#替换,url提交过程中Url编码后的#为%23

1.SQL注入漏洞概述$conn=mysql_connect($host,$username,$password);$query=”select*fromuserswhereuser=’admin’andpasswd=’”;$query=$query.$_GET[“passwd”]”’”;$result=mysql_query($query);#######################################################################正常的数据:passwd=admin888、passwd=test123后台所执行的语句:Select*fromuserswhereuser=’admin’andpasswd=’admin888’–登陆成功Select*fromuserswhereuser=’admin’andpasswd=’test123’–登陆失败带有恶意代码的数据:passwd=’or1=1#此时后台执行语句为:Select*fromuserswhereuser=’admin’andpasswd=‘admin’or1=1#’–登陆成功

1.SQL注入漏洞概述1.6SQL注入漏洞位置(1)登陆框(2)搜索框(3)url参数值(4)信息设置只要是后台数据库操作的地方,都有可能有注入

2.数据库基础2.1数据库概念数据库:长期储存在计算机内的,有组织的,可共享的数据集合。DMBS:如何组织和存储数据库中的数据,如何有效地获取和维护这些数据。完成这个任务的程序(软件)叫数据库管理系统(DataBaseManagementSystem:DMBS)DBMSDatabase程序数据库用户请求

2.数据库基础2.2常用的数据库mysql,oracle,SQLServer等2

显示全部
相似文档