300 likes | 674 Views
SQL 注入 原理 和 分析方法. 于亮亮 Email:liangliang.yu@colasoft.com.cn. 内容提纲. SQL 注入原理. SQL 注入分析方法. “谁”推动互联网发展?. Web 发展历史. 2012 年第四季度全球新增域名数量超过 610 万,而截至 2012 年 12 月 31 日所有顶级域名以下的域名总数则超过 2.52 亿。. 黑客在关注什么?. 黑客在关注什么(来自Imperva报告). 黑客在关注什么?. Web 安全事件. 雅虎服务器被黑 45.3 万份用户信息遭泄露.
E N D
SQL注入原理和分析方法 于亮亮 Email:liangliang.yu@colasoft.com.cn
内容提纲 SQL注入原理 SQL注入分析方法
Web发展历史 2012年第四季度全球新增域名数量超过610万,而截至2012年12月31日所有顶级域名以下的域名总数则超过2.52亿。
Web安全事件 雅虎服务器被黑 45.3万份用户信息遭泄露 2012年7月中旬,据悉,黑客们公布了他们声称的雅虎45.34万名用户的认证信息,还有超过2700个数据库表或数据库表列的姓名以及298个MySQL变量。他们称,以上内容均是在此次入侵行动中获得的。 黑客们利用特殊的SQL注入方式渗透到雅虎网站的子区域中以获取信息。该技术专门针对一些安全性较差的网站应用程序进行攻击,这些程序并不仔细检查进入搜索框和其他用户输入栏的文本。通过向其注入有效地数据库指令,攻击者便可欺骗后端服务器,还可向其信息转储大量的敏感信息。
Web安全事件 2011年12月,CSDN的安全系统遭到黑客攻击,600万用户的登录名、密码及邮箱遭到泄漏。随后,CSDN"密码外泄门"持续发酵,天涯、世纪佳缘等网站相继被曝用户数据遭泄密。天涯网于12月25日发布致歉信,称天涯4000万用户隐私遭到黑客泄露。此次失窃的只是密码集,用户只要及时修改密码即可避免隐私失窃,因此不用恐慌。但用户修改密码只是“治标”,网站改变数据存放策略才是“治本”。
Web安全事件 CSDN泄密事件的最浪漫故事
SQL注入攻击 SQL注入攻击(SQL Injection),是攻击者在向服务器提交请求的参数中提交精心构造的SQL语句,改变原来的SQL语句结构,如果web程序没有对提交的数据进行检查,那么就会造成SQL注入攻击。
SQL注入的危害 1、数据泄露 2、权限绕过 3、网站沦陷
SQL注入的危害 例1: select id,title from xxx where id= {提交的参数id} 当提交参数&id=123 and 1=2,我们的SQL语句就变成: select id,title from xxx where id=123 and 1=2 改变了原有条件,导致sql语句永远为假,注入语句成功写入
Sql注入原理 例2: Select * from admin where username=‘{提交的用户名} ‘ and Password=‘{提交的密码}’; 当提交的&username=‘ or 1=1 -- 时,我们的SQL语句变成: Select * from admin where username=‘‘ or 1=1 -- ‘ and Password=‘{提交的密码}’; 假设这是登录时使用的SQL语句,--后面的绿色内容被注释掉,SQL语句的结构发生变化,永远为真,那么就成功的绕过了管理验证
黑客如何绕过过滤 经过收集,大部分的防注入程序都过滤了以下关键字: and | select | update | chr | delete | %20from | ; | insert | mid | master. | set | = 1.大小写绕过 比如WAF检测关键字,那么我们让他检测不到就可以了。比如检测union,那么我们就用%55也就是U的16进制编码来代替U,union写成 %55nION,结合大小写也可以绕过一些WAF,你可以随意替换一个或几个都可以。 2.简单编码绕过 比如WAF检测关键字,那么我们让他检测不到就可以了。比如检测union,那么我们就用%55也就是U的16进制编码来代替U,union写成 %55nION,结合大小写也可以绕过一些WAF,你可以随意替换一个或几个都可以。
绕过过滤 3.注释绕过 id=1+un/**/ion+sel/**/ect+1,2,3-- 4.比较操作符替换 包括!= 不等于,<>不等于,< 小于,>大于,这些都可以用来替换=来绕过。 比如上一个例子,要判断是不是74,假设=被过滤,那么我们可以判断是不是大于73,是不是小于75,然后就知道是74了。。很多WAF都会忘了这个。