渗透测试面试中常见的问题收集(部分)

1、xss盲打到内网服务器的利用

钓鱼管理员 信息收集

2、什么是虚拟机逃逸?

利用虚拟机软件或者虚拟机中运行的软件的漏洞进行攻击,以达到攻击或控制虚拟机宿主操作系统的目的

3、了解过websocket吗?

WebSocket是一种在单个TCP连接上进行全双工通信的协议,最大特点是服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。

4、什么是CRLF注入攻击?

通过“回车”和“换行”字符注入HTTP流,实现网站篡改、跨站脚本、劫持等。

5、linux系统中的计划任务crontab配置文件中的五个星星分别代表什么?

答:分,时,日,月,星期几

6、发生安全事件怎么做应急响应?

答:先确定范围,做好隔离(网络隔离,ACL等),判断事情严重程度,同时联系法务部门看是自己取证还是公安部门取证,事后做好分析,做好相关安全加固

7、webshell检测思路?

静态检测:匹配特征码,特征值,危险函数 动态检测:WAF、IDS等设备 日志检测:通过IP访问规律,页面访问规律筛选 文件完整性监控

8、GPC是什么?开启了怎么绕过

GPC:

php.ini配置文件中的magic_quotes_gpc,实现为get、post、cookie传入的单引号、双引号、反斜线、NULL字符添加反斜线\

绕过:

PHP5的GPC对$_SERVER的忽略,可在http请求头注入 二次注入 宽字节注入

9、XSS除了获取cookies还能做什么?

获取管理员ip xss蠕虫 钓鱼攻击 前端JS挖矿 键盘记录 屏幕截图

10、运营商(或其他)网络劫持

运营商劫持:广告投放 ;DNS劫持:通过各种手段篡改DNS,劫持网络

11、缓冲区溢出原理和防御

原理:

当写入缓冲区的数据量超过该缓冲区所能承受的最大限度时,发生缓冲区溢出,溢出的数据被黑客加以利用,形成远程代码执行漏洞。

防御:

基于操作系统防御 缓冲区边界检查 安全编程

12、网络安全事件应急响应

断网:条件允许时优先断网,防止黑客进一步操作或删除痕迹

取证:通过分析登录日志、网站日志、服务日志寻找黑客ip,查看黑客进行的操作

备份:备份服务器文件,对比入侵前后产生变化的文件

查漏:通过上述步骤寻找业务薄弱点,修补漏洞

杀毒:清除黑客留下的后门、webshell、管理账号

溯源:通过黑客ip地址,入侵手段等 记录:归档、预防

13、业务上线前,怎么测试,从哪些角度测试

安全测试:寻找产品漏洞,页面漏洞,服务漏洞,敏感信息泄露,逻辑漏洞,弱口令 性能测试:压力测试 功能完整性测试

14、CSRF怎么防护?

验证HTTP Referer字段 添加Token字段并验证 添加自定义字段并验证

15、cookie你会测试什么内容

sql注入 xss 权限绕过 敏感信息泄露

16、说出几个业务逻辑漏洞类型?

任意用户密码重置 短信轰炸 二次注册 订单金额修改 忘记密码绕过 恶意刷票 验证码复用

17、谈一下SQL主从备份原理?

答:主将数据变更写入自己的二进制log,从主动去主那里去拉二进制log并写入自己的二进制log,从而自己数据库依据二进制log内容做相应变更。主写从读

18、设置http only后的cookie如何绕过利用

1)条件:登录框存在xss漏洞;利用xss平台

情况一:密码被浏览器保存,直接读取

情况二:密码未被浏览器保存,表单劫持

2)信息泄露获取

phpinfo获取cookie信息

3)框架漏洞

apache漏洞获取:

Apache服务器2.0-2.2版本存在个漏洞 CVE-2012-0053:

攻击者可通过向网站植人超大的Cookie,令其HTTP头超过Apache的LititRequestFieldSize (最大请求长度,4192字节),使得Apache返回400错误,状态页中包含了HttpOnly 保护的Cookie。

4)xss与cors组合

19、如何对接口进行渗透测试?

1) 确定接口地址和功能,例如REST API、SOAP、GraphQL等。

2) 确认接口的授权机制,例如基于Token的身份验证、OAuth2.0等。

3.)使用工具或手动测试对接口进行简单的功能测试,例如提交请求、获取响应等。

4.)对接口进行安全测试,例如:

输入验证:尝试使用各种输入类型和长度来测试输入验证,例如SQL注入、跨站点脚本(XSS)等。

认证和授权:测试接口的身份验证和授权机制,例如尝试使用无效令牌或攻击会话跟踪等。

敏感信息泄露:测试接口是否泄露敏感信息,例如用户凭据、API密钥等。

拒绝服务攻击:测试接口是否容易受到拒绝服务攻击,例如暴力破解、DDoS攻击等。

业务逻辑:测试接口的业务逻辑是否存在漏洞或安全问题,例如尝试越权访问、重放攻击等。

5)分析测试结果,并进行修复或改进。

20、内网如何实现跨域?

1).jsonp跨域

利用了 script 不受同源策略的限制

缺点:只能 get 方式,易受到 XSS攻击

2).CORS跨域

当使用XMLHttpRequest发送请求时,如果浏览器发现违反了同源策略就会自动加上一个请求头 origin;

后端在接受到请求后确定响应后会在后端在接受到请求后确定响应后会在 Response Headers 中加入一个属性 Access-Control-Allow-Origin;

浏览器判断响应中的 Access-Control-Allow-Origin 值是否和当前的地址相同,匹配成功后才继续响应处理,否则报错

缺点:忽略 cookie,浏览器版本有一定要求

3)代理跨域请求

前端向发送请求,经过代理,请求需要的服务器资源

缺点:需要额外的代理服务器

4)Html5 postMessage 方法

允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本、多窗口、跨域消息传递

缺点:浏览器版本要求,部分浏览器要配置放开跨域限制

5)修改 document.domain 跨子域

相同主域名下的不同子域名资源,设置 document.domain 为 相同的一级域名

缺点:同一一级域名;相同协议;相同端口

6)基于 Html5 websocket 协议

websocket 是 Html5 一种新的协议,基于该协议可以做到浏览器与服务器全双工通信,允许跨域请求

缺点:浏览器一定版本要求,服务器需要支持 websocket 协议

7)document.xxx + iframe

通过 iframe 是浏览器非同源标签,加载内容中转,传到当前页面的属性中

缺点:页面的属性值有大小限制

21、如何实现反向代理

EarthWorm、reGeorg-master、Tunna-master、proxifier、nps

22、有哪些上传绕过的方式?

1)客户端js验证

2)服务器端验证

3) 配合文件包含漏洞

4)配合服务器解析漏洞绕过

5)配合操作系统文件命令规则

  1. CMS、编辑器漏洞

  2. 配合其他规则

  3. WAF绕过

  4. 文件后缀名绕过

  5. 文件内容头校验(gif89a)

11)文件头content-type字段校验(image/gif)

23、宽字符注⼊的原理?如何利⽤宽字符注⼊漏洞,payload 如何构造?

在 mysql 中使⽤了 gbk 编码,占⽤ 2 个字节,⽽ mysql 的⼀种特性,GBK 是多字节编码,它认为两个字节就代表⼀个汉字,所以 % df 时候会和转义符 %5c 进⾏结合,所以单引号就逃逸了出来,当第⼀个字节的 ascii 码⼤于 128位就可以了

你可能感兴趣的:(面试,面试,职场和发展)