自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 Windows安全应急--在应急响应中需要知道的信息

特别是删除文件的时候,让网站开发商确认文件是否为网站自身文件,如果不是,让网站开发商自行删除(可以指导他删,但一定是他自己来动手)如果被攻击的服务器是在内网(外网不能直接访问),那么需要了解是否跟其他服务器有连接,如果有,那么也需要排查那台服务器。如遇到安全工具不能运行,需要安装xx驱动等问题,那就使用其他安全工具,不要随意安装驱动,以免服务奔溃。日志是否完整(网站访问日志,中间件日志,网站安全设备日志,系统安全日志等,日志时间多长)了解服务环境(使用什么语言开发的,开发框架是什么,开发商是哪个?

2024-05-23 15:24:25 127

原创 Windows安全应急--多种安全工具的介绍

AutoRuns是一款项目管理工具,它可以查看“资源管理器”,“IE浏览器”,“计划任务”,“驱动等等”,D盾是一款webshell查杀工具,通常使用它来扫描网站webshell,同时也可以扫描隐藏文件。PC Hunter是一个Windows系统信息查看软件,同时也是一个手工杀毒辅助软件。Process Lasso也是一款优秀的进程管理辅助工具,它同时可以监视进程动作。PowerTool也是一款手工杀毒辅助,进程管理辅助工具。Malware可以查看进程,可以记录进程的异常操作,它可以检查多项记录。

2024-05-22 14:08:19 276

原创 Windows安全应急--多个DOS命令的使用

P – 每显示满一屏停顿一下,待用户按任意键后再继续显示下一屏(在多文件的时候可以使用这一方法)/Y –移动目标文件夹内有相同名字的文件时,不会提示,默认覆盖。-y 显示所有连接的 TCP 连接模板。-i 显示所有网络接口的信息,格式“netstat -i”。参数的话,就不会出现让你确认删除的提示,默认全部删除。不加只会删除目录下的文件,不会删除子目录内的文件。-r显示核心路由表,格式同“route -e”。参数的话,会删除目录下包括子目录的所有文件,这里使用相同的命令复制文件,唯一不同的是,

2024-05-22 12:55:49 873

原创 Web安全--端口详解

【代码】Web安全--端口详解。

2024-05-21 11:01:43 180

原创 DVWA代码审计--命令执行

中的第一次出现,并返回字符串的剩余部分。语法:str_replace(find,replace,string,count)语法:stristr(string,search,before_search)函数搜索字符串在另一字符串中的第一次出现,并返回字符串的剩余部分。函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。函数检查一个变量是否为空,是返回true,否则返回false。函数检测变量是否设置,是返回true,否则返回false。思考,在进行ping操作的同时,怎样让他执行代码呢?

2024-05-21 08:30:17 810

原创 代码审计--一道简单的文件包含题目的多种利用方式

语法:fopen(filename,mode,include_path,context)原因是远程服务器已经将文件解析了,远程包含只包含前端显示的代码,跟后缀没什么关系,这句话的意思很明显了,以写入的方式将一句话写入到shell.php这个文件中,只要文件内容符合PHP语法规范,那么任何扩展名都可以被当作PHP来解析,相反,本地包含就不需要在前端显示,只要是符合php规范的代码就可以,但是如果我就想要包含php后缀的文件呢,当然也是可以的,:默认值是OFF,不允许包含url里的封装协议包含文件。

2024-05-20 08:36:35 812

原创 DVWA代码审计--反射型XSS

通过autofocus属性执行本身的focus事件,这个向量是使焦点自动跳到输入元素上,触发焦点事件,无需用户去触发。通过autofocus属性执行本身的focus事件,这个向量是使焦点自动跳到输入元素上,触发焦点事件,无需用户去触发。分别是:str_replace(要查找的值,要替换的值,被搜索的字符串)就是保留文字在源代码中的格式,页面中显示的和源代码中的效果完全一致。这只是简单的测试,当然也是可以的,然后再看看上面说的如何闭合标签。至于上面说的10多种payload,任然是可以使用的,部分。

2024-05-20 08:35:05 690

原创 DVWA代码审计--文件上传

上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。文件的 MIME 类型,需要浏览器提供该信息的支持,例如”image/gif”。语法: move_uploaded_file(file,newloc)函数查找字符串在另一字符串中最后一次出现的位置(区分大小写)。规定要返回其中一部分的字符串。:本函数仅用于通过 HTTP POST 上传的文件。已上传文件的大小,单位为字节(Byte)。

2024-05-19 17:38:59 631

原创 DVWA代码审计--SQL注入

此时如果比较操作符被过滤,上面的盲注语句则无法使用,那么就可以使用greatest来代替比较操作符了,需要注意的是分隔符不能为null,如果为null,则返回结果为null。通常含有这些函数substr(),mid(),limit(),的这些子句方法都需要使用到逗号,语法:concat_ws(separator, str1, str2, …使用greatest()、least():(前者返回最大值,后者返回最小值)同样是在使用盲注的时候,在使用二分查找的时候需要使用到比较操作符来进行查找,

2024-05-18 16:14:38 1126

原创 高级SQL注入:混淆和绕过

语句通常与聚合函数(count, sum, avg, min, or max.) 等联合使用来得到一个或多个列的结果集,语法:group_concat(要连接的字段,排序字段,分隔符(默认是逗号)),是转移符,用以匹配任何空白字符,包括空格、制表符、换页符等等,通常被用来构造一个恶意的语句以从数据库中获取更多数据。通常被用来构造一个恶意的语句以从数据库中获取更多数据。第一个数字可以控制输出的字符,第二个数字同样也可以,虽然看懂了一些,但是太菜了,无法用脚本来计算,

2024-05-18 15:32:27 498

原创 Linux安全应急--定位和排除(二)

日志名一般是 error.log ,配置文件: /etc/nginx/nginx.conf。Apache配置文件默认路径: /etc/httpd/conf/httpd.conf。SSH登录日志: cd /var/log/ 然后执行 less secure。或者在 /usr/local/apache2/conf/httpd.conf。创建计划任务时,都会生成相应的文件,如果可疑,那么也应该清除,root用户执行的就会在 /var/spool/cron/说白了就说找漏洞,你可以问问有是不是设了弱口令啊啥的,

2024-05-17 15:19:22 1093

原创 Linux安全应急--排查思路及命令(一)

方便定(shuai)位(guo)问题,后面客户可能会让你上机操作,或者是使用你自己电脑登录目标机器查找问题。到达现场后,跟客户沟通,我方需要确认一些信息(我在Windows安全应急的第三篇有讲解一些),如果是Linux系统的话,见过最多的是CentOS 6,Linux是全命令界面的,命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。小部分是中了勒索病毒,如果是勒索病毒的话,看看360、腾讯有没有什么解密工具,接到应急指令后,一般都需要到客户现场去处理的,最好带上电脑和笔记本。

2024-05-17 12:38:38 1149

原创 AVDemo漏洞平台黑盒测试

一般来说上传的文件一般在upload目录下,这个正好也在这个目录,但是文件名挺复杂了,还有这个是某个dalao写的平台,也就检测不到什么cms了,然后在头像上传处,我们先拿一张普通的jpg文件测试一下,要是对方开了远程桌面,添加用户直接就拿服务器了,下划线被转换了,这个貌似没有什么好的绕过方法,试了几个方法还是不行,然后看了处理上传的代码,这个表字段刚好是三个,然后就直接爆出数据了,条件限制没有什么好的方法,暂时先放弃了,再来试试URL编码 %252f%252a。因为是本地的环境,端口这些就不扫描了,

2024-05-16 13:05:18 901

原创 Metasploit基本命令

(当前设置) ,也就是默认设置。开头的为测试模块,也就是。端口,不设置的话默认为。(需要) ,必须要设置的。如果不设置端口,默认为。,看看存不存在漏洞,

2024-05-16 13:00:24 417

原创 代码审计--PHP反序列化

若被解序列化的变量是一个对象,在成功地重新构造对象之后,PHP 会自动地试图去调用。语法:unserialize ( string $str ) : mixed。题目地址: http://120.79.33.253:9001/函数对单一的已序列化的变量进行操作,将其转换回。然后这个序列化的结果,就是我们要进行反序列化的值,反序列化就将字节流重新转换成字符串的过程,但是要注意的是,比如payload中的。– 只允许类的内部调用,外部无权调用。如果我们不知道要进行反序列化的值,说到反序列化,就不得不说序列化。

2024-05-15 15:21:13 554

原创 代码审计--变量覆盖

那么payload就应该是这样子的: $pass=233&$thepassword_123=233。那么我们可以让他不冲突,同时又满足了 $pass == $thepassword_123。已经有初始值了,所以当我们输入payload后,就会替换掉原来的。的时候,传递过来的值会被直接注册为全局变量直接使用,,它表示仅在当前符号表中已有的同名变量时,覆盖他们的值。我们知道,这个函数判断变量有没有冲突,有冲突就覆盖,因为两个都是可变变量,所有不存在谁使用谁的值,而我们自定义的变量可以替换程序原有的变量值。

2024-05-15 15:10:46 1063

原创 代码审计--PHP反序列化

若被解序列化的变量是一个对象,在成功地重新构造对象之后,PHP 会自动地试图去调用。语法:unserialize ( string $str ) : mixed。题目地址: http://120.79.33.253:9001/函数对单一的已序列化的变量进行操作,将其转换回。然后这个序列化的结果,就是我们要进行反序列化的值,反序列化就将字节流重新转换成字符串的过程,但是要注意的是,比如payload中的。– 只允许类的内部调用,外部无权调用。如果我们不知道要进行反序列化的值,说到反序列化,就不得不说序列化。

2024-05-14 15:51:08 735

原创 AVDemo漏洞平台白盒测试

这是一种与压缩包有关的协议,他可以打开一个压缩包,并且可以打开其中一个文件,读取某个文件的内容,和 $clean_user_id = clean_input($_POST['id']);然后根据以往的经验,这种 include($_GET['module'].'.inc')我们知道,上传文件处是把新的文件更新到数据库,并且更新的时候没任何过滤,有引号保护的,当我们在闭合引号的时候,可能会被过滤掉,导致无法注入,这是服务器执行的时候有差异导致的,因为执行的时间相差也非常短,

2024-05-14 14:27:36 1083

原创 hydra常见服务爆破命令

hydra 也称九头蛇,是著名黑客组织thc的一款开源的暴力密码破解工具,可以破解多种密码。

2024-05-13 20:50:44 553 1

原创 Python从0到POC编写--函数

执行储存在字符串或文件中的 Python 语句,相比于 eval,exec 可以执行更复杂的 Python 代码。我们在使用某个脚本的时候,通常能够看到类似这样的操作,python ms17-010.py 192.168.1.2。函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。随着Python3.x的使用越来越广,format方式使用的更加广泛。在第一篇中有提到列表的一些操作,这里就不做更多的说明了。用一个整数作参数,返回一个对应的字符。

2024-05-13 20:45:47 950

原创 Python从0到POC编写--基础

在某个漏洞出现的时候,会经常看到 exp啊,poc啊什么鬼的,那么这些究竟是什么东西??POC即,观点验证程序。运行这个程序就可以得到预期的结果,验证了观点。再简单点,就是测试的代码。。。EXP是exploit(漏洞利用程序),就是利用代码CVE即公共漏洞和暴露。简单的说,就是我们熟悉的 漏洞信息库。

2024-05-12 16:48:49 1195

原创 Python从0到POC编写-魔法方法

方法是一个特殊的方法(init是单词初始化initialization的省略形式),它的作用是在使用类创建对象之后被执行,用于给新创建的对象初始化属性用。如果要把一个类的实例变成 str ,就需要实现特殊方法。如果当前模块为被调用模块的时候 打印当前模块的名称。self 表示对象本身,谁调用,就表示谁,是自定义的变量名称,随便取啥都行。如果模块是被直接执行的 ,那么。是顶层代码执行的作用域的名称。表示当前操作的对象在那个模块。如果模块是被导入的,那么。,赋值给self对象的。是系统定义的内部函数,

2024-05-12 14:44:37 586

原创 Python从0到POC编写--模块(三)

常用的属性有hour, minute, second, microsecond。date.isoweekday() 返回 weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;date.weekday() 返回 weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推。datetime.date 表示日期的类。常用的属性有year, month, day。month 的范围是 [1, 12] (月份是从1开始的)进行编码时,要先进行 utf-8 编码,不然会报错。

2024-05-11 12:56:32 596

原创 Python从0到POC编写--模块(二)

subprocess.getstatus(file) 返回ls -ld file的执行结果字符串,调用了getoutput,不建议使用此方。默认的访问权限为 511,表示8进制的 0o777,即拥有者,用户组和其他用户均具有读、写和执行的权限。是标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。删除指定的目录,若目录非空及里面有文件,则抛出OSError异常。语法: re.sub(要匹配的字符串,要替换的字符串,查找的值)使用 subprocess 模块的 getoutput 方法,

2024-05-11 11:52:23 918

原创 Python从0到POC编写--模块

allow_redirects: 开关, 表示是否允许对url进行重定向, 默认为True。params: 翻译过来就是参数, url中的额外参数,字典或者字节流格式,可选。,它也可以接受一个字符串对象。可以用这个字段来定义http的访问头,可以模拟任何浏览器来对url发起访问。它通常跟一些第三方解析器一起使用,如 lxml,XML,html5lib 等。这里如果使用 urllib 模块来打开 url ,如果存在中文会报错,与params不同的是,data提交的数据并不放在url链接里,

2024-05-10 16:49:29 916

原创 Python从0到POC编写--文件操作

因为Windows系统的换行符为\r\n,Linux系统的换行符为\n,加上U则能自动把\r\n转换成\n。“U” 表示在读取时,可以将\r \n \r\n自动转换成\n(与r或者r+模式同时使用)如果 是使用 with open 方式,那么可以不用手动关闭文件,readlines() 读取所有内容(可指定读取字符数),默认是不换行的,如果想换行的话,得手动加入换行符 ‘\n’追加模式(可读,不存在则创建,存在则只追加内容)只写模式(不可读,不存在则创建,存在则覆盖)r+ 可读写文件(可读,可写,可追加)

2024-05-10 15:21:32 504

原创 Python从0到POC编写--实用小脚本02

爆破脚本也是我们经常使用的东西这里就简单讲讲后台爆破脚本的编写吧在编写之前,我们先通过访问网站去看看情况首先我们可以先登录看看输入账号 admin ,密码 12345 后登录失败,提示 用户名或密码错误在输入正确的密码 123456 后,则会跳到用户界面然后我们可以通过这个信息去判断是否登录成功现在我们有了登录密码,有了判断是否登录成功的信息还有就是如何构造 post 包我们可以先用 burp 抓一下看看现在我们可以看到,这些数据发送到了 的页面,很明显这是判断用户名和密码的,POST 数据为 有了这些信

2024-05-09 21:07:03 1093

原创 Python从0到POC编写--实用小脚本

模块中定义了一些常用的属性(包含所有数字,字母,可打印的所有ascii码等)第二步就是要把这些没有写的协议,或者没有补全的协议全部替换为我们的内容,在ctf比赛中,为了能够快速获取flag,获得更多的分数,现在呢,代码是这样子的,需要把一些标签替换为空,把。这份列表呢,奇奇怪怪,有些写错了,有些没补全。不管用户输入的是什么,都替换为我们安排的内容,现在呢,我们有了一份奇怪的列表要去判断,我们只知道前三位,然后需要去爆破后两位,当然,比赛一般有两种获取flag的方式,在解题的过程中,只能看到一半的密码,

2024-05-09 20:43:47 1824

原创 那些年使用过的UA头

在sqlmap 中可以使用。

2024-05-08 20:36:23 486

原创 Python从0到POC编写--SQL注入

SQL注入POC编写。

2024-05-08 20:29:46 1223

原创 Python爬虫--5分钟入门正则表达式

就是匹配3位数字的电话号码,比如:010-88888888。假设我们想要获取课程标题,那么我们就需要使用正则表达式了。所谓的模式修正符,即可以在不改变正则表达式的情况下,一种是3位数字的区号,另外一种是4位数字的区号。而懒惰模式的核心点就是尽可能少的匹配。通过模式修正符改变正则表达式的含义,贪婪模式的核心点就是尽可能多的匹配,或者其他的,当然不可能是空白符号,现在我们发现他在 h1 标签里面 ,表示匹配 协议名称 ,比如。或者其他协议也能够匹配 ,这种没有www的,也能匹配。我们可以这样写正则表达式,

2024-05-07 16:58:36 1050

原创 Python爬虫--Urllib基础

urlcleanup 用来清除爬虫产生的一些缓存及其他一些杂七杂八的东西。在我们访问网页的时候,可能会因为各种原因导致访问不成功,是解码的意思,有些时候因为编码不同,不解码的话会出错,这个原因可能是对方服务器反应慢,或者网速慢之类的问题,如果超过这个时间,那么我们就可以认为网页无法访问。这样就可以了,他会将百度网页下载到本地D盘下,那么我们就需要给代码更多的判断时间,这个模块的作用是将网页下载到本地。获取当前访问网页的url地址。他通常在请求网页的时候使用,库,用来解析html的。运行时不会有任何提示。

2024-05-07 16:31:29 549

原创 Python爬虫--异常处理

程序在运行的时候难免会遇到各种各样的问题,如果没有异常处理,那么程序遇到问题的时候就可能奔溃,这样就非常耗时又麻烦了,为了避免这种情况发生,就需要开发一个具备异常处理的程序。

2024-05-04 14:01:36 483

原创 Python爬虫--伪装成浏览器

要爬取的各种各样的网页,它们有一部填写需要验证码,有的需要 cookie,还有更多许多高级的功能,它们会阻碍你爬,而我对于openurl单纯地理解就是打开网页,urllib 有些方面还是没 request 好。通常会判断是不是浏览器访问,如果不是那就屏蔽。所以,我们如果要修改报头,也就是添加。对于一些HTTP的高级功能不支持,简单的讲就是,一些论坛啊,博客啊。它可以是一个字符串或者是一个。,处理问题更专业,更个性化。为防止别人爬他们的文章,我们不讲很官方的属于,

2024-05-04 13:59:48 837

原创 Python爬虫--爬取糗事百科段子

代码跟之前几乎一样,只是正则不同,应该不需要怎么介绍了。是匹配不了的,需要使用模式修饰符。标签 之间有很多空行。如果怕请求出错的话,

2024-05-03 14:57:49 446

原创 汇编语言-内中断

中断类型码是中断来源信息的编码, 在 8086CPU 中使用一个字节的长度来编码中断源。当用div指令产生除法溢出中断时,中断类型码0将定位到中断向量表的第一个中断向量,中断处理程序就是用来处理对应中断的程序. CPU 在收到中断信息之后,并且可以立即对所接受到的信息进行处理,这种特殊的信息称为: 中断信息。就会转去执行对应的中断处理程序. 中断处理程序由程序员编写。的两个单元中读取中断处理程序的入口地址放入IP和CS中。CPU 在收到中断信息之后, 需要对中断进行处理。然后进行相关的中断处理程序的执行。

2024-05-03 14:53:31 10

原创 汇编语言-adc、sbb以及cmp指令

cmp 是比较指令,cmp 的功能相当于减法指令,只是不保存结果。高16位-CF,若前一步出现借位,则据此调整高16位的内容。结果的低16位,如果ax小于bx将产生借位,导致CF=1。,但并不保存结果,仅仅根据计算结果对标志寄存器进行设置。通过cmp指令执行后,相关标志位的值就可以看出比较的结果。adc 是带进位加法指令,它利用了CF位上记录的进位值。sbb是带借位减法指令,它利用了CF位上记录的借位值。cmp 指令执行后,将对标志寄存器产生影响。的运算,结果为0,但并不在ax中保存,

2024-05-02 15:48:35 1073

原创 汇编语言-ret指令和retf指令

指令用栈中的数据,修改IP的内容,从而实现近转移。指令 用栈中的数据,修改。的内容,从而实现远转移。

2024-05-02 13:39:28 292

原创 汇编语言-jcxz指令和loop指令

寄存器配合使用, 用于循环操作, 类似于高级语言中的for, while等。将 cx 寄存器的值 -1 , cx = cx - 1。如果不为零 就执行标号处的代码, 然后执行步骤1。在对应的机器码中包含转移的位移,而不是目的地址。(如果 (cx)=0 ,转移到标号处执行)8位位移是编译程序时在编译时算出的。时 ,什么也不做(程序向下执行)如果为零, 执行Loop后面的代码。所有的有条件转移指令都是短转移,jmp指令后的第一个字节地址。jcxz 是有条件转移指令,Loop 也是有条件转移指令。

2024-05-01 17:14:36 517

原创 汇编语言-jmp指令

8086 转移指令分几类:无条件转移指令: 如 jmp条件转移指令: 如 jcxz循环指令: 如 loop过程中断jmp short 标号功能为:段内短转移(IP)=(IP)+8位位移8位位移标号处的地址jmp指令后的第一个字节地址short指明的此处是8位位移8位位移的范围为-128-127,用补码表示8位位移是编译程序时在编译时算出的jmp near ptr 标号功能为:段内近转移(IP)=(IP)+16位位移16位位移标号处的地址jmp指令后的第一个字节地址。

2024-05-01 16:38:08 736

一款开源的上班摸鱼神器

上班时,你的电脑屏幕上什么都没有,突然领导走过来,你慌忙打开一些文件假装自己在忙碌? 这款软件它能让你的电脑看起来永远在忙碌,再也不用担摸鱼被抓! Genact 是一个可以运行在你的终端上的小程序,它会模拟一些看起来非常专业的活动,比如编译代码,扫描网络等等。 这些都是假象!它不需要任何权限,也不会真的做这些事情,你可以同时打开多个界面假装忙碌,而实际上啥都没干,就是玩!

2024-04-25

最新区块链技术,从入门到精通视频教程

最新整理区块链技术视频包含开发工具,源码,视频教程,从小白到大神,分享给大家学习。 区块链最早是比特币的基础技术,目前世界各地均在研究,可广泛应用于金融等各领域 区块链的基本原理 交易(Transaction):一次操作,导致账本状态的一次改变,如添加一条记录; 区块(Block):记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识; 链(Chain):由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。 如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中所有交易内容导致状态改变的结果进行确认。

2024-04-24

python爬虫最全教程从入门到精通

教程简介 第01章从零开始系统入门python爬虫工程师-课程导学 第02章彻底解决让人头疼的环境搭建问题 第03章我们从了解网络爬虫开始,重新认识爬虫 第04章爬虫工程师基本功--计算机网络协议基础 第05章爬虫工程师基本功-前端基础 第06章爬虫前置知识讲解&爬虫初体验 第07章项目实战1-论坛网站,实现静态网页数据抓取 第08章多线程和线程池编程-进一步改造爬虫 第09章项目实战2-电商网站,实现动态网网站的数据抓取 第10章实战项目3-社区网站,实现模拟登陆和验证码 第11章先懂反爬再应对反爬 第12章学会用框架,scrapy实现快速开发爬虫 第13章帮你规划一条通往高级爬虫工程师的进阶之路

2024-04-24

Sora学习资源最全合集

资源太大,上传的网盘。 Sora学习资源最全合集,里面包含Sora-AI视频全网最全收集(100多个), Sora提示词技巧,Sora学习论文,Sora专属教程,Sora专属提示词库,SORA五个快速变现方向 在这个知识爆炸的时代,学习资源已经无处不在,但Sora学习资源最全合集无疑是你追求知识和技能的理想伙伴。无论你是初学者,还是经验丰富的专业人士,Sora都将为你提供丰富、全面、高品质的学习资源。 Sora学习资源最全合集的特点在于其全面性和专业性。首先,该平台涵盖了各类学习资源,包括但不限于在线课程、视频教程、电子书、图文教程等,几乎涵盖了所有你能想到和想不到的学习领域。无论是编程、设计、语言学习、职业技能提升,还是兴趣爱好的培养,Sora都能满足你的需求。 其次,Sora对学习资源的筛选和整理非常专业。他们有一支专业的团队,负责收集、整理和更新学习资源,确保每一个资源的质量和准确性。同时,Sora还根据不同的学习目标和人群,进行了详细的分类,方便你快速找到适合自己的学习资源。

2024-04-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除