学习记录--Day17

由于下午学校搞得什么垃圾活动,坐在那里三个小时,听着一群小天真巴拉巴拉的问些目前来讲毫无意义的问题,我真的是很无语好吗!也不知道今天要学些什么了,就还是按照之前没有完成的任务来吧。。。(明天有个考试,emmmmm…)

php序列化时候类的三个属性

  1. private:会引入不可见字符%00,格式是%00类名%00属性名
  2. protected:同样会引入不可见字符%00,格式是%00*%00属性名
  3. public:序列化没什么异常
    例:
 <?php
class dodo{
    private $a="f";
    protected $b="x";
    public $c="an";
}
$d=new dodo();
echo serialize($d);
echo"\r\n";
echo urlencode(serialize($d));`

在这里插入图片描述
可以看到,private属性,protected属性按照其序列化后的格式来看,加上%00(不用urlencode编码是不可见的)字符个数是合适的。

phar协议漏洞利用

1、phar文件要能上传到服务器端
2、要有可用的魔术方法作为“跳板”
3、文件操作函数的参数可控,且:、/、phar的特殊字符没有被过滤
将phar伪造成其他格式的文件
基于phar的文件结构,php识别phar文件是通过其文件头的stub,也就是__HALT_COMPILER(),其前后的内容是没有要求的,那么也就可以通过添加任意的文件头+修改后缀名的方式将phar伪装成其他格式的文件。
例:

$phar->setStub("GIF89I"."<?php __HALT_COMPILER(); ?>"); //设置stub,通过增加gif文件头可以绕过很多上传检测

实际利用:wordpress(一种cms:网站内容管理系统)
在这里插入图片描述

(额,,,没太看懂,看懂再写。。。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值