攻防世界-web-ics-07-从0到1的解题历程writeup

题目分析

首先拿到题目描述:工控云管理系统项目管理页面解析漏洞

找到题目入口

图片

点击view-source对源码进行审计

if (isset($_GET[page]) && $_GET[page] != 'index.php') {      include('flag.php');    }else {      header('Location: ?page=flag.php');    }

就是page参数不传index.php就会包含上flag.php,如果page参数为index.php就会跳转到page=flag.php

<?php     if ($_SESSION['admin']) {       $con = $_POST['con'];       $file = $_POST['file'];       $filename = "backup/".$file;       if(preg_match('/.+\.ph(p[3457]?|t|tml)$/i', $filename)){          die("Bad file extension");       }else{            chdir('uploaded');           $f = fopen($filename, 'w');           fwrite($f, $con);           fclose($f);       }     }     ?>

存在session admin为true,则可通过这边上传木马,但是可以发现的是,对文件名有一个正则,这个等会再看。首先看如何将session的admin设为true。

<?php      if (isset($_GET[id]) && floatval($_GET[id]) !== '1' && substr($_GET[id], -1) === '9') {        include 'config.php';        $id = mysql_real_escape_string($_GET[id]);        $sql="select * from cetc007.user where id='$id'";        $result = mysql_query($sql);        $result = mysql_fetch_object($result);      } else {        $result = False;        die();      }      if(!$result)die("<br >something wae wrong ! <br>");      if($result){        echo "id: ".$result->id."</br>";        echo "name:".$result->user."</br>";        $_SESSION['admin'] = True;      }     ?>

存在参数id,且参数不为1且最后一位为9。会去执行查找项目功能。

解题流程

随意输入id为9查看反馈为

图片

这边尝试了一下

图片

发现1 9即可绕过。因为显然floatval($_GET[id]) !== '1’这是不等的,因为结果数据类型不同。然后最后一位为9.

然后本地数据库跑一下

图片

转为int类型直接就是1。所以直接能查出admin的那一条记录。

然后尝试去上传界面上传getshell

<?php     if ($_SESSION['admin']) {       $con = $_POST['con'];       $file = $_POST['file'];       $filename = "backup/".$file;       if(preg_match('/.+\.ph(p[3457]?|t|tml)$/i', $filename)){          die("Bad file extension");       }else{            chdir('uploaded');           $f = fopen($filename, 'w');           fwrite($f, $con);           fclose($f);       }     }     ?>

可以发现post两个参数分别为con是文件内容,file为文件名。
然后尝试绕过正则

preg_match(’/.+.ph(p[3457]?|t|tml) / i ′ ,   /i',  /i, filename)个人理解是。。这个需要绕过吗,直接上传配置文件,解析别的后缀名为php不就好了吗。

图片

首先存在.htaccess文件

图片

上传一句话木马。

上传覆盖.htaccess

图片

但是发现.jpg文件并没有被作为可执行文件执行

图片

那应该是

.htaccess没有写权限吧。

找先知上一些上传绕过的方法

图片

因为获取文件后缀进行正则匹配的时候,只会匹配最后一个.后的内容,所以通过php/.绕过

图片

蚁剑连上去发现找到flag即可

图片

神奇的是,发现成功上传了.htaccess文件,但是并没有能把jpg文件解析了emmm

图片

望大佬告知~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OSCP 2023 Challenge Writeup-MedTech-CSDN博客是一个关于OSCP挑战赛的技术解析博客。在这篇博客中,作者详细讲解了一个名为MedTech的挑战项目,并提供了解决该挑战所需的步骤和工具。 这篇博客的开头介绍了OSCP证书的重要性和它在信息安全领域的认可度。接着,作者向读者介绍了挑战项目MedTech的背景和目标。MedTech是一个模拟医疗技术公司的网络环境,参与者需要在该环境中寻找漏洞、获取权限,最终控制主机,获取FLAG。 在解决这个挑战的过程中,作者详细介绍了使用的工具和技术。例如,他讲解了利用漏洞扫描工具Nmap进行主机发现和服务探测的步骤,以及如何使用Metasploit框架进行漏洞利用和提权。 博客中还涵盖了其他一些有关网络渗透测试的技术,如枚举、社会工程学和Web应用程序漏洞利用。作者详细解释了每个技术的原理和实际应用。 在解决MedTech挑战的过程中,作者还分享了一些遇到的困难和技巧。他提到了一些常见的错误和陷阱,并分享了如何避免它们的经验。 最后,作者总结了整个挑战的过程,并分享了他在完成挑战时的成就感和收获。他强调了在这个过程中学到的技能和知识的重要性,并鼓励读者积极参与类似的挑战和项目。 这篇博客不仅提供了对OSCP挑战赛的深入了解,而且为读者提供了解决类似问题的思路和方法。它对于那些对信息安全和网络渗透感兴趣的读者来说是一个很有价值的参考资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值