构筑网络安全基石:CISP核心知识深度解读与实战指南(一)

1.文件包含中%00截断,对PHP版本有什么要求?

  • PHP版本<5.3.4
  • PHP版本<5.5.4
  • PHP版本<5.1.4
  • PHP版本>5.5.4

版本要求:
%00截断(空字节截断)是一种在早期PHP版本中存在的文件包含漏洞利用技术,PHP 5.3.4以下版本(特别是PHP 5.3.0 - 5.3.3)存在此漏洞。
技术原理:
%00在C语言中表示字符串结束符,而PHP底层使用C实现。当PHP处理包含路径时,遇到%00会认为字符串到此结束。常用于绕过文件上传扩展名检查或路径限制。
环境配置影响:
magic_quotes_gpc=Off
②开启allow_url_include(用于远程文件包含)
防御:
①升级PHP版本;
②对用户输入进行严格过滤;
③使用白名单;
④避免将用户输入直接用于文件操作。
攻击示例:

// 存在漏洞的代码(PHP < 5.3.4)
$file = $_GET\['file'] . '.php'; // 用户可控
include($file);
// 攻击者可以传入:evil.txt%00
// 实际包含:evil.txt(而不是evil.txt.php)

2.以下数据库只能通过字典枚举数据表的是?

  • mssql
  • oracle
  • mysql<5.0
  • mysql>5.0

MySQL 5.0以下版本:
在SQL注入中,枚举数据表名通常可以通过查询数据库的系统表或视图实现,但MySQL 5.0以下版本没有内置的information_schema系统数据库,因此无法通过标准系统表直接获取所有表名,只能依靠字典枚举(暴力猜测)来获取数据表名。
其他数据库或版本的情况:
①MSSQL:可通过系统表(如sysobjects)或系统视图(如information_schema.tables)查询。
②Oracle:可通过数据字典视图(如all_tables、user_tables)查询。
③MySQL ≥5.0:可通过information_schema.tables查询。

3.TCP会话劫持除了SYN Flood攻击,还需要?

  • SYN扫描
  • 序列号预测
  • 扫描TCP
  • 扫描SYN/ACK

TCP会话劫持原理:
TCP会话劫持是一种攻击方式,攻击者通过伪造TCP报文段来劫持合法用户之间的TCP连接。这通常涉及猜测或预测TCP序列号,因为TCP协议依赖序列号来确保数据的正确顺序和完整性。
TCP会话劫持的过程:
①攻击者需要先获取会话信息,比如源IP、目的IP、端口号等。
②然后需要预测或获取下一个序列号,以便伪造合法的数据包。
③攻击者发送伪造的数据包,其中包含正确的序列号,从而插入恶意数据或接管会话。
TCP会话劫持除了SYN Flood攻击,还需要序列号预测。 这是因为攻击者必须正确预测或获取TCP连接的序列号,才能伪造合法的数据包插入会话或接管连接。SYN Flood主要用于耗尽目标资源(如发起DoS攻击),为劫持创造条件,但成功劫持的核心在于准确猜测序列号。
其他选项:(如各种扫描技术)主要用于信息收集,并非会话劫持的直接必要条件。
①SYN扫描:通常是端口扫描技术,用于发现开放的端口。
②扫描TCP:说法比较模糊,可能指TCP端口扫描。
③扫描SYN/ACK:可能指扫描SYN/ACK响应,用于探测端口状态。
SYN Flood攻击:
SYN Flood攻击是一种拒绝服务攻击,用于耗尽目标资源的TCP连接资源,但它本身并不直接用于会话劫持。SYN Flood可能作为会话劫持的辅助手段,比如使受害者无法响应,但进行TCP会话劫持的关键步骤是预测序列号。

4.下列对于DMZ区的说法错误的是?

  • 它是种比较常用的网络安全域划分方式
  • 它是网络安全防护的一个"非军事区"
  • 它是对"深度防御"概念的一种实现方案
  • 要想搭建它至少需要两台防火墙

DMZ区的概念:
DMZ区通常指一个介于内网和外网之间的缓冲区域,用于放置对外提供服务的服务器(如Web服务器、邮件服务器等)。这样即使DMZ区的服务器被攻击,内网仍然受到保护。
DMZ区的搭建方案:
①使用一台三端口防火墙(内网、外网、DMZ三个接口)。
②使用两台防火墙串联,DMZ位于两者之间(即“屏蔽子网”结构)。
至少需要一台防火墙(或多端口防火墙)即可实现DMZ,所以“至少需要两台防火墙”的说法不正确。

5.以下哪一项不是IIS服务器支持的访问控制过滤类型?

  • 异常行为过滤
  • NTFS许可
  • WEB服务器许可
  • 网络地址访问控制

