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