博主介绍‍ 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】点赞➕评论➕收藏 == 养成习惯(一键三连)欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

1、[极客大挑战 2019]Havefun

2、[HCTF 2018]WarmUp

3、[极客大挑战 2019]Secret File

4、[极客大挑战 2019]Http

5、[极客大挑战 2019]Knife

6、[ACTF2020 新生赛]BackupFile


1、[极客大挑战 2019]Havefun

flag{70759bb4-f798-42cd-a804-75643cad4f3c}

一打开web页面是下面的界面,看起来就是简单的html页面,一般情况,我们可以右击查看网页源代码。

源代码:发现下面有一段php代码提示,告诉我们利用get传参,然后回显flag

http://212ece18-ab24-46ac-a569-27c4ae46cce0.node5.buuoj.cn:81/" />

成功拿到flag:

flag{70759bb4-f798-42cd-a804-75643cad4f3c}

2、[HCTF 2018]WarmUp

flag{eeef61d4-5e6d-44c8-a9c0-505a9f5d98fc}

访问链接,发现是个静态的html网页,查看源代码

网页源代码:发现source.php文件

是个php的代码审计

通关源代码的分析,我们尝试构造payload,得到提示flag在ffffllllaaaagggg文件里面

source.php" />

关于payload的解释:

因为我们当前的source.php一般是在html目录下,往上是www,var,然后到根目录,flag一般就放在根目录下面,这里还有一个hint.php?/或者source.php?/,因此需要返回四层才能到根目录。

source.php?file=hint.php?/../../../../ffffllllaaaagggg

flag{eeef61d4-5e6d-44c8-a9c0-505a9f5d98fc}

3、[极客大挑战 2019]Secret File

访问题目链接,发现是个静态的html界面,我们老规矩直接右击查看源代码

右击查看源代码,发现/Archive_room.php目录,我们这里尝试访问下

访问出现了这个提示界面,很重要

但是我们点击中间的select查询按钮,发现提示说我们查阅结束,可是我们都还没有查看,怎么就查阅结束了呢,我们尝试查看源代码,但是没有查看到什么有价值的信息,我们想到可能被注释了,我们这里尝试利用burp抓包访问下。

利用burp抓包查看,发现还真注释了一个目录文件:secr3t.php

访问发现又是php代码审计

具体分析如下:

  1. error_reporting(0); 这句代码会关闭错误报告,使得攻击者更难发现和利用可能存在的错误。
  2. strstr($file,"../") 这里尝试检查用户输入的 file 参数中是否包含 ../,试图防止用户尝试向上遍历目录进行文件包含。但这种检查方式不够安全,因为可以通过其他编码、绕过方式继续进行目录遍历。
  3. stristr($file, "tp"), stristr($file,"input"), stristr($file,"data") 这几段检查是在尝试防止用户输入包含特定关键词,以防止包含敏感文件。然而,这种基于关键词匹配的方式也很容易被绕过。
  4. 最重要的是在根据用户输入的 file 参数包含文件时,并未对文件路径做充分的验证和过滤,这意味着攻击者可以构造恶意的 file 参数来包含任意文件,包括敏感文件如 flag.php

我们这里利用file传参,然后利用filter伪协议,base64编码访问flag.php文件

通过base64解码,拿到flag

4、[极客大挑战 2019]Http

flag{bd656c4a-f7ff-47d4-ae02-0b2f5b792d7e}

直接访问,发现是个三叶草安全技术小组的网站,老规矩右击查看网页源代码

发现Secret.php文件,我们尝试访问下

提示我们:它不是来自'https://Sycsecret.buuoj.cn',这个题目叫HTTP,说明应该要利用http协议,我们可以先利用burp抓包,然后修改Referer头,修改为https://Sycsecret.buuoj.cn

Referer:https://Sycsecret.buuoj.cn
  1. 尝试使用 “Syclover” 浏览器来访问该网站。
  2. 使用工具来修改请求头中的 User-Agent 信息,使服务器认为你正在使用 “Syclover” 浏览器。

修改请求头中的 User-Agent 信息

User-Agent: Syclover

只能在本地,我们可以伪造本地ip 127.0.0.1,所以我们可以利用X-Forwarded-For协议来伪造只需要在 header 添加 X-Forwarded-For:127.0.0.1,再次访问,这时得到flag

X-Forwarded-For:127.0.0.1

5、[极客大挑战 2019]Knife

flag{a0748d5f-8224-4d3f-8a96-51bc425867b5}

打开链接发现下面web页面有一个POST小马提示,这里说不定就是直接利用蚁剑工具连接,然后getshell的呢。

蚁剑连接成功

在根目录找到flag

6、[ACTF2020 新生赛]BackupFile

flag{756411ad-0b33-4ec7-9312-5bdd9a33f31a}

打开web页面,发现提示:让我们找到备份文件,备份文件一般以bak,swp等一些后缀结尾,我们可以利用dirsearch扫描

扫描目录发现index.pho.bak,下载查看是个php代码审计

python dirsearch.py -u http://03598744-56aa-4d6f-80a1-78838f7836b3.node5.buuoj.cn:81/ -e .bak,.swp

php代码审计

代码中比较 $key $str 的值时使用的是 ==,所以要确保key和str相等。

在PHP中:

= = 为弱相等,即当整数和字符串类型相比较时,会先将字符串转化为整数然后再进行比较。比如

a=123和b=123admin456进行= =比较时。则b只会截取前面的整数部分。即b转化成123。

所以,这里的a = = b是返回True。

所以这里我们只需要提供一个参数?key=123就可以拿到flag