异常行为过滤:
这通常指的是基于异常行为的检测和过滤,例如检测到攻击行为时进行阻止。这不是IIS内置的访问控制类型。IIS的访问控制主要是基于身份验证、授权和IP地址等,而不是基于行为分析。
NTFS许可:
IIS支持NTFS文件系统权限,可以通过NTFS权限来控制对文件和目录的访问。这是IIS访问控制的一部分。
WEB服务器许可:
指的是IIS自身的Web服务器权限,例如在IIS管理器中设置读取、写入、执行等权限。这也是IIS支持的访问控制类型。
网络地址访问控制:
这指的是基于IP地址或域名的访问控制,IIS支持通过IP地址限制来允许或拒绝特定IP地址的访问。

6.HTTP响应头信息中,allow允许哪种请求方式?

  • GET
  • POST
  • OPTIONS
  • 以上都是

①HTTP响应头中的 Allow 字段用于列出对特定资源允许(支持)的HTTP请求方法集合。
②Allow 通常在服务器返回 405 Method Not Allowed 状态码时出现,告知客户端该资源实际支持的方法。
③Allow 的值是一个用逗号分隔的HTTP方法列表,例如:Allow: GET, POST, HEAD, OPTIONS。
④只要服务器允许的方法,都可以列在 Allow 头中,包括但不限于:GET(获取资源),POST(提交数据),OPTIONS(获取支持的通信选项),PUT,DELETE,HEAD,PATCH等

7.注入语句:http://xxx.xxx.xxx/abc.asp?p=YY and user>0不仅可以判断服务器的后台数据库是否为 SqlServer,还可以得到?

  • 当前连接数据库的用户数据
  • 当前连接数据库的用户名
  • 当前连接数据库的用户口令
  • 当前连接的数据库名

判断数据库类型:
user 是 SqlServer 中的系统函数,返回当前数据库用户的名称。其他数据库(如 MySQL、Oracle)不一定支持该函数或语法。
获取用户名:
当执行 user>0 时,SqlServer 会尝试将用户名(字符串)与数字 0 进行比较,导致类型转换错误。错误信息中通常会包含用户名。

8.拿到一个windows下的webshell,想看一下主机的名字,以下命令做不到的是?

  • hostname
  • systeminfo
  • ipconfig /all
  • set

hostname: 直接输出主机名。
systeminfo: 在系统信息中包含"主机名"字段。
ipconfig /all: 在网络配置信息中包含"主机名"字段。
set: 显示所有环境变量,其中包含 COMPUTERNAME 变量,但其输出冗长,需要从中查找,且并非专门用于查看主机名。在某些受限的Webshell环境中,环境变量可能被修改或过滤,导致无法直接获取正确的主机名。

9.当交换机收到一个目的mac为68-A3-C4-29-82-F2的数据包,但此MAC地址不再交换机的MAC地址表中,交换机会怎么处理这个数据?

  • 交换机把数据报从所有接口复制发送一遍(除去接收接口)
  • 交换机将数据报发送给默认网关
  • 交换机将发送一个ARP请求给它的全部接口(除去接收接口)
  • 交换机将把数据报丢弃,因为它并没有这个MAC地址

二层交换机收到一个数据帧时,会执行以下操作:
①学习源MAC地址:将帧的源MAC地址和接收端口记录到MAC地址表中。
②查找目的MAC地址:在MAC地址表中查找目的MAC地址对应的端口。如果找到,则从相应端口单播转发;如果未找到(即目的MAC地址不在表中),则执行泛洪(Flooding):将帧从除接收端口外的所有其他端口发送出去。
关键点:
①交换机的核心功能是根据MAC地址表转发帧,未知目的MAC则泛洪。
②泛洪的范围仅限于同一VLAN(广播域)内的端口。
③这种机制确保了网络的连通性,同时也可能引发广播风暴(需通过生成树协议STP等控制)。

10.当一个HTTPS站点的证书存在问题时,浏览器就会出现警告信息以提醒浏览者注意,下列描述中哪一条不是导致出现提示的必然原因?

  • 证书过期
  • 证书没有被浏览器信任
  • 浏览器找不到对应的证书颁发机构
  • 证书的CN与实际站点不符

证书过期: 证书不在有效期内,必然导致警告。
证书没有被浏览器信任(包括自签名证书或未知CA签发),必然导致警告。
浏览器找不到对应的证书颁发机构(即CA根证书不在信任列表中),必然导致警告。
证书的CN(Common Name)与实际站点不符: 如果证书仅依赖CN字段标识主机名,且不匹配,则会警告;但现代证书普遍使用SAN(Subject Alternative Name)扩展,当SAN中包含访问的域名时,即使CN不匹配,浏览器也可能不会警告。因此,CN与实际站点不符不必然导致警告。

11.攻击者通过XSS漏洞获取到QQ用户的cookie后,可以进行什么操作?

  • 控制用户摄像头
  • 劫持微信用户
  • 进入QQ空间
  • 偷取Q币

