一切福田,不離方寸,從心而覓,感無不通。

SQL注入测试

简介 SQL 注入是一种专门针对SQL语句的攻击方式。通过把SQL命令插入到web表单提交、输入域名或者页面请求的查询字符串中,利用现有的程序,来非法获取后台的数据库中的信息。在web的测试中涉及到的会比较多些。 注入原理 存在注入的原因是后台在编写程序时,没有对用户输入的数据做过滤。 例: 1、用户在某个输入框提交的参数是123。 浏览器提交的URL为: http://www.xxx.com/index.php?id=123 服务器后台执行SQL语句:select * from table1 where id = 123 此时是没有任何影响的。   2、 如果用户提交的参数是 123;drop table 服务器后台执行SQL语句: select * from table1 where id =123 ; drop table 相当于后台执行了两条SQL语句,查表,并且把table删除, 从而导致了SQL注入   检测注入的方法 目前主要有两种检测方式: 一、手工注入检测流程: 1.  判断是否存在注入点 www.abc.com/index.php?id=2 www.abc.com/index.php?id=2 and 1=1 www.abc.com/index.php?id=2 and 1=2 第2条返回正常, 第1,3条返回不正常说明id参数存在注入漏洞 2.  判定是否存在admin表 www.abc.com/index.php?id=2 and exists(select * from admin) 返回正常,存在admin表   3.  猜admin表中的字段名 www.abc.com/index.php?id=2 and exists(select username from admin) 返回正常 表示admin表存在username字段   4.  检测其他sql操作   二、工具检测: sqlmap:  sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。   1. 下载地址 https://github.com/sqlmapproject/sqlmap.git   2. 常用命令       测试 以一个sqlmap检测URL为例: […]

龙生   20 Nov 2020
View Details