文章目录

  • 前言
  • 系统分析
    • 用户信息排查
    • 进程端口排查
    • 系统服务排查
  • 日志分析
    • SSH暴力破解
    • Web应用日志
  • 应急工具
    • GScan
    • 病毒查杀
  • 总结

前言

当企业发生网络安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,同时还需进一步查找入侵来源,还原入侵事故过程,给出解决方案与防范措施,为企业挽回或减少经济损失。

常见的网络安全事件:

  1. Web入侵:挂马、篡改、Webshell;
  2. 系统入侵:系统异常、RDP爆破、SSH爆破、主机漏洞;
  3. 病毒木马:远控、后门、勒索软件;
  4. 信息泄漏:拖裤、数据库登录(弱口令);
  5. 网络流量:频繁发包、批量请求、DDOS攻击;

一个常规的入侵事件后的系统排查思路:
相关步骤的核心如下:

  1. 文件分析
    a) 文件日期、新增文件、可疑/异常文件、最近使用文件、浏览器下载文件;
    b) Webshell 排查与分析;
    c) 核心应用关联目录文件分析;

  2. 进程分析
    a) 当前活动进程、远程连接;
    b) 启动进程、计划任务;
    c) 进程工具分析:Windows 使用 Pchunter、 Linux 使用 Chkrootkit 或 Rkhunter;

  3. 系统分析
    a) 环境变量;
    b) 帐号信息;
    c) History;
    d) 系统配置文件;

  4. 日志分析
    (a) 操作系统日志:Windows事件查看器、Linux/var/log/
    (b) 应用日志分析:Access.log、Error.log。

本文旨在针对常见的攻击事件,结合工作中应急响应事件分析和解决的方法,总结了一些 Linux 服务器入侵排查的思路和方法。

系统分析

对于被入侵的服务器,可对当前主机存在的用户信息、历史命令执行记录、端口占用、异常进程、可疑服务等情况进行排查,从而搜集掌握入侵信息。

用户信息排查

先来看看相关命令:

cat /etc/shadow  #查看密码
cat /etc/group   #查看组信息
history          #查看root用户执行的历史命令
last             #查看最近登录成功的用户及信息
lastlog          #显示主机所有用户最近一次登录信息
id               #当前用户信息
who              #查看当前登录系统的所有用户
w                #显示已经登陆系统的用户列表,并显示用户正在执行的指令
users            #显示当前登录系统的所有用户的用户列表
usermod -L user  #禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
userdel -r user  #删除user用户,并且将/home目录下的user目录一并删除
#查看可以远程登录的用户
awk '/\$1|\$6/{print $1}' /etc/shadow
#查看拥有sudo权限的用户
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
#查看超级用户(uid=0),有些黑客将普通用户的uid改为0,则该普通用户也拥有了超级权限
awk -F: '$3==0{print $1}' /etc/passwd

1、来看下与系统用户账户相关的文件格式:

A、用户信息文件:/etc/passwd
root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
格式:用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell
注意:无密码只允许本机登陆,远程不允许登陆B、系统影子文件:/etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
bin:*:18264:0:99999:7:::
daemon:*:18264:0:99999:7:::
adm:*:18264:0:99999:7:::
格式:用户名:加密后的密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
注意:如果加密后的密码这一栏的第一个字符为!或者*的话,说明这是一个不能登录的账户

可执行 lastlog 命令可显示主机所有用户最近一次登录信息,可以看到除了 root 之外其他账户均为登录过(均为不可登录的账户):

2、查看可以远程登录的用户、拥有 sudo 权限的用户:

3、查看用户执行的历史命令信息:

Linux 系统可以通过 .bash_history 查看帐号执行过的系统命令:1、查看 root 用户的历史命令:histroy
2、打开 /home 各帐号目录下的.bash_history,执行命令:cat .bash_history >> history.txt,可查看普通帐号的历史命令
3、为历史的命令增加登录的IP地址、执行命令时间等信息:
(1)保存1万条命令
sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile
(2)在 /etc/profile 的文件尾部添加如下行数配置信息:
######jiagu history xianshi#########
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
export HISTTIMEFORMAT="%F %T $USER_IP `whoami` "
shopt -s histappend
export PROMPT_COMMAND="history -a"
######### jiagu history xianshi ##########
(3)source /etc/profile让配置生效
生成效果:1  2021-07-16 06:19:24 222.129.38.129 root whoami2  2021-07-16 06:19:36 222.129.38.129 root history3  2021-07-16 06:20:56 222.129.38.129 root cat /root/.bash_history4、历史操作命令的清除:history -c
注意此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录。

相关命令执行效果如下:

进程端口排查

同样先来看看相关命令:

netstat -antlp               #检查端口连接情况
netstat -antlp | grep 18176  #查看端口连接情况,过滤含有字符“18176”的行
top                          #动态查看进程
ls -l /proc/18176/exe        #查看PID为18176的进程的可执行程序
lsof -p 18176                #查看PID为18176的进程打开的文件
lsof -c sshd                 #查看进程sshd打开的文件
lsof -i:33946                #查看33946端口对应的一些进程
fuser -n tcp 33946           #查看33946端口对应的进程PID
pstree                       #查看进程树
ps aux                       #静态查看进程
ps aux | grep ssh            #查看与ssh相关的进程
ps aux --sort -pcpu          #静态查看进程,根据cpu使用情况排行,从高到低
ps aux --sort -pmem          #静态查看进程,根据内存使用情况排行,从高到低
ps -p PID -o lstart          #查看进程的启动时间点
kill -9 pid                  #强制杀死进程

1、使用netstat -antlp命令检查异常端口:

2、使用ps aux --sort -pcpu命令查看系统进程(根据 CPU 使用情况排行,从高到低,如果 CPU 占用率超过 70% 且名字可疑,大概率是中了挖矿病毒了):
木马排查实例

1、检查端口连接情况,查看到名为 kali-6666.elf 的异常连接,疑似外连木马:
2、使用 ps 命令,匹配进程,得到相应 pid 号:
3、查看 pid 所对应的进程文件路径:
4、应急处置:针对以上案例,进一步可使用kill -9 6071强制杀死进程,并 rm -f kali-6666.elf 将木马文件删除,同时应该溯源分析木马文件是如何被传到服务器的。

系统服务排查

1、检查是否存在可疑服务,执行命令service --status-all,枚举主机所有服务,查看是否有恶意服务:

另外chkconfig -list 命令也可列出所有的服务:

2、当发现入侵杀掉了恶意进程后,过一段时间如果恶意进程又会重新启动,则说明该进程有守护进程,此时应检查是否存在可疑定时任务,可使用cat /etc/anacrontab查看 anacron 异步定时任务,同时使用crontab -l 枚举定时任务:
3、检查服务器开机启动项:

文件位置 作用
/etc/profile.d/ /etc/profile.d/*.sh 是 bash 的全局配置文件,/etc/profile.d/ 下有许多 shell 脚本,可以在开机时启动
/etc/init.d/ 该目录内放的是各个服务的启动脚本,比如 sshd、httpd 等
/etc/rc.local /etc/rc.local/etc/rc.d/rc.local的软连接,该脚本是在系统初始化级别脚本运行之后再执行的
/etc/rc.d/rcX.d/ rcX.d 是目录名,后面的X代表着每个运行级别,里面服务都是软连接,真正的目录是 /etc/init.d 下的脚本,可用 ls –l 查看软链接

核查部分启动项如下:
例子:当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可:

root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

此处的 sshd 是具体服务的脚本文件,S100ssh 是其软连接,S 开头代表加载时自启动;如果是 K 开头的脚本文件,代表运行级别加载时需要关闭的。

4、RPM 软件包检查(RPM 包是预先在 Linux 机器上编译好并打包好的软件安装包),Linux 系统完整性可以通过 rpm 自带的 -Va 来校验检查所有的 rpm 软件包,查看哪些命令是否被替换了:

如果一切均校验正常将不会产生任何输出,如果有不一致的地方,就会显示出来,输出格式是8位长字符串,每个字符都用以表示文件与 RPM 数据库中一种属性的比较结果 ,如果是. (点) 则表示测试通过。

验证内容中的8个信息的具体内容如下:S         文件大小是否改变M         文件的类型或文件的权限(rwx)是否被改变5         文件MD5校验是否改变(可以看成文件内容是否改变)D         设备中,从代码是否改变L         文件路径是否改变U         文件的属主(所有者)是否改变G         文件的属组是否改变T         文件的修改时间是否改变

日志分析

Linux 系统日志检查:

  1. 日志默认存放位置:/var/log/;
  2. 必看日志:secure、history;
  3. 查看日志配置情况:more /etc/rsyslog.conf;

核心日志文件及其作用如下:

/var/log/cron     记录了系统定时任务相关的日志
/var/log/cups    记录打印信息的日志
/var/log/dmesg   记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/mailog  记录邮件信息
/var/log/message 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
/var/log/btmp    记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看
/var/log/wtmp    永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看
/var/log/utmp    记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
/var/log/secure  记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中

SSH暴力破解

Linux 记录了 SSH 日志信息的文件:

Ubuntu Centos
/var/log/auth.log /var/log/secure

这两个文件关于 SSH 的内容基本⼀致,记录了验证和授权方面的信息,只要涉及账号和密码的程序都会记录下来。下面以 Centos 系统的/var/log/secure日志文件为例进行日志分析演示。

1、先来查看下该日志文件的后 15 行:
2、定位有多少 IP 在爆破主机的 root 帐号:

grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr

执行结果如下图所示:

3、查看成功登录过主机的 IP 有哪些:

grep "Accepted" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

执行结果如下图所示:
4、查看登录成功的日期、用户名、IP:

grep "Accepted" /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

执行结果如下图所示:
5、汇总下与 SSH 登录日志分析相关的命令:

cat /var/log/secure* | grep Accepted   #查看登录成功的记录
cat /var/log/secure* | grep Failed     #查看登录失败的记录
grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'  #查看登录成功的日期、用户名及ip
grep "Failed password for root" /var/log/secure | awk '{print $11}'  #查看有哪些ip在爆破主机的root账号
grep "Failed password" /var/log/secure | awk {'print $9'} | sort | uniq -c | sort -nr  #查看爆破用户名字典

Web应用日志

一般如果网络边界做好控制,通常对外开放的仅是Web服务,那么需要先找到Webshell,可以通过如下途径:

1、Webshell搜索

检查最近创建的 php、jsp 文件和上传目录,例如要查找 24 小时内被修改的 jsp 文件:

find ./ -mtime 0 -name "*.jsp"

相关的依据时间检索文件的命令还有:

# -atime 文件的访问时间
# -mtime 文件内容修改时间
# -ctime 文件状态修改时间(文件权限,所有者/组,文件大小等,当然文件内容发生改变,ctime也会随着改变)
# 要注意:系统进程/脚本访问文件,atime/mtime/ctime也会跟着修改,不一定是人为的修改才会被记录# 查找最近一天以内修改的文件:
find / -mtime -1 -ls  | more
# 查找50天前修改的文件:
find ./ -mtime +50 -ls

2、工具扫描特征

通常入侵行为会伴随着踩点和扫描行为,那么可以查一下具有扫描行为的日志。

例如使用AWVS扫描:
grep 'acunetix' /var/log/httpd/access_log例如使用sqlmap,但是没有使用–random-agent,UA中带有sqlmap
grep 'sqlmap'   /var/log/httpd/access_log

Linux 系统中,Apache 的访问日志默认位置为 /var/log/httpd/access.log

应急工具

以上是纯手工命令排查服务器入侵痕迹,下面介绍几款 Liunx 系统应急响应的工具,用于提高应急排查的效率。

GScan

GScan 是一款开源的 Linux 应急响应工具,Github项目地址。本程序旨在为安全应急响应人员对Linux主机排查时提供便利,实现主机侧 Checklist 的自动全面化检测,根据检测结果自动数据聚合,进行黑客攻击路径溯源,此程序的特点:

  1. 程序检测的逻辑和方法,均是由一线安全应急人员根据多年实战经验总结出来的;
  2. 程序包括10W+的恶意特征信息,用于恶意文件的比对和查杀;
  3. 结果自动化分析,进行黑客攻击溯源。

自动化程序的 CheckList 项如下:

1、主机信息获取
2、系统初始化alias检查
3、文件类安全扫描3.1、系统重要文件完整行扫描3.2、系统可执行文件安全扫描3.3、临时目录文件安全扫描3.4、用户目录文件扫描3.5、可疑隐藏文件扫描
4、各用户历史操作类4.1、境外ip操作类4.2、反弹shell类
5、进程类安全检测5.1、CUP和内存使用异常进程排查5.2、隐藏进程安全扫描5.3、反弹shell类进程扫描5.4、恶意进程信息安全扫描5.5、进程对应可执行文件安全扫描
6、网络类安全检测6.1、境外IP链接扫描6.3、恶意特征链接扫描6.4、网卡混杂模式检测
7、后门类检测7.1、LD_PRELOAD后门检测7.2、LD_AOUT_PRELOAD后门检测7.3、LD_ELF_PRELOAD后门检测7.4、LD_LIBRARY_PATH后门检测7.5、ld.so.preload后门检测7.6、PROMPT_COMMAND后门检测7.7、Cron后门检测7.8、Alias后门7.9、SSH 后门检测7.10、SSH wrapper 后门检测7.11、inetd.conf 后门检测7.12、xinetd.conf 后门检测7.13、setUID 后门检测7.14、8种系统启动项后门检测
8、账户类安全排查8.1、root权限账户检测8.2、空口令账户检测8.3、sudoers文件用户权限检测8.4、查看各账户下登录公钥8.5、账户密码文件权限检测
9、日志类安全分析9.1、secure登陆日志9.2、wtmp登陆日志9.3、utmp登陆日志9.4、lastlog登陆日志
10、安全配置类分析10.1、DNS配置检测10.2、Iptables防火墙配置检测10.3、hosts配置检测
11、Rootkit分析11.1、检查已知rootkit文件类特征11.2、检查已知rootkit LKM类特征11.3、检查已知恶意软件类特征检测
12.WebShell类文件扫描12.1、WebShell类文件扫描

项目的具体介绍在 Github 写得很仔细,此处不再继续展开:

1、直接在 Kali 虚拟机下载并解压缩,运行程序:

2、我在桌面先用 MSF 生成并存放了一个 Liunx Backdoor 文件 Tr0e.elf ,然后执行python GScan.py --pro开始扫描,查看结果与处理方案:

识别出了部分风险,但是没有桌面的 Backdoor……
3、其中检测出来的 setuid 风险指的是:

病毒查杀

1、Rootkit 查杀

Rootkit 是一种系统内核级病毒木马,其进入内核模块后能获取到操作系统高级权限,从而使用各种底层技术隐藏和保护自身,绕开安全软件的检测和查杀。

Linux 系统可以使用 chkrootkit 工具(网址:http://www.chkrootkit.org)进行 Rootkit 查杀,其使用方法:

wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar zxvf chkrootkit.tar.gz
cd chkrootkit-0.52
make sense
#编译完成没有报错的话执行检查
./chkrootkit

在 Kali Liunx 虚拟机进行工具测试:
执行./chkrootkit命令,扫描后的结果:

2、病毒查杀

ClamAV 的官方下载地址为:http://www.clamav.net/download.html,安装使用如下:

1、安装zlib:
wget http://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.7/zlib-1.2.7.tar.gz
tar -zxvf  zlib-1.2.7.tar.gz
cd zlib-1.2.7
#安装一下gcc编译环境: yum install gcc
CFLAGS="-O3 -fPIC" ./configure --prefix= /usr/local/zlib/
make && make install
​
2、添加用户组clamav和组成员clamav:
groupadd clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
​
3、安装Clamav
tar –zxvf clamav-0.97.6.tar.gz
cd clamav-0.97.6
./configure --prefix=/opt/clamav --disable-clamav -with-zlib=/usr/local/zlib
make
make install
​
4、配置Clamav
mkdir /opt/clamav/logs
mkdir /opt/clamav/updata
touch /opt/clamav/logs/freshclam.log
touch /opt/clamav/logs/clamd.log
cd /opt/clamav/logs
chown clamav:clamav clamd.log
chown clamav:clamav freshclam.log
​
5、ClamAV 使用:/opt/clamav/bin/freshclam 升级病毒库
./clamscan –h 查看相应的帮助信息
./clamscan -r /home  扫描所有用户的主目录就使用
./clamscan -r --bell -i /bin  扫描bin目录并且显示有问题的文件的扫描结果

3、Webshell 查杀

Linux 系统:

  • 河马 Webshell 查杀:http://www.shellpub.com;
  • 深信服 Webshell 网站后门检测工具:http://edr.sangfor.com.cn/backdoor_detection.html。

此处介绍下河马的使用,读者可先查看官方使用文档:河马 webshell扫描器 for Linux 使用手册。

(1)首先在 Kali Linux 虚拟机上的 Apache 网站目录下存放了冰蝎 Webshell 文件:
(2)官网下载 Linux 版本的河马工具并解压缩,运行程序./hm scan /var/www/html开始扫描,成功检测到 Webshell 文件:

总结

一个企业的信息安全建设,最基本的无非是要做好三件事:

  • 第一件是事前的安全基线,从源头尽可能保证新上线的系统的安全性;
  • 第二件是建立事中的监控能力,各种多维度的入侵检测,做到有针对性、及时的救火;
  • 第三件是做好事后的应急响应能力,让应急的时间成本更短,溯源和根因分析的能力更强。

可见在企业信息安全建设中,应急响应是很关键的一个环节。

服务器被入侵原因通常有几个:系统漏洞、中间件漏洞(程序漏洞)、代码漏洞、安全设置不正确、网络层面 没有限制等。

  1. 如果是系统漏洞和中间件漏洞,需要使用没有发现漏洞的系统和中间件进行升级;
  2. 如果是程序/代码漏洞,需要修改程序代码进行修改,或者部署waf防火墙;
  3. 如果是安全设置不正确,需要进一步检查安全配置。;
  4. 如果是网络层面没有限制,需要在防火墙和 IPS 上进行检查。

业界有个应急响应参考模型,叫做 PDCERF 方法,它把应急响应体系分为六个阶段来处理。这六个阶段分别是 准备(Perparation) 、检测(Detection) 、遏制(Containment) 、根除(Eradication)、 恢复(Recovery) 、跟踪(Follow-up)。方法论的东西,看看就好,其实我们做的也基本都是根据这几个步骤来的。应急响应讲求的是快、准、稳。在最短的时间内定位安全问题,排查安全问题,保障业务系统的稳定性和安全性。

本文参考:

  1. Linux 应急响应;
  2. 【应急响应】Linux应急响应入侵排查思路;
  3. 【应急响应】黑客入侵应急分析手工排查。

浅析Linux系统入侵排查与应急响应技术相关推荐

  1. Windows系统入侵排查与应急响应技术

    文章目录 前言 入侵排查 系统账户排查 进程端口排查 启动项的排查 计划服务排查 系统信息排查 日志信息排查 应急工具 总结 前言 前面一篇文章:浅析Linux系统入侵排查与应急响应技术 介绍了 Li ...

  2. linux 系统自动关机--排查方法

    linux 系统自动关机--排查方法 排查方法 系统日志一般在/var/log/下面 1.查看messages日志,看看有没有CPU温度过高这样的日志. 2.查看cron 日志 3.查看last 命令 ...

  3. 信息安全-网络安全应急响应技术原理与应用(二)

    一.网络安全应急响应技术与常见工具 1.1 网络安全应急响应技术概况 网络安全应急响应是一个复杂的过程,需要综合应用多种技术和安全机制 在网络安全应急响应过程中,常用到的技术如表所示 应急响应常用技术 ...

  4. 信安教程第二版-第17章网络安全应急响应技术原理与应用

    第17章 网络安全应急响应技术原理与应用 17.1 网络安全应急响应概述 353 17.1.1 网络安全应急响应概念 353 17.1.2 网络安全应急响应发展 353 17.1.3 网络安全应急响应 ...

  5. 信安软考 第十七章 网络安全应急响应技术原理与应用

    一.网络安全应急响应概述 网络安全应急响应是指为应对网络安全事件,相关人员或组织机构对网络安全事件进行监测.预警. 分析.响应和恢复等工作 网络安全应急响应是网络空间安全保障的重要机制,<中华人 ...

  6. 信息安全技术——(七)安全防护与应急响应技术

    文章目录 1.防火墙的基本类型和原理 1.1防火墙技术 1.2防火墙的特点 1.3防火墙的功能 1.3.1过滤不安全的服务和通信 1.3.2禁止未授权用户访问内部网络 1.3.3控制对内网的访问方式 ...

  7. 【第17章】网络安全应急响应技术原理与应用( 软考: 信息安全工程师) --学习笔记

    第17章 网络安全应急响应技术原理与应用 17.1 网络安全应急响应概述 居安思危,思则有备,有备无患.网络安全应急响应是针对潜在发生的网络安全事件而采取的网络安全措施. 17.1.1 网络安全应急响 ...

  8. linux系统在虚拟机中迁移的技术难点

    linux系统在虚拟机迁移中的技术难点 通常我们期望虚拟机的迁移能够全部自动化或者部分自动化完成,但实际上Linux系统在P2V(Physical to virtual 物理到虚拟)和V2V(virt ...

  9. Linux服务器被入侵后的排查思路(应急响应思路)

    目录 Linux-暴力破解.替换ps命令并留存后门事件复现 一.事件背景 二.应急响应过程 排查crontab后门 排查是否有命令被替换 响应过程回顾 三.事件还原 查看后门 排查安全日志 Linux ...

  10. 记一次服务器入侵事件的应急响应

    0x01 事件背景 8月某日,客户官网被黑,需在特定时间内完成整改.为避免客户业务受到影响,实验室相关人员第一时间展开本次攻击事件的应急处理. 0x02 事件分析 网站源码被篡改,攻击者一定获取到了权 ...

最新文章

  1. Python 3.8.0来了!
  2. [转] 背完这444句,你的口语绝对不成问题了
  3. Cervical Cancer mechanism
  4. Python基础----python的使用(二)
  5. 2021高考成绩查询时间 新闻,教育资讯:2021高考成绩一般公布时间 多久出成绩...
  6. 方差为平方的均值减去均值的平方
  7. mysql 表数据转储_在MySQL中仅将表结构转储到文件中
  8. oracle字段类型设计,Oracle字段类型设计与实际业务不符引发的问题
  9. JAVA第三方包导入但找不到类,解决:导入第三方包报错java.lang.NoClassDefFoundError:XXX.XXX,XXXXXX...
  10. 站长必须懂得技能:给网站设置ICO图标
  11. 如何修改MyEclipse的默认工作路径Workplace
  12. 【费用预测】基于matlab粒子群算法优化ELM神经网络预测费用【含Matlab源码 1378期】
  13. ecshop源码分析:会话类cls_session
  14. QTableView样式
  15. unity android录制视频教程,Unity移动端视频录制,Android和IOS都支持
  16. U盘重装系统win7_U盘安装win7教程
  17. vue 引入 element-ui 报 es2015 的错
  18. 网站建设好但是访问不了的原因及解决方法
  19. JavaMail:使用163,QQ和本地服务器邮件发送
  20. 开发板给电脑自动分配IP?手把手教部署零配置网络实现电脑与开发板直连

热门文章

  1. 职中计算机中级工考试,2015年中级职计算机考试基本知识点.doc
  2. ViewStub用法
  3. NN求解NS方程进一步探讨
  4. 全国省市区县json数据
  5. EasyPR如何添加绿牌C++版
  6. pip 下载安装时使用清华大学镜像(各种国内源配置)
  7. 挑战:工资计算器读写数据文件
  8. 计算机专业的大专大学规划,大学生计算机专业职业规划个人简历
  9. 用 Python 实现植物大战僵尸代码
  10. 整理了81个Python实战项目列表,都有完整且详细的教程