通过XSS漏洞获取QQ用户的cookie后,攻击者可以发起会话劫持,利用该cookie冒充用户身份访问QQ相关的Web服务。由于QQ空间使用QQ账号体系进行认证,攻击者即可直接进入该用户的QQ空间,并执行诸如发布动态、查看私密内容等操作。
控制用户摄像头: 需要调用浏览器媒体API或利用系统漏洞,仅凭cookie无法实现。
劫持微信用户: 微信与QQ属于不同的账号体系,cookie不通用,无法直接用于微信。
偷取Q币: Q币的转移或消费通常需要支付密码、手机验证等二次认证,仅凭cookie难以完成。

12.黑客控制一台Windows服务器,发现IE浏览器使用了代理,可以访问外网,执行如下命令发现:

C:\Users\test>ping www.baidu.com -n 1
正在 Ping www.a.shifen.com[14.215.177.38]具有32字节的数据;
请求超时
C:\Users\test>telnet www.baidu.com 80
正在链接www.baidu.com...
无法打开到主机的连接
在端口80:连接失败

通过如上信息判断,以下哪些反弹shell操作会成功?

  • windows/meterpreter/reverse_tcp
  • icmp协议的后门
  • windows/meterpreter/reverse_https
  • windows/meterpreter/reverse_http

目标服务器具有以下网络环境特点:
①IE浏览器使用代理可访问外网 → 说明HTTP/HTTPS流量可通过代理出站。
②直接ping和telnet 80端口失败 → 说明ICMP协议和直接TCP出站连接被防火墙或网络策略阻断。
因此,反弹shell需满足:
①能够通过HTTP/HTTPS代理建立连接。
②载荷协议与代理兼容。
windows/meterpreter/reverse_tcp: 基于纯TCP反向连接,通常无法通过HTTP代理(除非代理支持CONNECT方法进行隧道转发,但一般需显式配置),成功率低。
icmp协议的后门: 基于ICMP协议,代理不支持,必然失败。
windows/meterpreter/reverse_https: 基于HTTPS协议,可通过HTTPS代理建立加密连接,成功率高。
windows/meterpreter/reverse_http: 基于HTTP协议,可通过HTTP代理直接转发,成功率高。
注:题目中telnet www.baidu.com 80失败是为了暗示80端口出站被阻,而reverse_http默认监听80端口,攻击者如果没有改变端口,那么代理服务器连接攻击者的80端口时,可能也被阻。但注意,代理服务器连接攻击者的80端口是从代理服务器发起的连接,不受目标服务器防火墙限制(目标服务器只连接到代理服务器)。所以只要代理服务器能访问攻击者的80端口,reverse_http就能成功。

13.在网站搭建初期,中间件的选择尤为重要,大多中间件多少都会出现漏洞,xx.php.php123的利用方式是在哪个中间件产生的?

  • IIS6.0
  • Apache
  • Nginx
  • Tomcat

xx.php.php123 这种利用方式源于 Apache 的解析漏洞。Apache 在解析文件时,会从右向左检查扩展名,直到遇到一个它认识的扩展名。如果 .php123 不在 Apache 的 MIME 类型列表中,Apache 会将其继续向左解析为 .php,从而将文件作为 PHP 脚本执行。该漏洞常见于文件上传场景,攻击者可通过上传类似 shell.php.jpg、shell.php.php123 等文件绕过扩展名检查,最终被 Apache 解析为 PHP 文件执行。
IIS 6.0: 主要漏洞形式为目录解析(/xx.asp/xx.jpg)、分号解析(xx.asp;.jpg)等,与多扩展名解析关联不大。
Nginx: 常见解析漏洞为配置不当导致 xx.jpg/xx.php 被当作 PHP 执行。
Tomcat: 主要针对 JSP 文件,与 PHP 解析无关。

14.在Apache 1.x 和 2.x 中,Apache 可以识别多个文件扩展名,如果文件存在多个扩展名,Apache会?

  • 从前向后开始解析
  • 从后向前开始解析
  • 从前向前开始解析
  • 可能从后向前开始解析,也可能从前向后开始解析

Apache 在处理带有多个扩展名的文件时,采用从右向左(即从后向前) 的解析顺序。它会逐个检查扩展名,直到遇到一个在配置中定义的可识别类型(如 .php、.pl 等),然后将该文件作为相应类型的脚本执行。
例如,对于文件 test.php.jpg:
①Apache 先检查扩展名 .jpg,若 .jpg 未被定义为可执行类型,则继续向左检查。
②接着检查 .php,若 .php 被定义为 PHP 脚本类型,则将整个文件作为 PHP 脚本执行,无视后面的 .jpg。

15.如果一个网站存在CSRF漏洞,可以通过CSRF漏洞做什么?

  • 获取网站用户注册的个人资料信息
  • 修改网站用户注册的个人资料信息
  • 冒用网站用户的身份发布信息
  • 以上都可以

