SQL注入原理
结构化查询语句(Structured Query Language,缩写:SQL),是一种特殊的编程语言,用于数据库中的标准数据查询语言。
SQL注入(SQL Injection)是一种常见的Web安全漏洞,攻击者利用这个问题,可以访问或者修改数据,或者利用潜在的数据库漏洞进行攻击。
什么是SQL注入?
SQL注入(Sql Injection)是一种讲SQL语句插入或者添加到应用(用户)的输入参数中的攻击,之后再将这些参数传递给后台的SQL服务器加以解析并执行。
常见的Web架构
表示层:Web浏览器/呈现引擎---访问网站
逻辑层:脚本语言:ASP、PHP、JSP、.NET等---加载、编译并执行脚本文件
存储层:数据库:MSSQL、MYSQL、ORACLE等---执行SQL语句
哪里存在SQL注入?
哪里存在SQL注入?
lGET
lPOST
lHTTP头部注入
lCookie注入
l……
任何客户端可控,传递到服务器的变量。
漏洞原理
针对SQL注入的攻击行为,可描述为通过用户可控参数中注入SQL语法,破坏原有的SQL结构,达到编写程序时意料之外的结果的攻击行为。
其成因可以归结为以下两点原因叠加造成的:
1.程序编写者再处理程序和数据库交互的时候,使用字符拼接的方法构造SQL语句
2.未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中
SQL注入危害
漏洞危害
攻击者利用SQL注入漏洞,可以获取数据库中的多种信息(例如:管理员后台密码),从而脱取数据库中内容(脱库)。在特别情况下,还可以修改数据库内容或者插入内容到数据库,如果数据库权限分配存在问题,或者数据库本身存在缺陷,那么攻击者可以通过SQL注入漏洞直接获取Webshell或者服务器系统权限。
请联系网站,了解详细的课程信息~
优质、便捷、省心
网上报名
新闻资讯
更多>>-
想在北京学软件测试,哪个机构更靠谱儿?
2016-11-15
-
常见软件测试面试题
2016-12-23
-
黑盒测试人员有发展前途吗?
2016-12-23
-
女生学软件测试好不好?
2016-12-23
-
软件测试的创新之道
2016-12-23