前言
有不少小伙伴面临跳槽或者找工作,本文总结了常见的安全岗位面试题,方便各位复习。祝各位事业顺利,财运亨通。在网络安全的道路上越走越远!。
注:所有的资料都整理成了PDF,面试题和答案将会持续更新,因为无论如何也不可能覆盖所有的面试题。
正文
- php爆绝对路径方法?
单引号引起数据库报错
访问错误参数或错误路径
探针类文件如phpinfo
扫描开发未删除的测试文件
google hacking
phpmyadmin报路径:/phpmyadmin/libraries/lect_lang.lib.php
利用漏洞读取配置文件找路径
恶意使用网站功能,如本地图片读取功能读取不存在图片,上传点上传不能正常导入的文件 - 你常用的渗透工具有哪些,最常用的是哪个?
burp、nmap、sqlmap、awvs、蚁剑、冰蝎、dirsearch、御剑等等
- xss盲打到内网服务器的利用
钓鱼管理员
信息收集 - 鱼叉式攻击和水坑攻击?
鱼叉攻击:指利用木马程序作为电子邮件的附件,发送到目标电脑上,诱导受害者去打开附件来感染木马
水坑攻击:分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,将网站攻破并植
入恶意程序,等待目标访问 - 什么是虚拟机逃逸?
利用虚拟机软件或者虚拟机中运行的软件的漏洞进行攻击,以达到攻击或控制虚拟机宿主操作系统的目的
- 中间人攻击?
原理:
在同一个局域网中,通过拦截正常的网络通信数据,并进行数据篡改和嗅探
防御:
在主机绑定网关MAC与IP地址为静态
在网关绑定主机MAC与IP地址
使用ARP防火墙 - TCP三次握手过程?
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确
认
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包
(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,
客户端和服务器进入ESTABLISHED状态,完成三次握手 - 七层模型?
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
- 对于云安全的理解
融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络
中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,传送到Server端进行自动分析
和处理,再把病毒和木马的解决方案分发到每一个客户端 - 了解过websocket吗?
WebSocket是一种在单个TCP连接上进行全双工通信的协议,最大特点是服务器可以主动向客户端
推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。 - DDOS是什么?有哪些?CC攻击是什么?区别是什么?
DDOS:
分布式拒绝服务攻击,利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务
的响应
主要方式:SYN Flood
UDP Flood
ICMP Flood
Connection Flood
HTTP Get
UDP DNS Query Flood
CC攻击:
模拟多个正常用户不停地访问如论坛这些需要大量数据操作的页面,造成服务器资源的浪费,CPU
长时间处于100%,网络拥塞
两者区别:
CC攻击网页,DDOS攻击服务器,更难防御
CC门槛较低,DDOS需要大量服务器
CC持续时间长,DDOS产生的影响大 - land攻击是什么
局域网拒绝服务攻击,DDOS攻击的一种,通过发送精心构造的、具有相同源地址和目标地址的欺
骗数据包,致使缺乏相应防护机制的目标设备瘫痪 - 你会如何进行信息收集?
服务器信息:ip、中间件、操作系统
域名whois、ipwhois、网段归属
子域名探测
网站目录扫描、接口信息扫描
端口扫描
各大引擎搜索相关信息 - 什么是CRLF注入攻击?
通过“回车”和“换行”字符注入HTTP流,实现网站篡改、跨站脚本、劫持等。
- 防止XSS,前端后端两个角度?
前端:
用户输入特殊字符过滤转义为html实体
用户输出编码
后端:
实体化编码
函数过滤
限制字符长度 - 如何防护一个端口的安全?
利用WAF、IDS、IPS等设备
危险服务端口禁止对外访问或限制IP访问
服务定期更新版本 - webshell检测思路?
静态检测:匹配特征码,特征值,危险函数
动态检测:WAF、IDS等设备
日志检测:通过IP访问规律,页面访问规律筛选
文件完整性监控 - 发现IIS的网站,怎样试它的漏洞?(根据版本)
https://mp.weixin.qq.com/s/5XV984kErF2Zhh-P5aoUwQ
- GPC是什么?开启了怎么绕过
GPC:
php.ini配置文件中的magic_quotes_gpc,实现为get、post、cookie传入的单引号、双引号、反
斜线、NULL字符添加反斜线 \
绕过:
PHP5的GPC对$_SERVER的忽略,可在http请求头注入
二次注入
宽字节注入 - web常用的加密算法有什么
单向散列加密 MD5、SHA、MAC
对称加密 AES、DES
非对称加密 RSA、RSA2 - XSS除了获取cookies还能做什么?
获取管理员ip
xss蠕虫
钓鱼攻击
前端JS挖矿
键盘记录
屏幕截图 - 运营商(或其他)网络劫持
运营商劫持:广告投放
DNS劫持:通过各种手段篡改DNS,劫持网络 - DNS欺骗是什么
攻击者冒充域名服务器的一种欺骗行为
- 缓冲区溢出原理和防御
原理:
当写入缓冲区的数据量超过该缓冲区所能承受的最大限度时,发生缓冲区溢出,溢出的数据被黑客
加以利用,形成远程代码执行漏洞。
防御:
基于操作系统防御
缓冲区边界检查
安全编程 - 网络安全事件应急响应
断网:条件允许时优先断网,防止黑客进一步操作或删除痕迹
取证:通过分析登录日志、网站日志、服务日志寻找黑客ip,查看黑客进行的操作
备份:备份服务器文件,对比入侵前后产生变化的文件
查漏:通过上述步骤寻找业务薄弱点,修补漏洞
杀毒:清除黑客留下的后门、webshell、管理账号
溯源:通过黑客ip地址,入侵手段等
记录:归档、预防 - 企业内部安全
实名制联网 重要网段隔离 禁止接入任何USB设备
禁用WIFI网络 IP与MAC地址绑定
部署网络监控、IDS、IPS设备
定期培训,提高员工安全意识 - 业务上线前,怎么测试,从哪些角度测试
安全测试:寻找产品漏洞,页面漏洞,服务漏洞,敏感信息泄露,逻辑漏洞,弱口令
性能测试:压力测试
功能完整性测试 - 应用有漏洞,但是无法修复和停用,你怎么办
限制IP白名单访问
使用WAF、IDS、防火墙设备 - CSRF怎么防护?
验证HTTP Referer字段
添加Token字段并验证
添加自定义字段并验证 - 文件上传绕过方法?
WAF绕过:
修改上传表单字段
表单字段大小写替换
表单字段增加或减少空格
表单字段字符串拼接
构造双文件上传表单,同时上传双文件
编码绕过
垃圾数据填充绕过
文件名大小写绕过
服务器检测绕过:
MIME类型绕过
前端JS检测抓包改包绕过
黑名单绕过:php3、asa、ashx、windows特性(test.asp_、流特性)、apache解析漏洞
图片内容检测使用图片马绕过 .htassess绕过
白名单检测绕过:
截断上传绕过
IIS6/7/7.5解析漏洞,nginx低版本解析漏洞
文件包含绕过 - 验证码相关利用点
验证码复用
验证码可识别
验证码失效
验证码DDOS - cookie你会测试什么内容
sql注入
xss
权限绕过
敏感信息泄露 - 说出几个业务逻辑漏洞类型?
任意用户密码重置
短信轰炸
订单金额修改
忘记密码绕过
恶意刷票
验证码复用 - 简述文件包含漏洞
调用文件包含函数时,未严格限制文件名和路径,如include()、require()等函数
-
业务逻辑漏洞,用户任意密码重置有什么例子,因为什么因素导致的?
普通用户重置管理用户密码
普通用户重置普通用户密码
未设置用户唯一Token,导致越权 - 渗透测试过程中发现一个只能上传zip文件的功能,有什么可能的思路?
shell压缩上传,程序自解压getshell
尝试解析漏洞getshell
寻找文件包含漏洞
木马钓鱼管理员 - 为什么aspx木马权限比asp大?
aspx使用的是.net技术,IIS中默认不支持,ASPX需要依赖于.net framework,ASP只是脚本语言 入
侵的时候asp的木马一般是guest权限APSX的木马一般是users权限 - 只有一个登录页面有哪些思路?
SQL注入、万能密码
暴力破解
权限绕过
目录扫描
敏感信息泄露 - 请求头中哪些是有危害的?
COOKIE注入
user-agent注入X-Forwarded-For注入
Referer注入 - 谈谈水平/垂直/未授权越权访问的区别?
水平越权:普通用户越权访问普通用户
垂直越权:普通用户越权访问管理用户
未授权访问:权限控制不严,导致无需登录访问已登录用户页面 - xss有什么?执行存储型的xss的危害和原理
存储型、反射型、DOM型
存储型XSS是指应用程序通过Web请求获取不可信赖的数据,在未检验数据是否存在XSS代码的情
况下,便将其存入数据库
存储型XSS危害:
窃取用户Cookie
XSS钓鱼攻击
XSS蠕虫攻击
获取键盘记录
获取用户信息
获取屏幕截图 - 主机疑似遭到入侵,要看哪里的日志
系统登录日志
服务访问日志
网站日志
数据库日志 - python常用的标准库
正则表达式 re
时间模块 time
随机数 random
操作系统接口 os
科学计算 math
网络请求 urlib
http库 requests
爬虫库 Scrapy
多线程库 threading - reverse_tcp 和 bind_tcp 的区别?
reverse_tcp:攻击机设置一个端口和IP,Payload在测试机执行连接攻击机IP的端口,这时如果在
攻击机监听该端口会发现测试机已经连接 白话就是让受控机主动连接我们
bind_tcp:攻击机设置一个端口(LPORT),Payload在测试机执行打开该端口,以便攻击机可以
接入 白话就是我们主动连接受控机 使用reverse_tcp较为安全,一般不会被防火墙发现。 - oauth认证过程中可能会出现什么问题,导致什么样的漏洞?
CSRF
redirect_uri校验不严格
错误的参数传递 - 做了cdn的网站如何获取真实IP
全球ping
查询历史解析记录
探针文件如phpinfo等
利用命令执行连接我们的服务器或DNSlog
寻找网站配置
通过二级域名
全网扫描,title匹配 - 如何实现跨域?
jsonp
CORS跨域资源共享
代理跨域请求
Html5 postMessage 方法
修改 document.domain 跨子域
基于 Html5 websocket 协议
document.xxx + iframe - jsonp跨域与CORS跨域的区别?
jsonp浏览器支持较好,CORS不支持IE9及以下浏览器 jsonp只支持GET,CORS支持所有类型的HTTP请求 jsonp只发一次请求,复杂请求CORS发送两次
- 算法?了解过什么排序?
冒泡排序
选择排序
插入排序
- SSRF漏洞利用?
本地文件读取
服务探测、端口扫描
攻击内网redis、mysql、fastcgi等服务
利用到的协议有:http/s、file、gopher、tftp、dict、ssh、telnet - 常见后门方式?
Windows:
注册表自启动
shift后门
远控软件
webshell
添加管理用户影子用户
定时任务
dll劫持
注册表劫持
MBR后门
WMI后门
管理员密码记录
Linux:
SSH后门
SUID后门
Crontab计划任务
PAM后门
添加管理员账号
Rootkit - open_basedir访问目录限制绕过方法?
使用命令执行函数绕过
使用symlink()函数绕过
glob伪协议绕过 - PHP代码审计中容易出问题的点?
参数拼接方式皆有可能产生SQL注入(老生常谈)
全局变量注册导致的变量覆盖
fwrite参数未过滤导致的代码执行
权限校验疏漏导致的后台功能访问
接口任意文件上传
unserialize反序列化漏洞 - 红蓝对抗中蓝队反杀红队场景和姿势?
钓鱼、蜜罐、蚁剑RCE
- linux计划任务,黑客隐藏自己的计划任务会怎么做?
临时任务:at、batch命令
- Redis未授权常见getshell的几种方式?
web绝对路径写shell
写入ssh公钥获取服务器权限主从复制getshell
- JWT的攻击手法?(头部、负载、签名)
加密算法置为空绕过身份验证
爆破弱密钥 kid参数:任意文件读取、SQL注入、命令注入
未校验签名,内容重新编码 - JAVA中间件的漏洞,举几个例子?
JBoss反序列化
WebLogic反序列化
Tomcat任意文件写入、弱口令+后台getshell - DNS外带可以用在哪些漏洞?
SQL盲注
无回显的命令执行
XXE盲打
SSRF盲打 - HTTP-Only禁止的是JS读取cookie信息,如何绕过这个获取cookie
劫持登录页面钓鱼绕过
- 中间件漏洞总结?
这里只写常利用的漏洞
IIS:
IIS6.0 PUT漏洞
IIS6.0 远程代码执行漏洞
IIS6.0 解析漏洞 IIS启用.net 短文件名漏洞
IIS7.0/7.5 解析漏洞
Apache:
未知扩展名解析漏洞
配合错误导致的解析漏洞、目录遍历
Nginx:
配置错误导致的解析漏洞、目录遍历
Tomcat:
配置错误导致的任意代码执行、任意文件写入漏洞
弱口令+管理后台war包部署getshell manager/html管理后台弱口令爆破
JBoss:
5.x/6.x反序列化漏洞(CVE-2017-12149)
JMXInvokerServlet反序列化
EJBInvokerServlet反序列化
JMX Console未授权访问
弱口令+管理后台war包部署getshell
WebLogic:
XMLDecoder 反序列化漏洞(CVE-2017-10271 & CVE-2017-3506)
wls9_async_response,wls-wsat 反序列化远程代码执行漏洞(CVE-2019-2725)
WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)
弱口令+管理后台war包部署getshell - 谈一谈Windows系统与Linux系统提权的思路?
Windows:
数据库提权:mysql、sqlserver
第三方软件提权:serv-u DLL劫持
系统内核溢出漏洞提权:cve系列
Linux:
sudo提权
suid提权
redis 内核提权 - python有哪些框架,其中出现过哪些漏洞
Django、Flask、Scrapy Django任意代码执行
Flask模板注入 - 小程序的渗透和普通渗透的差异
渗透过程不变,依旧是抓包修改参数渗透
不同点是小程序会将包下载到本地,可以使用逆向还原工具反编译 - app本身的漏洞测试 四大组件
Activity组件:
activity绑定browserable与自定义协议
ActivityManager漏洞
Service组件:
权限提升,拒绝服务攻击Broadcast Receiver组件:
权限管理不当
BroadcastReceiver导出漏洞
动态注册广播组件暴露漏洞
Content Provider组件:
读写权限漏洞
Content Provider中的SQL注入漏洞
Provider文件目录遍历漏洞 - IDS/IPS防护原理及绕过思路
原理:
IDS工作在网络层,旁路部署,通过抓取和分析网络流量来发现攻击 IPS一般也是在网络层旁路,
可以理解为具备阻断能力的IDS,是IDS的升级版(也有IDS检测到攻击通知阻断设备执行阻断动作
的设备联动模式),可以覆盖网络层和应用层
绕过:
TCP分片:拆分出两个TCP包
IP分片:原理同TCP分片,但是丢包严重
程序bug/性能问题:发送大量无效包,消耗IPS性能
伪造TCP状态:绕过基于状态追踪的IPS
IPV6绕过:使用IPV6地址绕过 -
json的csrf的利用
使用XMLHttpRequest、fetch构造出JSON请求,利用Flash的跨域与307跳转来绕过http自定义头限制
-
json格式的数据包可以测哪些漏洞
csrf json劫持 xss
-
简述xxe漏洞原理与利用方式
原理:
XML外部实体注入,在应用程序解析XML输入时,当允许引用外部实体时,可构造恶意内容,产生
漏洞
利用:
DTD Document Type Definition
DTD 内部声明 <!DOCTYPE 根元素 [元素声明]>
DTD 外部引用 <!DOCTYPE 根元素名称 SYSTEM “外部DTD的URI”>
引用公共DTD <!DOCTYPE 根元素名称 PUBLIC “DTD标识名” “公用DTD的URI”>
ENTITY?xml version="1.0" encoding="utf-8"?> <!DOCTYPE root [ <!ENTITY x "First Param!"> <!ENTITY y "Second Param!"> <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <root><x>&x;</x><y>&y;</y><xxe>&xxe;</xxe></root
-
内网服务器,如何进行信息收集?
使用脚本收集:端口信息、服务信息
系统命令收集:域内用户可使用域命令收集域信息, net group "domain users" /domain 等
端口扫描工具全段扫描
本机信息收集:管理密码、登录日志看管理员ip、服务密码收集、网段信息查看、历史记录查看
内网DNS域传送漏洞 -
如果拿下了内网边界层的某一个机器,如何对内网其他进行探测?
首先使用代理进入内网reg、ew等
第二在本机进行信息收集,包括管理员ip、端口服务、账号密码、路由信息、网段信息等
第三扩展到收集到的网段进行渗透,利用常用服务:SMB、MYSQL、SQLserver、ftp、telnet等
借助轻量化脚本或扫描器扫描,但一般不这么做,动静太大容易被管理员发现
需要pdf面试文档,可以评论领取,我挨个发