CSRF(跨站请求伪造)漏洞的本质是攻击者能够冒用受害者的身份,在受害者不知情的情况下,执行受害者能够执行的所有操作。
获取网站用户注册的个人资料信息: 如果网站存在通过GET或POST请求获取个人资料的功能(如导出、查看详情),且未做CSRF防护,攻击者可伪造请求诱使用户执行,尽管响应直接返回给用户,但攻击者可通过某些方式(如结合XSS、诱导用户将数据发送到攻击者控制的服务)间接获取信息。
修改网站用户注册的个人资料信息: 这是CSRF最典型的利用,如修改邮箱、密码、昵称等。
冒用网站用户的身份发布信息: 同样常见,如在社交平台、论坛发布内容、发送消息等。

16.Firefox浏览器插件Hackbar提供的功能没有什么?

  • 修改浏览器访问referer
  • BASE64编码和解码
  • 代理修改WEB页面的内容
  • POST方式提交数据

Hackbar并不具备代理服务器功能,无法拦截、修改或重写Web页面的响应内容。代理修改页面内容需要专门的代理工具(如Burp Suite、Fiddler)实现,而Hackbar仅作用于当前浏览器标签页的请求构造与发送。

17.以下哪个服务器未曾被发现文件解析漏洞?

  • Nginx
  • Squid
  • Pache
  • IIS

文件解析漏洞通常出现在 Web 服务器中,这些服务器需要根据文件扩展名决定如何解析并执行动态脚本(如 PHP、ASP 等)。Squid 是一款代理缓存服务器,主要用于加速 Web 请求、缓存内容及访问控制,不负责解析动态脚本。因此,Squid 未曾被发现典型的文件解析漏洞。
Nginx: 在配置不当的情况下,可能存在路径解析漏洞(如 test.jpg/xxx.php 被当作 PHP 执行)。
Apache: 存在多扩展名解析漏洞(如 test.php.jpg 可能被解析为 PHP 文件)。
IIS: 特别是 IIS 6.0,存在目录解析漏洞(如 /xx.asp/xx.jpg)和分号解析漏洞(如 xx.asp;.jpg)。

18.以下哪些服务器曾被发现文件解析漏洞?

  • Apahce
  • IIS
  • nginx
  • 以上全部

Apache: 存在多扩展名解析漏洞(如 test.php.jpg 可能被解析为 PHP 文件)。
IIS: 特别是 IIS 6.0,存在目录解析漏洞(如 /xx.asp/xx.jpg)和分号解析漏洞(如 xx.asp;.jpg)。
Nginx: 在配置不当的情况下,可能存在路径解析漏洞(如 test.jpg/xxx.php 被当作 PHP 执行)。

19.之前版本的中间件未出现过解析漏洞的是?

  • tomcat
  • apache
  • iis
  • nginx

Tomcat 作为 Java Web 应用服务器,主要处理 JSP/Servlet,其解析机制相对固定,未出现过类似的典型文件解析漏洞。尽管 Tomcat 存在其他安全漏洞(如 CVE-2020-1938 Ghostcat 文件包含),但不属于“解析漏洞”范畴。

20.以下哪个工具不可以抓取HTTP数据包?

  • Fiddler
  • Wireshark
  • Burpsuite
  • Nmap

抓取HTTP数据包通常指实时捕获、解析和展示HTTP协议层面的网络流量。
Fiddler: 专用于HTTP/HTTPS的调试代理,可抓取并分析HTTP数据包。
Wireshark: 网络协议分析器,可捕获包括HTTP在内的各类网络数据包。
Burp Suite: Web安全测试平台,其代理功能可拦截、查看和修改HTTP/HTTPS流量。
Nmap: 网络扫描和安全审计工具,主要用于主机发现、端口扫描、服务识别等,不具备实时抓取和解析HTTP数据包的能力。

21.以下哪种工具可以进行SQL注入攻击?

  • msf
  • sqlmap
  • w3af
  • nmap

sqlmap: 是专门设计用于自动化检测和利用SQL注入漏洞的工具,可直接对目标进行SQL注入攻击,是此类攻击的首选工具。
msf(Metasploit Framework): 作为渗透测试框架,包含部分SQL注入模块,但并非其主要功能,通常用于其他漏洞利用。
w3af: 作为Web应用漏洞扫描器,具备SQL注入检测能力,但主要用于扫描而非深度攻击。
**nmap: **作为网络扫描工具,虽可通过脚本进行简单的SQL注入检测,但无法进行完整的注入攻击。

22.Apache默认解析的后缀中不包括?

  • pht
  • php3
  • php5
  • phtml

Apache 默认配置中通常通过 AddType 指令将特定文件扩展名关联到 PHP 解析模块(如 mod_php)。常见的默认解析后缀包括 .php、.php3、.php4、.php5、.phtml 等。而 .pht(PHP Hypertext Template)虽然也可以被配置为 PHP 脚本,但并非 Apache 默认安装时包含的解析后缀,因此不包括在默认列表中。

