版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
甘肃政法学院入侵检测课程设计题目Snort入侵检测系统计算机科学学院计算机科学与技术专业09级计算科学与技术本科班学号:200981010118姓名:_____刘利刚____指导教师:金涛成绩:_______________完成时间:_2011年_12月摘要:入侵检测已经日益成为网络安全中不可或缺的一部分,它为网络提供了一个防御层,在这一层中我们可以预先定义可能的入侵行为以便对网络活动进行监视,当发现在可能的入侵行为时就会报警通知系统管理员。现在计算机安全市场上有许多入侵检测系统,但它们都面临一个共同的问题,就是难于配置而且一般价格不菲,Snort相对于它们来说在这方面有相当大的优势。关键词:IDS;入侵检测系统;SnortAbstract:IntrusionDetectionSystem(IDS)isanimportantpartofnetworksecurityarchitecture.Theyprovidealayerofdefense,whichmonitorsnetworktrafficforpredefinedsuspiciousactivity,andalertsystemadministratorswhenpotentialhostiletrafficisdetected.TherearemanycommercialIntrusionDetectionSystemsnowadays,butalmostallofthemhavethecommonalitiesthattheysharesuchascomplexdeploymentandhighmonetarycost.Snorthasmoreadvantagethanthem.Keywords:IDS;IntrusionDetectionSystem;Snort.绪论snort是一个免费的基于libpcap的轻量级网络入侵检测系统。它能够跨系统平台操作,自带轻量级的入侵检测工具可以用于监视小型的TCP/IP网络,在进行网络监视时snort能够把网络数据和规则进行模式匹配,从而检测出可能的入侵企图,同时它也可以使用SPADE插件,使用统计学方法对网络数据进行异常检测,这些强大的检测功能为网络管理员对于入侵行为做出适当的反击提供了足够的信息。snort使用一种易于扩展的模块化体系结构,开发人员可以加入自己编写的模块来扩展snort的功能。这些模块包括:HTTP解码插件、TCP数据流重组插件、端口扫描检测插件、FLEXRESP插件以及各种日志输入插件等。同时snort还是一个自由、简洁、快速、易于扩展的入侵检测系统,已经被移植到了各种UNIX平台和Win98,Win2000上。它也是目前安全领域中,最活跃的开放源码工程之一。在S上几乎每天都提供了最新的规则库以供下载,由于snort本身是自由的源码开放工程所以在使用snort时除了必要的硬件外软件上基本上不需要有任何额外的开销。这相对于少则上千多则上万的商业入侵检测系统来说,无疑是最好的替代产品之一。本文主要论述了snort的背景知识以及它的基于规则的入侵检测机制,同时对于如何使用也作了概括说明。Snort入侵检测系统概述2.1入侵检测技术简介 入侵检测就是一个监视计算机系统或者网络上发生的事件,然后对其进行安全分析的过程。它可以用来发现外部攻击与合法用户滥用特权,根据用户的历史行为,基于用户的当前操作,完成对入侵的检测,记录入侵证据,为数据恢复和事故处理提供依据。入侵检测系统的原理如图2.1所示:图2.1入侵检测的原理图大多数的入侵检测系统都可以被归入到基于主机、基于网络以及分布式三类。基于主机的入侵检测系统是一种早期的IDS设计模型,它主要设计用来监视单一的服务器,因为DNS、Email和web服务器是多数网络攻击的目标,这些攻击大约占据全部网络攻击事件的1/3以上,基于主机的入侵检测系统就是为了解决这些问题而设计的,它能够监视针对主机的活动(用户的命令、登录/退出过程,使用数据等等),它的特点就是针对性好而且,效果明显,误报率低。基于网络的入侵检测系统是后于基于主机入侵检测系统而出现的,它主要用于集中用于监控通过网络互连的多个服务器和客户机,能够监视网络数据发现入侵或者攻击的蛛丝马迹。分布式IDS通过分布于各个节点的传感器或者代理对整个网络和主机环境进行监视,中心监视平台收集来自各个节点的信息监视这个网络流动的数据和入侵企图。在入侵检测系统中,系统将用户的当前操作所产生的数据同用户的历史操作数据根据一定的算法进行检测,从而判断用户的当前操作是否是入侵行为,然后系统根据检测结果采取相应的行动。入侵检测的过程是一个机器(检测工具)与人(黑客)对抗的决策分析过程,其技术基础是基于知识的智能推理,需要用到人工智能的相关技术。各种入侵检测系统使用的检测方法可以分为两类:基于特征码的检测方法和异常检测。使用基于特征码检测方法的系统从网络获得数据,然后从中发现以知的攻击特征。例如:在某些URL中包含一些奇怪的Unicode编码字符就是针对IISUnicode缺陷的攻击特征。此外各种模式匹配技术的应用,提高了这种检测方法的精确性。使用异常检测的系统能够把获得的数据与一个基准进行比较,检测这些数据是否异常。现在,大量的统计学方法用于这个领域。2.2Snort简介 snort是一个基于libpcap的轻量级网络入侵检测系统。根据,轻量级入侵检测系统是这样定义的:首先它能够方便地安装和配置在网络的任何一个节点上,而且不会对网络运行产生太大的影响,同时轻量级入侵检测系统还应该具有跨系统平台操作,最小的系统要求以及易于部署和配置等特征,并且管理员能够利用它在短时间内通过修改配置进行实时的安全响应。Snort是一个典型的轻量级入侵检测系统,首先可以运行在多种操作系统平台,例如UNIX系列和Win9X,Win2000(需要libpcapforWin32的支持),与很多商业产品相比,它对操作系统的依赖性比较低。它的分发源码文件压缩包大约只有100KB,在一台一般性能的计算机上编译安装时大约只需几分钟的时间,另外配置激活也大约只需要十几分钟的时间,安装以后即便不对它进行维护也能长时间稳定运行。其次用户可以根据自己的需要及时在短时间内调整检测策略。就检测攻击的种类来说,据最新的规则包文件snortrules-stable.tar.gz(Sep402:15:182002)snort共有33类,1867条检测规则,其中包括对缓冲区溢出,端口扫描和CGI攻击等等。2.3系统组成和处理流程系统组成和处理流程 图2.3.1Snort程序流程图2.3.1数据包捕获库基于网络的入侵检测系统需要捕获并分析所有传输到监控网卡的网络数据,这就需要包捕获技术,Snort通过两种机制来实现,其一是将网卡设置为混杂模式,另一方式则是利用Libpcap/Winpcap函数库从网卡捕获网络数据包。数据包捕获函数库是一个独立的软件工具,能直接从网卡获取数据包。该函数库是由Berkeley大学LawrenceBerkeleyNationalLaboratory研究院开发,Libpcap支持所有基于可移植操作系统接口(PortableOperatingSystemInterfaceofUnix,POSIX)的操作系统,如Linux、Unix等,后来为支持跨平台特性,又开发了Windows版本(http://www.winpca),Windows下和Linux的函数调用几乎完全相同,Snort就是通过调用该库函数从网络设备上捕获数据包。2.3.2数据包解码器数据包解码器主要是对各种协议栈上的数据包进行解析、预处理,以便提交给检测引擎进行规则匹配。解码器运行在各种协议栈之上,从数据链路层到传输层,最后到应用层,因为当前网络中的数据流速度很快,如何保障较高的速度是解码器子系统中的一个重点。目前,Snort解码器所支持的协议包括Ethernet、SLIP和PPP等。2.3.3预处理器预处理模块的作用是对当前截获的数据包进行预先处理,以便后续处理模块对数据包的处理操作。由于最大数据传输单元(MTU)限制及网络延迟等问题,路由器会对数据包进行分片处理。但是恶意攻击者也会故意发送经过软件加工过的数据包,以便把一个带有攻击性数据包分散到各个小的数据包中,并有可能打乱数据包传输次序,分多次传输到目标主机。因此,对异常数据包的处理也是入侵检测系统的重要内容。预处理器主要包括以下功能:1)模拟TCP/IP堆栈功能的插件,如IP碎片重组、TCP流重组插件;2)各种解码插件:HTTP解码插件、Unicode解码插件、RPC解码插件、Telnet解码插件等;3)规则匹配无法进行攻击检测时所用的插件:端口扫描插件、Spade异常入侵检测插件、Bo检测插件、ARP欺骗检测插件等。根据各预处理插件文件名可对此插件功能做出推断。2.3.4检测引擎检测引擎是入侵检测系统的核心内容,Snort用一个二维链表存储它的检测规则,其中一维称为规则头,另一维为规则选项。规则头中放置的是一些公共属性特征,而规则选项中放置的是一些入侵特征。Snort从配置文件读取规则文件的位置,并从规则文件读取规则,存储到二维链表中。Snort的检测就是二维规则链表和网络数据匹配的过程,一旦匹配成功则把检测结果输出到输出插件。为了提高检测速度,通常把最常用的源/目的IP地址和端口信息放在规则头链表中,而把一些独特的检测标志放在规则选项链表中。规则匹配查找采用递归的方法进行,检测机制只针对当前己经建立的链表选项进行检测,当数据包满足一个规则时,就会触发相应的操作。图2.3.4检测规则的结构示意图2.3.5日志和报警子系统输出方式采用输出插件方式,输出插件使得Snort在向用户提供格式化输出时更加灵活。输出插件在Snort的报警和记录子系统被调用时运行。日志和报警子系统可以在运行Snort的时候以命令行交互的方式进行选择,如果在运行时指定了命令行的输出开关,在Snort规则文件中指定的输出插件会被替代。现在可供选择的日志形式有三种,报警形式有六种。Snort可以把数据包以解码后的文本形式或者TCPDump的二进制形式进行记录第三章Windows下Snort的集成式安装3.1安装AppServ启动AppServ安装文件后,出现的设置服务器信息界面中,在ServerName中输入域名localhost;Administrator'sEmailAddress中输入邮箱地址:llg19891006@126.com。监听端口设为8080。图3.1.1AppServ安装初始界面图3.1.2设置服务器信息界面点击next,进入下一界面:在出现的界面中输入密码(enterrootpassword):"CharacterSetsandCollations"选择"GB2312SimplifiedChese",如图3.1.3所示:图3.1.3安装MySQLServerCollations然后单击"Install",进入安装过程,安装完成后将C:\Appserv\php5目录下的php.ini-dist文件改名为php.Ini,并启动Apache和MySql。图3.1.4完成AppServer的安装图3.1.5php.ini-dist文件改名为php.Ini(控制面板—管理—服务确保Apache和MySql已启动)图3.1.6服务中查看Apacha2.2和Mysql是否启动安装完成后可以查看(MySQL启动如下图)。图3.1.7启动MySql在浏览器中输入http://localhost:8080出现,表示安装成功!图3.1.8AppServ是否安装成功3.1.1测试AppServ首先查看"控制面板"/"管理"/"服务",确保Apache和MySQL已经启动,然后,在浏览器中输入http://localhost:8080/phpinfo.php,(如下图所示)。图了解php的一些信息最后打开浏览器,输入http://localhost:8080/phpMyAdmin/index.php,(如下图所示)输入用户名root和密码,可以浏览数据库内容。图浏览数据库内容3.1.2配置AppServ编辑Apache服务器配置文件。打开Apache2.2\conf文件中的httpd.conf,检查相应的一些值。编辑phpMyAdmin中的关键文件。打开C:\AppServ\www\phpMyAdmin\libraries目录下的config.default.php文件。搜索cfg['PmaAbsoluteUri'],设置phpMyAdmin的URL,如cfg['PmaAbsoluteUri']='http://localhost:8080/phpmyadmin/',这里的phpMyadmin在默认的根目录下。搜索cfg['blowfish_secret'],设定好root密码后,这里也要填写,如root的密码123,则设置cfg['blowfish_secret)']=‘123’。搜索cfg['DefaultLang'],将其设置为zh-gb2312;搜索cfg['Servers'][i]['auth_type'],默认的config是不安全的,推荐使用cook-ie,将其设置为cfg['Servers']['i']['auth_type']='cookie'。搜索cfg['DefaultCharset'],将其设置为gb2312。配置php.ini。打开C:\WINDOWS|php.ini文件。对Mysql进行修改。首先需要建立Snort运行必需的Snort库和Snort_archive库。使用C:\AppServ\Snort\schemas目录下的create_MySQL脚本建立Snort运行必需的数据表。在此,可以通过MySQL提示符下运行SQL语句showtables来检验配置的正确性。必须在Appache服务器主机上建立ACID和Snort用户,并且设置权限和密码。修改的代码:mysql>grantusageon*.*to"acid"@"localhost"identifiedby"acidtest";mysql>grantusageon*.*to"snort"@"localhost"identifiedby"snorttest";mysql>grantselect,insert,update,delete,createon*.*to"snort"@"localhost"identifiedby"snorttest";mysql>grantselect,insert,update,delete,create,alteronsnort.*to"acid"@"localhost";mysql>grantselect,insertonsnort.*to"snort"@"localhost";mysql>grantselect,insert,update,delete,create,alteronsnort_archive.*to"acid"@"localhost";mysql>setpasswordfor"snort"@"locahost"=password('123');mysql>setpasswordfor"acid"@"locahost"=password('123');3.2安装Adodb,jpGraph和ACID1)移动文件adodb到C:\AppServ\php5目录下,如图3.2.1—3.2.2所示。图3.2.1复制adodb文件图3.2.2粘贴文件adodb在所示目录下2)移动文件jpgraph到C:\AppServ\php5目录下,如图3.2.3—3.2.4所示。图3.2.3复制文件jpgraph图3.2.4粘贴文件jpgraph到所示目录3)移动文件acid到C:\AppServ\www\目录下,如图3.2.5—3.2.6所示。图3.2.5复制文件acid图3.2.6粘贴文件acid到所示的目录修改C:\AppServ\www\acid中的acid-conf.php文件$DBlib_path="C:\AppServ\php5\adodb";$alert_dbname="snort";$alert_host="localhost";$alert_port="";$alert_user="acid";$alert_password="123";$archive_dbname="snort_archive";$archive_host="localhost";$archive_port="";$archive_user="acid";$archive_password="123";$ChartLib_path="C:\AppServ\php5\jpggraph\src";5)最后在浏览器中输入http://localhost:8080/acid/acid-db-setup.php出现如下图所示界面。图3.2.7说明ACID安装成功3.3配置Snort1)为防止参考配置文件和snort.conf在相同的目录中发生冲突,因此将主配置文件snort.conf的相对路径改为绝对路径进行调整,修改C:\snort\etc\snort.conf主要改绝对路径:includeclassification.configIncludereference.config改为绝对路径:然后换需要修改应用路径:3.4phpMyAdmin测试Snort系统全部安装完成后,用户将可以使用root/acid/snort3个账户IDdengluphpMyAdmin。这3个用户能否顺利登录关系到整个Snort系统能否顺利运行,因此必须进行检测。在浏览器中输入图3.4.1连接localhost输入cdc:\snort\bin图3.4.2进入DOS环境再输入Snort–c“c:\Snort\etc\Snort.conf”–l“c:\Snort\log”–d–e–X并回车出现如图3.4.3所示的界面。图3.4.3所示的界面在地址栏中输入:8080/acid/acid_main.php地址后,出现如图3.4.5所示的界面。图3.4.5安装成功后的链接第四章Snort的规则 Snort是基于规则的模式匹配的,这种体系结构非常灵活,用户可以到/dl/signatures/下载最新的规则,在上几乎每几天就会有新的规则被更新,同时用户也可以自己书写新的规则,Snort规则文件是一个ASCII文本文件,可以用常用的文本编辑器对其进行编辑。规则文件的内容由以下几部分组成:变量定义:在这里定义的变量可以在创建Snort规则时使用。Snort规则:在入侵检测时起作用的规则,这些规则应包括了总体的入侵检测策略。预处理器:用来扩展Snort的功能。如用portscan来检测端口扫描。包含文件IncludeFiles:可以包括其它Snort规则文件。输出模块:Snort管理员通过它来指定记录日志和警告的输出。当Snort调用告警及日志子系统时会执行输出模块。所有Snort规则遵循一个非常简单的格式,这值得研究。首先是关于SID和Rec(修订)的注释。SID是Snort规则的ID(又叫做签名ID),S和Sourcefire保留了所有小于一百万的数字用于官方规则。如果你修改了一个规则,把SID加上一百万,这样可以与起源保持一致。如果你创建了一个新规则,使用起始于九百万的SID。只要有改变或者规则变更控制结束就要增加revision。S规则与一个空的local.rules文件一起产生。不要使用它,以免下一次安装新规则时你的习惯规则被这个空文件覆盖。创建一两个其他的文件,例如company_prod.rules和company_test.rules,并在snort.conf文件中添加内容说明。你可以在一个机器和接口上运行多于一个实例,这对测试规则有帮助,但是在一台老旧的PC和产品盒上同时运行测试更简单安全。第五章Snort检测SQL注入和跨站脚本攻击脚本攻击是最近网络上最疯狂的攻击方法了,很多服务器配置了先进的硬件防火墙、多层次的安全体系,可惜最后对80端口的SQL注入和跨站脚本攻击还是没有办法抵御,只能看着数据被恶意入侵者改的面目全非而毫无办法——把你的Snort武装起来吧,用它来检测这样的攻击。如果你想对每一种可能的SQL注入进行检测,那么你只要检查任何SQL元字符的出现,如像单引号(’)、分号(;)和双减号(--)。同样的,一个监测跨站脚本攻击的很偏执的方法,就是查看HTML标记的尖括号(<、>)。但是,前述的方法可能会引起大量的误检。为了避免误检,我们就必须将过滤规则设置的尽可能的准确,即使这样,我们仍然不能保证不会产生误检,只能尽力而为了。5.1针对SQL注入的正则表达式在为SQL注入选择正则表达式的时候,需要记住的是:攻击者除了可以从Cookie的域中进行攻击之外,还可以通过表单(Form)的Input输入框。所以,你在对输入进行逻辑验证的时候,还应该对来自用户的每种输入信息都要考虑到,像表单域和Cookie信息都应该作为怀疑的对象。同样的,如果你发现许多针对单引号和分号的报警的时候,也可能是因为是由Web应用的Cookie中的信息引起的。因此,必须对特定的Web应用来评估这样的特殊符号。如前所述,一个用来检测SQL注入攻击的最弱的正则表达式,就是通过检查上面提到的元字符(’;--)。要检测这样的元字符,或者它们的16进制的等价表示,我们可以使用如下的正则表达式:/(\%27)|(\’)|(\-\-)|(\%23)|(#)/ix这里,%27是单引号的16进制值,%23是’#’的16进制值。像单引号和短横杠都MS
SQL
Server和Oracle中的特殊字符,如果我们使用的是MySQL,还必须检测‘#’的出现。这里需要说明的就是“—”,不需要检查它的16进制值,因为它不是HTML元字符,不会被浏览器编码。同样的,如果攻击者试图手动修改“—”为它的16进制值%2D的话,SQL注入操作会失败。为了照顾一下不熟悉Perl的同志,接下来我将上面的这个正则表达式简要解释一下://是Perl中用来引起要进行模式匹配的代码,其完整形式为m//,通常,我们在使用双斜杠引起模式匹配代码的时候,可以将m省略不写。符号“|”是或的作用,如同在其他语言中or的通常意义。这里的小括号是为了更容易让读者看明白的情况下而写出来的,完全可以不用。第二个/后面的i表示对要匹配的字母不区分大小写。第二个/后面的x表示忽略模式中的空白。我们可以将上面的这个表达式添加到Snort的规则里面去:alert
tcp
$EXTERNAL_NET
any
->
$HTTP_SERVERS
$HTTP_PORTS
(msg:"SQL
Injection
-
Paranoid";
flow:to_server,established;uricontent:".pl";pcre:"/(\%27)|(\’)|(\-\-)|(%23)|(#)/i";
classtype:Web-application-attack;
sid:9099;
rev:5;),在这个例子里面,uriconten
关键字部分,我们使用了“.pl”,因为在我们的测试环境中,我们的CGI脚本是使用Perl写成的。这部分内容取决于你的特定应用,可能是
“.php”、
“.asp”、“.jsp”等。Pcre关键字的内容,就是将要对.pl文件进行检查的模式。你可以从这个正则表达式受到启发,以便写出更多的Snort
规则。5.2针对跨站脚本攻击的正则表达式在发动一次跨站脚本攻击之前,为了测试网站的漏洞,攻击者通常要做一个简单的HTML测试,这可能要涉及到HTML中的tag像<b>、
<i>、<u>等。同样的,也可以使用一个简单的脚本如<script>alert("OK")<
/script>。这可能是因为大多数的关于CSS的讨论文档,都是使用了这样一个简单的脚本例子来判断一个站点是否可以进行CSS攻击。这类尝试,我们可以通过Snort进行检测。一些高级一些的入侵者可能会使用变换的方式进行测试,如将起对应的16进制值进行等价替换,如<
script>可以使用%3C%73%63%72%69%70%74%3E进行替换。下面的这个正则表达式就可以针对这类攻击进行检测。它将捕获使用<b>、<u>或者<script>的尝试。这个正则表达式也是不区分大小写的。我们必须对尖括号的符号和它的16进制值都进行匹配,左尖括号<的16进制值为%3C,右尖括号>的16进制值为%3E。简单CSS攻击的正则表达式:/((\%3C)|<)((\%2F)|\/)*[a-z0-9\%]+((\%3E)|>)/ix((\
%3C)|<)是对左尖括号进行检测。((\%2F)|\/)*对表示tag标志结束的斜杠或者16进制值进行匹配。[a-z0-9\%]+对一个以上的小写字母或者阿拉伯数字进行匹配。((\%3E)|>)对右尖括号或者它的16进制值进行匹配。再将这个写成Snort规则就成了:
alert
tcp
$EXTERNAL_NET
any
->
$HTTP_SERVERS
$HTTP_PORTS
(msg:"NII
Cross-site
scripting
attempt";
flow:to_server,established;
pcre:"/((\%3C)|<)((\%2F)|\/)*[a-z0-9\%]+((\%3E)|>)/i";classtype:Web-application-attack;
sid:9000;
rev:5;)跨站脚本也可以通过使用<img
src=>技术来实现,对于这一类攻击,我们可以这样配置,来使得CSS攻击不容易实现。针对<img
src>的CSS攻击的正则表达式:/((\%3C)|<)((\%69)|i|(\%49))((\%6D)|m|(\%4D))((\%67)|g|(\%47))[^\n]+((\%3E)|>)/i。5.3自己动手编写规则当编写Snort规则时,首先考虑的是效率和速度,好的规则要包含content选项。2.0版本以后,Snort改变了检测引擎的工作方式,在第一阶段就作一个集合模式匹配。一个content选项越长,这个匹配就越精确。如果一条规则不包含con
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年烟草品质评价师国家职业水平考核模拟试题及答案详解
- 2026年注册安全工程师考试题库(答案+解析)
- 2026初级档案职称考试(档案基础理论知识)手机备考题库及答案(广东省)
- 2026年二建《公路实务》考试模拟题及答案
- 2026实木家具展会营销效果评估与参展策略优化报告
- 2025年法考主观题刑法真题及答案解析
- 火灾与气体检测系统 (FGS) 调试验收报告模板
- 五年级数学(小数除法)计算题专项练习及答案汇编
- 2026年中职建筑工程类(建筑测量实训)试题及答案
- 2026年登高架设作业安全生产模拟考试题库(含答案)
- 2026矿区微电网白皮书 多源协控 构建绿色矿区韧性微网-阳光电源
- 2026新教科版四年级科学上册2.3《 呼吸的变化》课件
- 2026年共青团入团命题考试题库及答案
- 2026年山东省高考物理真题试卷
- 污染场地修复工程环境监理实施细则
- 东莞市科发盛实业异地扩建项目环境影响报告表
- 高中思想政治必修四《哲学与文化》答题术语规范化专题复习教学设计
- 2026年广东省中考语文试卷(含详细答案解析)
- 2026年采油工(高级技师)模拟试题(含答案)
- 广东省深圳市2026中考语文作文真题解读及范文
- 检修维护部危险源辨识与风险管控培训
评论
0/150
提交评论