使用MySQL字符串运算实施精巧化SQL注入攻击
来源:互联网 发布:淘宝下架宝贝重新上架 编辑:程序博客网 时间:2024/06/02 05:30
本文转载自使用MySQL字符串运算实施精巧化SQL注入攻击
我们先来看这样一个场景。
我们先来看这样一个场景。
提示截断了错误的DOUBLE值,当在一个字符串类型的列中使用数字类型的值时会产生这类警告。 我们单独执行select ''-'';看下结果。
空字符减去空字符,结果返回0。也就是说,我们查询的每一行的name字段都会和0做对比,这样就会触发一个类型转换,对name字段转换的结果也必然为0。通过执行select CAST((select name from admin limit 1,1) as DECIMAL);可以验证。因此,where语句构成了相等的条件即where 0=''-'',记录被返回。
SQL注入场景: http://www.sqlzoo.net/hack/
如果我们想绕过登录验证,上面已经给出了一个传统的tips:用户名密码均为' or ''='。这样的逻辑和绕过方式很常见,这里不再具体解释了。那么通过这次发现的技巧,可以使用一种相当精巧的方式,且避免使用SQL关键字,来绕过登录。仅仅在name子段输入'-''#,password留空,即可绕过登录验证。
除了''-'',其他运算符''+'',''*'',''^''都会有同样的效果。 再继续进行测试,我们发现只要在闭合单引号的情况下构造查询结果为0的条件即可。
0 0
- 使用MySQL字符串运算实施精巧化SQL注入攻击
- 使用MySQL字符串运算实施精巧化SQL注入攻击
- 精巧的sql注入总结
- mysql使用bind_param()参数绑定来防止SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C#检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- C# 检查字符串,防SQL注入攻击
- MVC封装(四)加载控制器
- 异常IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
- 什么是高内聚、低耦合
- Memcached 与 Redis 实现的对比
- 明明的随机数 (去重)
- 使用MySQL字符串运算实施精巧化SQL注入攻击
- Solr中文分词器配置讲解 (IKAnalyzer和mmseg4j)
- JAVA多线程和并发基础面试问答
- Android 原生NumberPicker
- Nginx 配置简述
- 代理模式 - Proxy Patterns
- 2017 前端性能自查表
- Spring AOP实现原理
- Java中获取当前系统时间