23.以下数据库只能通过字典枚举数据表的是?

  • mysql小于5.0的版本
  • mysql大于5.0的版本
  • oracle
  • mssql

在SQL注入中,枚举数据库表名通常可以通过查询数据库的系统表或视图实现。然而,MySQL在5.0以下版本中,没有内置的information_schema系统数据库,因此无法通过标准系统表直接获取所有表名,只能依靠字典枚举(暴力猜测)来获取数据表名。
mysql大于5.0的版本: 可通过information_schema.tables查询所有表名。
oracle: 可通过数据字典视图(如all_tables、user_tables)查询。
mssql: 可通过系统表(如sysobjects)或系统视图(如information_schema.tables)查询。

24.以下哪个数据库不是关系型数据库?

  • mysql
  • mssql
  • redis
  • oracle

关系型数据库(RDBMS)是基于关系模型,使用结构化查询语言(SQL)进行数据管理的数据库,其典型特征包括支持事务ACID属性、使用表结构存储数据、表之间存在关联等。
mysql: 开源关系型数据库。
mssql(Microsoft SQL Server): 商业关系型数据库。
oracle: 商业关系型数据库。
redis: 开源的内存键值存储数据库,属于非关系型数据库(NoSQL),常用于缓存、消息队列等场景。

25.以下命令可以用来获取DNS记录的是?

  • dig
  • ping
  • whois
  • traceroute

dig(Domain Information Groper) :专门用于 DNS 查询的 Unix/Linux 命令工具,可以直接获取指定域名的各类 DNS 记录(如 A、AAAA、MX、NS、CNAME、TXT 等),并以清晰格式输出。
ping: 主要用于测试网络连通性,虽然会触发 DNS 解析,但无法显示完整的 DNS 记录信息。
whois: 用于查询域名的注册信息(如所有者、注册商、联系信息等),与 DNS 记录无关。
traceroute: 用于追踪数据包经过的网络路径(路由跳数),不涉及 DNS 记录查询。

26.由于服务器连不上外网,导致一个网站出现命令执行漏洞,利用以下哪种方式,能够将文件上传到服务器?

  • vbs
  • powershell
  • echo
  • ftp

在服务器无法连接外网(无网络)且存在命令执行漏洞的情况下,无法通过网络从外部下载文件,但可以利用命令执行漏洞直接在服务器上创建文件。echo 命令可将内容输出到终端或重定向到文件中,因此可以通过以下方式上传文件(以文本文件为例):echo "文件内容" > /path/to/file或者通过多次 echo 追加内容,从而构建出所需的文件(如 webshell)。
vbs: 需要服务器支持 VBScript,且通常需要从外部加载或下载脚本,不适合无外网环境。
powershell: 同样依赖网络下载或外部资源,在没有外网的情况下难以直接上传文件。
ftp: 需要服务器启用 FTP 服务并能从外部 FTP 服务器获取文件,在无外网时无法使用。

27.下面的哪个命令可以打印linux下的所有进程信息?

  • su
  • ls -l
  • ps -ef
  • ls -d

ps: 用于显示进程状态。-e 表示显示所有进程(包括其他用户的进程)。-f 表示显示完整格式的详细信息(如 UID、PID、PPID、启动时间、命令等)。
su: 用于切换用户身份,不显示进程信息。
ls -l: 以长格式列出目录中的文件和目录信息,与进程无关。
ls -d: 显示目录本身的信息,而非其内容,同样与进程无关。

28.在编写目录扫描工具时哪种请求方式可以增加扫描速度?

  • GET
  • PUT
  • HEAD
  • POST

在编写目录扫描工具时,使用 HEAD 请求方式可以显著提高扫描速度。这是因为 HEAD 请求与 GET 请求类似,但服务器仅返回响应头信息,不返回响应体(即不返回网页内容)。这样既减少了网络传输的数据量,又节省了扫描工具处理响应体所需的时间和资源,从而加快了扫描速度。

29.没权限访问某个页面,服务器会返回哪个状态码?

  • 401
  • 200
  • 500
  • 403

403 Forbidden: 表示服务器理解请求,但拒绝执行,通常用于用户没有足够权限访问特定资源(如页面、文件或目录)的情况。
401 Unauthorized: 表示未认证(即需要身份验证,如用户名和密码),而非权限不足。
200 OK: 请求成功,已正常返回页面。
500 Internal Server Error: 服务器内部错误,与权限无关。

30.在web页面中增加验证码功能后,下面说法正确的是?

  • 可以防止注入攻击
  • 可以防止文件上传漏洞
  • 可以防止数据重复提交
  • 可以防止文件包含漏洞

验证码(CAPTCHA)的主要功能是区分人类用户与自动化程序,通过要求用户完成一个只有人类才能轻松通过的挑战(如识别扭曲的字符、点击特定区域等),从而有效防止恶意自动化操作。
在 Web 安全中,验证码常用于:
①防止数据重复提交:如刷票、刷评论、恶意注册等,因为自动化程序难以自动识别验证码,增加了重复提交的难度。
②防止暴力破解:如在登录、找回密码等场景中,增加自动化尝试的成本。

