网络安全第六讲数据库安全实例sql注入课件_第1页
网络安全第六讲数据库安全实例sql注入课件_第2页
网络安全第六讲数据库安全实例sql注入课件_第3页
网络安全第六讲数据库安全实例sql注入课件_第4页
网络安全第六讲数据库安全实例sql注入课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库安全实例:SQL注射 本讲目标了解网站的组成结构理解SQL注射的基本原理掌握工具及手工注射的方法如何防范SQL注射攻击一 网站是如何构成的一般说来,网站基本构成方式为以下三部分: 1、前台页面 (供用户浏览) 2、后台管理控制台 (供管理员管理此站点) 3、后台数据库 (记录用户密码及其他数据)网站结构随页面类型和数据库类型不同而呈现多种组合.了解网页的类型准备工作网页的类型静态网页 *.html *.htm HyperText Markup Language 超文件标记语言动态网页*.asp *.aspx *.php *.cgi *.jsp 思考: 动态网站后台支持的数据库有哪些?动态

2、网页的组合On Windows: IIS + asp + acess IIS + asp + ms-sql On Unix/Linux: Apache + php + mysql Apache + jsp + oracle70%30%思 考:网站前台脚本语言与后台数据库之间是如何连接的?如 asp 与 access 是如何连接的?如 asp 与 ms-sql 是如何连接的?数据库连接文件Asp+accessAsp+mssql二 SQL注射的基本原理SQL注射的历史SQL注射的概念SQL注射的原理SQL注射的优点SQL注射的历史 早在1999年SQL注射攻击已经在国外出现了,那时国内技术不成熟,

3、直到2002年我国才逐步兴起SQL注射,2004年SQL注射技术达到顶峰,2005年和2006年WEB攻击技术却未出现大的进步。尽管SQL防御方法早已出现,但是注射攻击的灵活性和复杂性使得注射攻击仍然为当前WEB攻击方式的先锋军。什么是SQL注射及其原理 我们可以通俗的理解为攻击者利用程序员对用户输入数据的合法性检测不严或不检测的特点,故意从客户端提交特殊的数据库查询代码,使数据库泄露敏感信息,如:网站后台管理员密码,甚至直接利用数据库高权限间接攻击服务器,从而达到入侵目的。 这就是所谓的SQL Injection,即SQL注入。SQL注射的优点三 实施SQL注射攻击准备工作理清攻击思路利用S

4、QL注射工具攻击手工注射攻击上传木马提权准备工作概 念 什么是webshell? webshell是web入侵的脚本攻击工具。简单的说来,webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后黑客就可以用web的方式,通过asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等。 Webshell 的优点 webshell 最大的优点就是可以穿越防火墙,由于与被控制的服务器或远程主机交换的数据都是通过80端口传递的,因此不会被防火墙拦截。并且使用w

5、ebshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。 什么是“木马”? “木马”全称是“特洛伊木马(Trojan Horse)”,原指古希腊士兵藏在木马内进入敌方城市从而占领敌方城市的故事。在Internet上,“特洛伊木马”指一些程序设计人员在其可从网络上下载(Download)的应用程序或游戏中,包含了可以控制用户的计算机系统的程序,可能造成用户的系统被破坏甚至瘫痪。 附: 什么是特洛伊木马?“特洛伊木马”(trojan horse)简称“木马”,据说这个名称来源于希腊神话木马屠城记。古希腊有大军围攻特洛伊城,久久

6、无法攻下。于是有人献计制造一只高二丈的大木马,假装作战马神,让士兵藏匿于巨大的木马中,大部队假装撤退而将木马摈弃于特洛伊城下。城中得知解围的消息后,遂将“木马”作为奇异的战利品拖入城内,全城饮酒狂欢。到午夜时分,全城军民尽入梦乡,匿于木马中的将士开秘门游绳而下,开启城门及四处纵火,城外伏兵涌入,部队里应外合,焚屠特洛伊城。后世称这只大木马为“特洛伊木马”。如今黑客程序借用其名,有“一经潜入,后患无穷”之意。 什么是后门?大家都知道,一台计算机上有65535个端口,那么如果把计算机看作是一间屋子,那么这65535个端口就可以它看做是计算机为了与外界连接所开的65535扇门。每个门的背后都是一个服

7、务。有的门是主人特地打开迎接客人的(提供服务),有的门是主人为了出去访问客人而开设的(访问远程服务)理论上,剩下的其他门都该是关闭着的,但偏偏由于各种原因,很多门都是开启的。于是就有好事者进入,主人的隐私被刺探,生活被打扰,甚至屋里的东西也被搞得一片狼迹。这扇悄然被开启的门就是“后门”。 友情提示:为了全面了解动态网页回答的信息,首选请调整IE的配置。把IE菜单-工具-Internet选项高级显示友好HTTP错误信息前面的勾去掉。否则,不论服务器返回什么错误,IE都只显示为HTTP 500服务器错误,不能获得更多的提示信息。 Web攻击思路踩点 (尽可能分析一切信息)找上传漏洞 (有,上传木马

8、)暴库 (下载成功-6)SQL注射 (先工具后手工)获取Web管理员密码 (否-另寻他法)登陆后台 (否-万能密码;再否-另寻.)上传木马 (有过滤-找备份或另寻.)提权 (略)仅供参考,根据实际情况不同,应有所改变SQL注射思路判断url是否可以注射判断数据库类型确定XP_CMDSHELL可执行情况猜测或直接得出表名和字段名构造语句得出字段的值 如果第3步中XP_CMDSHELL可执行,那么就可以直接获得服务器最高权限。仅供参考,根据实际情况不同,应有所改变利用工具注射针对Access数据库和Mssql数据库类型操作差不多。工具有很多:明小子啊NBSI.目的:获得后台管理员密码。DemoSQ

