1. 工具测试:

使用SQLMAP进行扫描

2. 手工测试:

观察参数的值value是否为数字型。如果是数字型进行数字型测试,否则跳到第4步进行字符型测试(例如如果出现a那说明是字符型,如果出现2则将其当做数字型测试)

将被测参数后加上测试语句“and 1=1”,即:地址栏中填入“http://www.exmaple.com/page.xxx?name=value and 1=1”, 如果返回正确页面则进行下一步操作,否则跳到第4步。

将被测参数后加上测试语句“and 1=2”(这里以第n个参数为例),其他参数保持不变,即:地址栏中填入“http://www.exmaple.com/page.xxx? name=value and 1=2”, 如果返回正确页面则进行下一步操作,否则该参数存在注入漏洞,完成测试

将被测参数后加上测试语句“’ and ‘1’=’1”,即:地址栏中填入“http://www.exmaple.com/page.xxx? name=value’ and ‘1’=’1”, 如果返回正确页面则进行下一步操作,否则该参数存在注入漏洞,完成测试

将被测参数后加上测试语句“’ and ‘1’=’2”,即:地址栏中填入“http://www.exmaple.com/page.xxx? name=value’ and ‘1’=’2”, 如果返回正确页面则不存在漏洞,否则该参数存在注入漏洞,完成测试

执行命令:

Sqlmap –r sql1.txt –threads 10

http://blog.csdn.net/zgyulongfei/article/details/41017493/

Mysql5系列以上的有一个特性,information schema的表

Sqlmap –r sql1.txt –threads 10 --dbs

–current-db : 获取当前数据库

–current-user:获取当前用户

解决方案:

Ⅰ、限制数据库访问权限(必须)

Ⅱ、使用预处理执行SQL语句,对所有传入SQL语句中的变量,做绑定。这样,用户拼接进来的变量,无论内容是什么,都会被当做替代符号“?”所替代的值,数据库也不会把恶意用户拼接进来的数据,当做部分SQL语句去解析。

涉及用户的系统(web、app、m端)应统一接入登录

安全测试 - SQL注入的更多相关文章

  1. 【Pyhon】利用BurpSuite到SQLMap批量测试SQL注入

    前言 通过Python脚本把Burp的HTTP请求提取出来交给SQLMap批量测试,提升找大门户网站SQL注入点的效率. 导出Burp的请求包 配置到Burp的代理后浏览门户站点,Burp会将URL纪 ...

  2. web安全测试--sql注入攻击

     先要自行了解sql的几个概念: 1. or '1'='1' 2. order by 3. union : 联合查询需要表字段相同 sql注入攻击漏洞判断步骤: 1.‘ 2.查看数据库信息 3.绕过过 ...

  3. PHP:测试SQL注入以及防止SQL注入

    在写登录注册的时候发现了SQL和JS注入这个危害网站的用户举动: 测试方法: SQL注入: 先来做一个测试: 用户名:’ or 1 # 密码:随便写8位以上 验证码:写正确 好吧,就那么简单就进去了: ...

  4. sqlmap开源 测试sql注入的工具 各种参考链接

    https://www.cnblogs.com/insane-Mr-Li/p/10150165.html https://github.com/sqlmapproject/sqlmap 官网 http ...

  5. Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过

    Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...

  6. Java程序员从笨鸟到菜鸟之(一百零一)sql注入攻击详解(二)sql注入过程详解

    在上篇博客中我们分析了sql注入的原理,今天我们就来看一下sql注入的整体过程,也就是说如何进行sql注入,由于本人数据库和网络方面知识有限,此文章是对网上大量同类文章的分析与总结,其中有不少直接引用 ...

  7. 通过 HTTP 头进行 SQL 注入

    在漏洞评估和渗透测试中,确定目标应用程序的输入向量是第一步.有时,当做web应用程序测试时,SQL注入漏洞的测试用例通常局限于特殊的输入向量GET和POST变量.那么对于其他的HTTP头部参数呢?难道 ...

  8. SQL注入攻击

    SQL注入攻击是黑客对数据库进行攻击的常用手段之一.随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候, ...

  9. 初识SQL注入

    什么是SQL注入(SQL Injection)? SQL注入是网站攻击途径之一,这里引用一下百度百科的解释:“所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串, ...

随机推荐

  1. 《PDF.NE数据框架常见问题及解决方案-初》

    <PDF.NE数据框架常见问题及解决方案-初> 1.新增数据库后,获取标识列的值: 解决方案:    PDF.NET数据框架,已经为我们考略了很多,因为用PDF.NET进行数据的添加操作时 ...

  2. GDB调试命令

    1.查看源码: list [函数名][行数] 2.暂停程序 (1)设置断点: a.break + [源代码行号][源代码函数名][内存地址] b.break ... if condition   .. ...

  3. 跨域之URL

    在介绍怎么跨域之前,先来弄清楚一个概念:URL.以下内容摘自维基百科. 统一资源定位符(或称统一资源定位器/定位地址.URL地址等,英语:Uniform / Universal Resource Lo ...

  4. 小萝贝控机大师工具推荐(一款在PC就能控制手机界面的工具)

    在一次写博客的过程中,要截取手机app上的几张图片,然后粘贴到博客里面去,不了解这个工具的时候,我就从手机上截图(使用其他的截图app或者使用手机自己的截图功能),然后再传送到电脑上,然后再放到博文中 ...

  5. go语言注释

    Go语言注释实例代码教程 - Go支持C语言风格的/* */块注释,也支持C++风格的//行注释. 当然,行注释更通用,块注释主要用于针对包的详细说明或者屏蔽大块的代码. 每个包都应有一个包注解,即 ...

  6. C# 读取app.config配置文件 节点键值,提示 "配置系统未能初始化" 错误的解决方案

    新建C#项目,在app.config中添加了appSettings项,运行时出现"配置系统未能初始化"的错误,MSDN里写到,如果配置文件中包含 configSections 元素 ...

  7. 深度|作为C端应用的代表,成功的陌生社交应用是什么样子的?

    作 为C端应用的代表,成功的陌生社交应用是什么样子的?活跃用户数?收益回报率?在实际社交产品设计中,我们一直为这些所谓的KPI左右,具体到设计行为 上:摆弄相应的界面元素,优化一下文案.页面流,但却很 ...

  8. java socket编程(li)

    一.网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以 ...

  9. Socket编程——怎么实现一个服务器多个客户端之间的连接

      package coreBookSocket; import java.io.IOException; import java.net.ServerSocket; import java.net. ...

  10. css3制作炫酷导航栏效果

    今天主要利用hover选择器.鼠标滑过查看效果. 一.普通导航栏 Home Content Service Team Contact 对于这种普通的导航栏,只是鼠标滑过的时候颜色会变,所以思路变得很简 ...