31.应用程序开发过程中,下面哪些开发习惯可能导致安全漏洞?

  • 在程序代码中打印日志输出敏感信息方便调试
  • 使用数组前判断是否越界
  • 在生成随机数前使用当前时间设置随机数种子
  • 以上全部

在程序代码中打印日志输出敏感信息方便调试: 可能导致敏感信息(如密码、会话ID、个人身份信息等)泄露,如果日志文件权限配置不当或日志被攻击者获取,会造成严重安全风险。
使用数组前判断是否越界: 是安全编码的良好习惯,可以有效防止缓冲区溢出、数组越界访问等内存破坏漏洞,不会导致安全漏洞。
在生成随机数前使用当前时间设置随机数种子: 会导致随机数可预测(尤其在并发场景或时间精度不足时),攻击者可据此推测后续随机数,常用于破解会话令牌、CSRF令牌、密码重置链接等,是典型的不安全随机数生成方式。

32.以下哪些工具提供拦截和修改HTTP数据包的功能?

  • 以下全部
  • Hackbar
  • Fiddler
  • Nmap

Fiddler: 是一款HTTP/HTTPS调试代理工具,能够拦截、查看、修改请求与响应数据包,并提供断点调试、重放攻击等功能,是Web安全测试中常用的数据包修改工具。
Hackbar: 是浏览器插件,主要用于快速构造和发送自定义HTTP请求(如GET/POST、修改Referer等),但不具备实时拦截和修改浏览器发出的数据包的功能。
Nmap: 网络扫描与安全审计工具,用于主机发现、端口扫描、服务探测等,不提供HTTP数据包拦截与修改能力。

33.以下哪些说法是正确的?

  • Android系统从Android 6开始引入kernelASLR安全措施
  • 主流的Android手机内置了AES及RSA硬件加速解密引擎
  • 安卓系统采用了安全引导链,而IOS系统则未采用
  • Android 4.1系统默认启用了内存ASLR

Android系统从Android 6开始引入kernelASLR安全措施: 错误。内核地址空间布局随机化(KASLR)在Linux内核3.14中已合并,Android 5.0(基于内核3.14+)即开始支持,并非从Android 6才开始。
主流的Android手机内置了AES及RSA硬件加速解密引擎: 正确。现代ARM处理器普遍集成加密扩展指令集(如ARMv8‑A的AES、SHA指令),且多数设备通过TEE或安全元件提供硬件加速的RSA/AES运算。
安卓系统采用了安全引导链,而IOS系统则未采用: 错误。iOS同样采用完整的安全引导链(Secure Boot Chain),从iBoot到内核均需签名验证,与Android Verified Boot类似。
Android 4.1系统默认启用了内存ASLR: 正确。Android 4.1(Jelly Bean)首次默认对所有应用启用地址空间布局随机化(ASLR),显著提高了漏洞利用难度。

34.以下哪个说法是正确的?

  • xcodeghost是一种可以直接远程控制手机控制权的攻击方式
  • 心脏滴血是一种可以直接远程控制手机控制权的攻击方式
  • shellshock是一种可以直接远程控制手机控制权的攻击方式
  • 以上全部

XcodeGhost: 通过感染Xcode编译工具链,向IOS应用中植入恶意代码,可窃取信息、弹出钓鱼窗口等,但不具备远程直接控制手机设备的能力,属于供应链污染攻击。
心脏滴血(Heartbleed): OpenSSL内存泄露漏洞,可读取服务器内存中的敏感数据(如私钥、会话凭证),无法直接执行任意代码或控制系统。
Shellshock: Bash环境变量解析漏洞,攻击者可在特定条件下(如CGI请求)远程执行任意系统命令。若手机运行了受影响版本的Bash且存在可攻击的网络接口(如越狱设备开启SSH服务、部分嵌入式系统等),则可能直接获取远程控制权。

35.在同一个bash下依次执行

root@kali:~/Desktop# whoami

root

root@kali:~/Desktop# function whoami(){echo 1;}
root@kali:~/Desktop# whoami

最后一次执行的whami的结果是什么?

  • root
  • 1
  • echo 1
  • echo 1;

在 Bash 中,定义与系统命令同名的函数会覆盖该命令。执行 whoami 时,Bash 优先执行函数而非外部命令 whoami,因此输出函数体 echo 1 的结果,即 1。

36.以下哪个攻击可用来运行ddos攻击?

  • 菜刀
  • WSI
  • Dosend
  • Chkrootkit

菜刀: 是一类Webshell管理工具,用于连接和控制后门,不能直接发起DDoS攻击。
WSI: PHP注入工具
Dosend: 从名称看专为发送DoS/DDoS流量设计,是可用来运行DDoS攻击的工具。
Chkrootkit: 用于检测系统后门和rootkit的安全工具,不具备攻击功能。

