常见漏洞及其解决方案1、 SQL注入漏洞漏洞描述:SQL注入被广泛用于非法入侵网站服务器,获取网站控制权。它是应用层上的一种安全漏洞。通常在设计存在缺陷的程序中,对用户输入的数据没有做好过滤,导致恶意用户可以构造一些SQL语句让服务器去执行,从而导致数据库中的数据被窃取,篡改,删除,以及进一步导致服务器被入侵等危害。SQL注入的攻击方式多种多样,较常见的一种方式是提前终止原 SQL语句,然后追加一个新的SQL命令。为了使整个构造的字符串符合SQL语句语法,攻击者常用注释标记如“--”(注意空格)来终止后面的SQL字符串。执行时,此后的文本将被忽略。如某个网站的登录验证SQL查询代码为strSQL="SELECTGFROMusersWHEREname=+userName+“’andpw='”+passWord+”’”,其中userName和password是用户输入的参数值,用户可以输入任何的字符串。如果用户输入的userName=admin'--,passWord为空,则整个SQL语句变为SELECTGFROMusersWHEREname='admin--‘andpw='',等价于SELECTGFROMusersWHEREname='admin',将绕过对密码的验证,直接获得以admin的身份登录系统。漏洞危害:?数据库信息泄漏,例如个人机密数据,帐户数据,密码等。?删除硬盘数据,破坏整个系统的运行。?数据库服务器被攻击,系统管理员帐户被窜改(例如ALTERLOGINsaWITHPASSWORD='GGGGGG')。?取得系统较高权限后,可以篡改网页以及进行网站挂马。?经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统,植入后门程序(stopiisadmin"可停止服务器的IIS服务)。解决方案:?输入过滤,对于整数,判断变量是否符合[0-9]的值;其他限定值,也可以进行合法性校验;对于字符串,对SQL语句特殊字符进行转义(单引号转成两个单引号,双引号转成两个双引号)。MPSQL也有类似的转义函数mPsql_escape_string和mPsql_real_escape_string 。Asp的过滤参考此页面http://blogs./nazim/archive/20PP/04/28/filtering-sql-injection-from-classic-?在设计应用程序时,完全使用参数化查询(ParameterizedQuerP)来设计数据访问功能。?使用其他更安全的方式连接SQL数据库。例如已修正过SQL注入问题的数据库连接组件,的SqlDataSource对象或是LINQtoSQL,安全API库如ESAPI。?使用SQL防注入系统。?严格限制数据库操作的权限。普通用户与系统管理员用户的权限要有严格的区分。建立专门的账户,同时加以权限限制,满足应用的需求即可。2、 HTTPHOST头部攻击漏洞描述:一般通用web程序是如果想知道网站域名不是一件简单的事情, 如果用一个固定的URI来作为域名会有各种麻烦。开发人员一般是依赖HTTPHostheader(比如在php里是_SERVER["HTTP_HOST"],而这个header很多情况下是靠不住的。而很多应用是直接把这个值不做html编码便输出到了页面中,比如:<li
常见漏洞及其解决方法 来自淘豆网m.daumloan.com转载请标明出处.