美文网首页PWC实习心得
2018-03-13-OWASP Top10---SQL注入

2018-03-13-OWASP Top10---SQL注入

作者: 最初的美好_kai | 来源:发表于2018-05-16 18:17 被阅读1683次

1.注入漏洞

A:介绍

注入漏洞十分普遍,通常出现在SQL、LDAP(轻量级目录访问协议,Lightweight directory access protocol)、XPATH(xml路径语言)或是NoSQL(非关系型数据库)查询语句中,OS命令,XML解释器,SMTP包头,表达式语句以及ORM查询语句中找到

B:原理

以SQL注入为例子,SQL注入的原理在于攻击者通过构建特殊的输入作为参数传入web应用程序,通过执行SQL语句进而执行攻击者想要的操作。

C:分类

以SQL注入为例子,从原理上来分,可以分为平台层和代码层注入,前者主要是不安全的数据库配置或数据库软件漏洞所致,后者主要是代码层未对用户输入进行验证、过滤和净化所致。

从注入漏洞分类可分为数字型,字符型,搜索型,cookie注入等。。。。

1.数字型:

即注入参数为数字型参数,如id=1,简单测试方案如下:

www.xxxxx.com/test.php?ID=2 '测试页面是否出现异常

www.xxxxx.com/test.php?ID=2 and 1=1测试页面是否和原始数据一样

www.xxxxx.com/test.php?ID=2 and 1=2 返回数据始终为假

2.字符型:

字符型诸如级注入参数为字符型,字符型和数字型最大的区别是字符型往往要处理单引号闭合,数字型不用。

3.cookie注入和post注入主要都是在网络包头字段进行注入(闭合绕过或者其他的),在这方面可以用sqlmap来跑,更新一点SQLMAP的知识。

图一

sqlmap -uz 之后还可以加很多参数,这点需要多多练习。

4.盲注概念及其理解:

盲注说白了就是不会根据你所注入的攻击语句返回你想知道的错误信息,具体可分为两种:

A:布尔盲注:即基于布尔值逻辑真假来返回,只会返回true or false,不会返回你想知道的信息。

B:时间盲注:根据web页面返回的时间差来判断注入的语句是否正确。

C:基于错误盲注:如果利用错误提示信息,对SQL拼接方式做猜测并验证,这种方法称为基于错误信息的SQL盲注

常用的盲注数据库函数:

Length()函数 返回字符串的长度

Substr()截取字符串

Ascii()返回字符的ascii码

sleep(n):将程序挂起一段时间 n为n秒

if(expr1,expr2,expr3):判断语句 如果第一个语句正确就执行第二个语句如果错误执行第三个语句。

测试实例可参考:https://www.jianshu.com/p/65f05e7cc9574

D:SQL注入的防护措施:

1.客户端控件限制用户输入长度,过滤敏感字符串。

2.服务器检查净化用户输入。

3.不采用动态拼接手段构造查询语句。

4.基于最小权限运行。

相关文章

  • 2018-03-13-OWASP Top10---SQL注入

    1.注入漏洞 A:介绍 注入漏洞十分普遍,通常出现在SQL、LDAP(轻量级目录访问协议,Lightweight ...

  • Day62 Spring 依赖注入源码解析

    手动注入自动注入 依赖注入,set注入,构造注入 依赖注入: Key依据 byType byName constr...

  • Groovy:元编程(方法注入)

    category分类注入 使用metaclass实现方法注入 静态方法注入 构造函数注入 混合注入

  • sql注入的一些笔记

    注入分类 数字型注入 -字符型注入 搜索型注入 XX型注入 注入提交方式 -get提交-post提交-cookie...

  • Spring三种bean注入方式

    Spring中依赖注入有三种注入方式:一、构造器注入;二、设值注入(setter方式注入);三、Feild方式注入...

  • Spring Bean 装配

    依赖注入的方式 依赖注入可以分为3种方式: 构造器注入。 setter注入。 接口注入。 其中构造器注入和 set...

  • Spring 学习心得(二)

    Spring IOC again 参数值注入 注入基本值 注入Bean对象 注入Spring表达式值 注入nul...

  • Spring之依赖注入

    六、依赖注入 目录:构造器注入、set注入、拓展注入实现、Bean的作用域依赖注入(Dependency Inje...

  • Spring的复杂类型注入

    注入方式 set方式注入,注入基本数值类型和引用类型 数组类型注入

  • spring

    18.7.22属性注入和构造器注入区别Spring也同时支持两种依赖注入方式:设值注入和构造注入。 这两种依赖注入...

网友评论

    本文标题:2018-03-13-OWASP Top10---SQL注入

    本文链接:https://www.haomeiwen.com/subject/xgjzfftx.html