37.在linux环境下,查询日志文件最后100行数据,正确的方式是?

  • mv -100 log
  • grep -100 log
  • cat -100 log
  • tail -100 log

在 Linux 环境下,tail 命令用于输出文件的末尾内容。tail -100 log 等价于 tail -n 100 log,表示显示文件 log 的最后 100 行数据。

38.Firefox浏览器插件Hackbar提供的功能不包括?

  • POST方式提交数据
  • BASE64编码和解码
  • 代理修改WEB页面的内容
  • 修改浏览器访问referer

Firefox插件Hackbar是一款用于Web安全测试的辅助工具,主要功能包括:
①POST方式提交数据:支持切换GET/POST并构造请求体。
②BASE64编码和解码:内置编码/解码工具(Base64、URL、MD5等)。
③修改浏览器访问referer:可自定义Referer等HTTP头字段。

39.以下哪个攻击可以提供拦截和修改http数据报功能?

  • Metasploit
  • Hackbar
  • sqlmap
  • Burpsuite

Metasploit: 渗透测试框架,主要用于漏洞利用、载荷生成与后渗透,不具备拦截修改HTTP数据包的功能。
Hackbar: 浏览器插件,可快速构造和发送自定义HTTP请求,但无法实时拦截或修改浏览器发出的数据包。
sqlmap: 自动化SQL注入检测与利用工具,只能发送预设或自动生成的请求,不支持交互式拦截修改。
Burpsuite: 一款集成化的Web应用安全测试工具,其核心功能之一是代理,能够拦截、查看、修改所有经过代理的HTTP/HTTPS请求和响应数据包。

40.以下哪几种工具可以对网站进行自动化web漏洞扫描?

  • hackbar
  • AWVS
  • Nmap
  • 以上选项全都不可以

Hackbar: 浏览器插件,用于手动构造和发送HTTP请求,不具备自动化漏洞扫描功能。
AWVS(Acunetix Web Vulnerability Scanner): 专业的自动化Web漏洞扫描工具,可自动检测SQL注入、XSS、文件包含等数千种漏洞,并生成报告。
Nmap: 网络扫描工具,主要用于端口扫描、服务识别,虽可通过NSE脚本检测部分Web漏洞,但非专业、自动化Web漏洞扫描器

41.关于XcodeGhost事件的正确说法是?

  • 部分Android产品也受到了影响
  • 应用程序开发使用了包含后门插件的IDE
  • 当手机被盗时才有风险
  • 苹果官方回应APPSTORE上的应用程序不受影响

XcodeGhost事件:攻击者通过非官方渠道分发被植入恶意代码的 Xcode(苹果的集成开发环境),开发者使用受感染的 Xcode 编译应用后,恶意代码被自动注入到应用包中,最终上传至 App Store 并广泛传播。该事件是供应链攻击的典型代表。
部分Android产品也受到了影响: XcodeGhost仅针对 iOS 应用开发,与 Android 无关。
应用程序开发使用了包含后门插件的IDE: 核心原因,即开发者使用的 Xcode 被植入了恶意插件。
当手机被盗时才有风险: 手机被盗无关,应用在正常使用中即可窃取信息。
苹果官方回应APPSTORE上的应用程序不受影响: 际上受影响的正是 App Store 中的应用,苹果官方随后下架了这些恶意应用。

42.Android应用中导致HTTPS中间人攻击的原因不包括?

  • 没有对SSL证书校验
  • 没有对主机名进行校验
  • SSL证书被泄露
  • 使用WIFI连接网络

HTTPS中间人攻击通常源于客户端(Android应用)对证书验证机制的不严谨,以下属于应用代码缺陷导致的漏洞:
没有对SSL证书校验: 应用未验证服务端证书的有效性(如自签名证书也接受),攻击者可伪造证书实施中间人攻击。
没有对主机名进行校验: 应用只验证了证书本身,但未校验证书中的主机名是否与实际访问域名匹配,攻击者可使用其他合法证书实施中间人攻击。
SSL证书被泄露: 服务器私钥泄露或CA签发伪造证书,攻击者可利用有效证书冒充服务器,属于外部因素,但也直接导致中间人攻击可行。

43.这段代码存在的安全问题,不会产生什么安全漏洞?

<?php
$username=$_GET(username);
echo $username

mysql_query("select * from orders where username=\"$username\"") or die(mysql_error());
?>
  • 命令执行漏洞
  • SQL注入漏洞
  • 文件包含漏洞
  • 反射XSS漏洞

代码中直接使用用户输入拼接 SQL 查询,存在 SQL 注入漏洞;直接输出用户输入,存在 反射型 XSS 漏洞。
代码中没有任何执行系统命令(如 system、exec、反引号等)或动态包含文件(如 include、require)的操作,因此 不会产生命令执行漏洞 和 文件包含漏洞。

