SQL注入简介

一、什么是SQL注入

1、通过把SQL命令插入到Web表单提交或者输入域名或者页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令

2、利用应用程序漏洞

3、恶意SQL命令注入到后台数据库引擎,并执行

4、注入流程:检测是否存在漏洞  -->  探测后台数据库类型、属性  -->  SQL注入

二、SQL注入原理:

a、程序命令和用户数据(即用户输入)之间没有做到泾渭分明。

b、这使得攻击者有机会将程序命令当作用户输入的数据提交给web程序,以发号施令,为所欲为

c、接受相关参数未经处理直接带入数据库查询操作

d、以获得数据库的管理权限,然后提权至操作系统管理用户权限

e、最终控制服务器操作系统

f、万能密码:输入abmin' or 1=1 --发现输入任何密码都可以登入成功

三、SQL注入方法--要确定的三件事情

1、确定web应用程序所使用的技术

         注入攻击对程序设计语言或者硬件关系密切

2、查找注入点

Web应用的用户输入方式比较多

         明显的输入: HTML表单

         隐藏的输入: HTTP头部、cookics、甚至对用户不可见的后端AJax请求来跟Web应用进行交                                 互。一般来说,所有HTTP的GET和POST都应当作用户输入为了找出一个Web                               应用所有可能的用户输入,我们可以求助于Web 代理如Bp等。

3、查找可以用于注入的用户输入

         输入方式进行筛选,找出其中可以注入命令的那些输入方式

方法:1、手工注入---->找到注入点,手工改造输入

           2、利用工具注入----->流行注入工具sqlmap

4、查找注入点

http:// www.*****.com/ ***.asp?id=x(ASP注入)

http:// www.*****.com/ ***.php?id=x(php注入)

http:// www.*****.com/ ***.jsp?id=x(jsp注入)

http:// www.*****.com/ ***.aspx?id=x(aspx注入)

http:// www.*****.com/ index.asp?id=8&page=99(注:注入的时候确定是id参数还是page参数,工具默认只对后面page参数注入,所以要对工具进行配置或者手工调换)。

http:// www.*****.com/ index/new/id/8伪静态

http:// www.*****.com/ inedx/new/php-8.html伪静态

四:SQL注入危害

1、数据库层面:a、非法读取、篡改、添加、删除数据库中数据

                           b、盗取用户的各类敏感信息,获取利益

                           c、通过修改数据库修改网页上的内容

                           d、私自添加或者删除账号

2、操作系统层面:a、网页篡改

                               b、网络挂马

                               c、服务器远程控制

你可能感兴趣的:(sql,数据库,oracle)