SQL注入式攻击简介_第1页
SQL注入式攻击简介_第2页
SQL注入式攻击简介_第3页
SQL注入式攻击简介_第4页
SQL注入式攻击简介_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

SQL注入攻击

SQL注入(SQLInjection)漏洞攻击是目前网上最流行最热门的黑客脚本攻击方法之一目录SQL注入攻击的简介1SQL注入攻击的原理2SQL注入攻击的过程3SQL注入攻击的防范41、SQL注入简介SQL注入:(StructuredQueryLanguageInjection)是从正常的WWW端口访问,而且表面看起来跟一般的Web页面没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。什么是SQL注入攻击?

SQL注入攻击是攻击者通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。目录SQL注入攻击的原理2SQL注入攻击的简介1SQL注入攻击的过程3SQL注入攻击的防范42、SQL注入式攻击的原理SQL(StructuredQueryLanguage)是一种用来和数据库交互的语言文本。典型的SQL查询语句Selectid,forename,surnameFromauthors常用SQL语法•查询–Selectstatementfromtablewherecondition•删除记录–deletefromtablewherecondition•更新记录–updatetablesetfield=valuewherecondtion•添加记录–insertintotablefieldvalues(values)如何发现SQL注入漏洞最简单的判断方法:附加一个单引号/news.asp?id=xx’经典的1=1和1=2测试方法/news.asp?id=xxand1=1/news.asp?id=xxand1=2字符串型参数的判断/news.asp?id=xxand'1'='1'/news.asp?id=xxand'1'='2'2、SQL注入式攻击的原理SQL注入的攻击原理就是攻击者通过Web应用程序利用SQL语句或字符串将非法的数据插入到服务器端数据库中,获取数据库的管理用户权限,然后将数据库管理用户权限提升至操作系统管理用户权限,控制服务器操作系统,获取重要信息及机密文件。

SQL注入漏洞攻击主要是通过借助于HDSI、NBSI和Domain等SQL注入漏洞扫描工具扫描出Web页面中存在的SQL注入漏洞,从而定位SQL注入点,通过执行非法的SQL语句或字符串达到入侵者想要的操作。目录SQL注入攻击的过程3SQL注入攻击的简介1SQL注入攻击的原理2SQL注入攻击的防范4

1、SQL注入漏洞的判断2、分析数据库服务器类型3、确定可执行情况4、发现WEB虚拟目录5、上传ASP木马6、得到系统的管理员权限3、SQL注入攻击的过程SQL注入攻击的过程流程图(一)SQL注入漏洞的判断

SQL注入可以说是一种漏洞,也可以说是一种攻击。当程序中的变量处理不当,没有对用户提交的数据类型进行校验,编写不安全的代码,构造非法的SQL语句或字符串,都可能产生这个漏洞。一般来说,SQL注入一般存在于形如:HTTP://xxx.xxx.xxx/abc.asp?id=XX等带有参数的ASP动态网页中,有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入。如果ASP程序员没有安全意识,不进行必要的字符过滤,存在SQL注入的可能性就非常大。(二)分析数据库服务器类型

由于SQL注入漏洞攻击利用的是通用的SQL语法,使得这种攻击具有广泛性。理论上说,对于所有基于SQL语言的数据库管理系统都是有效的,包括MSSQLServer、Oracle、DB2、Sybase、Access和MySQL等。当然,各种系统自身的SQL扩展功能会有所不同,因此最终的攻击代码可能不尽相同。一般来说,ACCESS与SQL-SERVER是最常用的数据库服务器,尽管它们都支持T-SQL标准,但还有不同之处,而且不同的数据库有不同的攻击方法,必须要区别对待。1、利用数据库服务器的系统变量进行区分SQL-SERVER有user,db_name()等系统变量,利用这些系统值不仅可以判断SQL-SERVER,而且还可以得到大量有用信息。如:①HTTP://xxx.xxx.xxx/abc.asp?p=YYanduser>0不仅可以判断是否是SQL-SERVER,而还可以得到当前连接到数据库的用户名②HTTP://xxx.xxx.xxx/abc.asp?p=YY&n...db_name()>0不仅可以判断是否是SQL-SERVER,而还可以得到当前正在使用的数据库名

2、利用系统表ACCESS的系统表是msysobjects,且在WEB环境下没有访问权限,而SQL-SERVER的系统表是sysobjects,在WEB环境下有访问权限。对于以下两条语句:①HTTP://xxx.xxx.xxx/abc.asp?p=YYand(selectcount(*)fromsysobjects)>0②HTTP://xxx.xxx.xxx/abc.asp?p=YYand(selectcount(*)frommsysobjects)>0若数据库是SQL-SERVE,则第一条,abc.asp一定运行正常,第二条则异常;若是ACCESS则两条都会异常。(三)确定可执行情况

若当前连接数据的帐号具有SA权限,且扩展存储过程能够正确执行,则整个计算机可以通过几种方法完全控制,也就完成了整个注入过程。(四)发现WEB虚拟目录只有找到WEB虚拟目录,才能确定放置ASP木马的位置,进而得到USER权限。一:是根据经验猜解,一般来说,WEB虚拟目录是:c:\inetpub\wwwroot;D:\inetpub\wwwroot;E:\inetpub\wwwroot等,而可执行虚拟目录是:c:\inetpub\scripts;D:\inetpub\scripts;E:\inetpub\scripts等。二:是遍历系统的目录结构,分析结果并发现WEB虚拟目录(五)上传ASP木马

ASP木马,就是一段有特殊功能的ASP代码,并放入WEB虚拟目录的Scripts下,远程客户通过IE(其他浏览器也可以)就可执行它,进而得到系统的USER权限,实现对系统的初步控制。(六)得到系统的管理员权限

ASP木马只有USER权限,要想获取对系统的完全控制,还要有系统的管理员权限。怎么办?提升权限的方法有很多种:(1)上传木马,修改开机自动运行的.ini文件;(2)复制CMD.exe到scripts,人为制造UNICODE漏洞;(3)下载SAM文件,破解并获取OS的所有用户名密码。

上面介绍的的是手动方式进行SQL注入,也可以利用专门的SQL注入工具NBSI来入侵:目录SQL注入攻击的防范4SQL注入攻击的简介1SQL注入攻击的原理2SQL注入攻击的过程34、SQL注入式攻击的防范1、WEB服务器安全配置2、数据库安全配置3、脚本解析器安全设置4、过滤特殊字符5、应用存储过程防范SQL注入攻击Internet(一)WEB服务器的安全配置修改服务器初始配置及时安装服务器安全补丁关闭服务器的错误提示信息配置目录权限删除危险的服务器组件及时分析系统日志WEB服务器结构庞大、复杂,使得WEB服务器在安全方面难免存在缺陷。正确的配置WEB服务器可以降低SQL注入发热风险。从以下六方面来实现WEB服务器的安全配置:(二)数据库安全配置修改数据库初始配置及时升级数据库最小权力法则正确的安全配置同样也是降低SQL注入风险的方法之一,主要从以下几个方面进行配置:(三)脚本解析安全设置设置“magic_quotes_gpc”为“on”设置“register_globals”为“off”设置“safe_mode”为“on”设置“open_basedir”为“on”设置“display_errmors”为“off”对于PHP编程语言,在php。ini文件中可以配置一些涉及安全性的设置,通过这些设置可以增加SQL的注入难度,降低SQL注入风险。主要的从

温馨提示

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

评论

0/150

提交评论