44.以下哪些是CSRF漏洞的防御方案?

  • 确保HTTP Referer字段跨域
  • 延长sessioncookie的生命周期
  • cookie关键字段关闭HttpOnly属性
  • 使用验证码

CSRF(跨站请求伪造)的常见防御方案包括:
①使用 Anti-CSRF Token
②使用验证码
③检查 Referer 头
④设置 SameSite Cookie 属性
确保 HTTP Referer 字段跨域: 表述错误。防御 CSRF 通常是验证 Referer 是否与站点同源,而非“确保跨域”。此选项不构成防御方案。
延长 sessioncookie 的生命周期: 与 CSRF 防御无关,仅延长会话有效期,反而可能增加风险窗口。
cookie 关键字段关闭 HttpOnly 属性: HttpOnly 用于防止 XSS 窃取 Cookie,与 CSRF 防御无关。关闭它反而削弱安全。

45.如何防御CSRF漏洞?下面说法不正确的是?

  • 使用验证码
  • 检查HTTP Referer字段是否同域
  • 使用一次性Token
  • 使用POST方式提交

CSRF(跨站请求伪造)的防御核心在于区分恶意请求与合法用户发起的请求,常见有效防御措施包括:
①使用验证码:要求用户交互,阻止自动化请求。
②检查HTTP Referer字段是否同域:验证请求来源,虽不完全可靠(可被绕过或缺失),但仍是一种辅助手段。
③使用一次性Token(Anti-CSRF Token):在表单中嵌入随机Token,服务端校验,是目前最有效的防御方式。

46.android manifest.xml中,哪项配置不会造成安卓内部文件被窃取?

  • android:allowbackup="true"
  • Android:name="con.trsc"
  • Android:debug="true"
  • Androidtarget sdkversion="17"

android:allowbackup="true" 允许app备份,可以导致其他app非法访问这些数据
Android:name="con.trsc" 没有设置成私有,可以导致非法越权访问
Android:debug="true" 通过调试,可以调用查看其他文件
Androidtarget sdkversion="17" sdk版本信息

47.以下哪些工具不可以抓取windwos明文密码?

  • WCE
  • Mimikatz
  • Quarks PWdump
  • 以上全部

WCE(Windows Credentials Editor): 能够从内存或 LSA 中提取明文密码、哈希及 Kerberos 票据,支持抓取明文密码。
Mimikatz: 著名的凭证提取工具,可以从 lsass 进程中直接获取明文密码、哈希、PIN 码等。
Quarks PWdump: 主要功能是从 Windows 系统(SAM 文件、内存)中导出 NTLM 哈希,不直接提取明文密码

48.以下关于CC攻击说法不正确的是?

  • CC攻击需要借助代理进行
  • CC攻击利用的是tcp协议缺陷
  • CC攻击难以获取目标机器的控制权
  • CC攻击最早在国外大面积流行

CC攻击(Challenge Collapsar) 是一种应用层DDoS攻击,主要通过大量看似合法的HTTP/HTTPS请求耗尽目标服务器的资源(如CPU、数据库连接等),不涉及TCP协议本身的缺陷。利用TCP协议缺陷的攻击是如SYN Flood等传输层攻击。

49.Android开发过程中,下面哪些开发习惯容易导致安全漏洞?

  • 在程序代码中插入Log()方法输出敏感信息方便调试
  • 在应用正式版Androidmanifest.xml中设置android:debuggable="false"
  • 使用SecureRandom时使用安全的方法设置seed
  • 以上全部

在程序代码中插入Log()方法输出敏感信息方便调试: 这是不安全的开发习惯,可能导致敏感信息(如密码、Token、用户数据)泄露到日志中,攻击者可通过日志读取或adb获取这些信息。
在应用正式版Androidmanifest.xml中设置android:debuggable="false": 这是正确的安全配置,用于禁用调试模式,防止攻击者调试应用、窃取数据,不会导致安全漏洞。
使用SecureRandom时使用安全的方法设置seed: 这也是安全编码实践(如使用系统默认熵源或无参构造),可确保随机数不可预测,不会导致漏洞。

50.iOS平台上常见的Hook框架有

  • Xposed
  • Intent Fuzz
  • Drozer
  • Substrate

Xposed: Android平台的Hook框架,用于修改系统或应用行为,不适用于iOS。
Intent Fuzz: Android平台上的Fuzzing测试工具,用于检测Intent相关漏洞,并非Hook框架。
Drozer: Android平台的安全评估和渗透测试框架,不具备Hook功能。
Substrate(Cydia Substrate): 由Saurik开发的Hook框架,支持iOS越狱设备,可动态注入代码修改应用或系统行为,是iOS平台上最著名的Hook框架之一。

posted @ 2026-02-11 23:34  77板烧鸡腿堡  阅读(18)  评论(0)    收藏  举报