9、L注入的位置SQL注入一般存在于形如:HTTP:/xxx.xxx.xxx/abc.asp?id=YY等带有参数的ASP动态网页中。“id=YY”即为页面查询条件。注:有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入。如果ASP程序员没有安全意识,不进行必要的字符过滤,存在SQL注入的可能性就非常大。Asp参数页面,有可能存在注射点手工注射-注射点类型http:/xxx.xxx.xxx/abc.asp?id=YY在页面执行中的含义:当YY为整型参数时 当输入的参数

10、YY为整型时,通常abc.asp中SQL语句原貌大致如下:select * from 表名 where id=YY当YY为字符串型参数时 当输入的参数YY为字符串时,通常abc.asp中SQL语句原貌大致如下:select * from 表名 where id=YY注意:不做特殊说明时所有参数均为整型参数,所有字符均在英文输入法状态下输入,并且站点结构为IIS+asp判断当前url是否为注射点参数为字符串型参数时如何判断(YY为字符串型参数)http:/xxx.xxx.xxx/abc.asp?id=YY (单引号) abc.asp运行异常;http:/xxx.xxx.xxx/abc.asp?i

11、d=YY and 1=1 abc.asp运行正常,而且与HTTP:/xxx.xxx.xxx/abc.asp?id=YY运行结果相同http:/xxx.xxx.xxx/abc.asp?id=YY and 1=2 abc.asp运行异常;如果以上三步满足,abc.asp中一定存在SQL注入漏洞。那么http:/xxx.xxx.xxx/abc.asp?id=YY就是一个注射点判断数据库类型判断数据库类型cont.判断数据库类型cont.注:若数据库是MS-SQL,则第一条一定运行正常, 第二条则异常; 若是ACCESS则两条都会异常。确定XP_CMDSHELL执行情况HTTP:/xxx.xxx.xx

12、x/abc.asp?id=YY and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE xtype = X AND name = xp_cmdshell) 判断XP_CMDSHELL是否存在,返回正常则存在.HTTP:/xxx.xxx.xxx/abc.asp?id=YY exec master.xp_cmdshellnet user 123 123/add;- 增加一个用户123,密码也为123,此处可使用任何NET命令。 注:此处注射必须要在Mssql下有SA权限,所以一旦成功可以直取服务器最高权限,不过成功率很低.猜解表名和字段名针对

13、Access数据库 .abc.asp?id=YY and 0(select count(*) from admin) -判断是否存在admin这张表 .abc.asp?id=YY and 0(select count(username) from admin) -判断是否存在username这个字段 .abc.asp?id=YY and 0(select count(password) from admin) -判断是否存在password这个字段注意:如果上面两条注入语句返回正常就说明存在表名和字段名,否则根 据常用表名和字段名多次更改和判断,这里只能凭借猜解运气.常用表名和字段名在明小子S

14、QL注入设置检测区中可以找到实验:IIS+ASP+ACCESS 某站点SQL注射DEMO本讲总结网站的组成 IIS + asp + acess IIS + asp + ms-sqlSQL注射的基本原理 攻击者从客户端提交特殊的数据库查询代码,使数据库泄露敏感信息.工具及手工注射的方法 判断注射点判断数据库类型猜解表名和列名得出字段值找后台 手工注射工具:明小子的使用方法实验IIS+ASP+ACCESS(某站点)IIS+ASP+ACCESSCLIENTWEB SERVER每一次的加油,每一次的努力都是为了下一次更好的自己。8月-228月-22Sunday, August 7, 2022天生我材必

15、有用,千金散尽还复来。10:51:5110:51:5110:518/7/2022 10:51:51 AM安全象只弓,不拉它就松,要想保安全,常把弓弦绷。8月-2210:51:5110:51Aug-2207-Aug-22得道多助失道寡助,掌控人心方位上。10:51:5110:51:5110:51Sunday, August 7, 2022安全在于心细,事故出在麻痹。8月-228月-2210:51:5110:51:51August 7, 2022加强自身建设,增强个人的休养。2022年8月7日10:51 上午8月-228月-22扩展市场,开发未来,实现现在。07 八月 202210:51:51 上午10:51:518月-22做专业的企业,做专业的事情,让自己专业起来。八月 2210:51 上午8月-2210:51August 7, 2022时间是人类发展的空间。2022/8/7 10:51:5110:51:5107 August 2022科学,你是国力的灵魂;同时又是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论