安全工程师面试题集合
-
跨域,以及跨域中可能产生的安全风险
同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。同源策略限制以下几种行为:
1.) Cookie、LocalStorage 和 IndexDB 无法读取
2.) DOM 和 Js对象无法获得
3.) AJAX 请求不能发送
如果绕过同源策略,则有可能访问到其他网站的敏感信息 -
html5 postmessage中xss的风险
-
java反序列化漏洞的大致讲解
-
php java python反序列化的不同之处
-
渗透测试中检测sql注入的方法。盲注的主要函数。
检测sql注入主要通过and 1=1 1=0等类似操作,找到页面中不同之处,并判断是否存在sql注入
语句主要是IF(condition, when_true, when_false)
- mysql:
- sleep(Time)
- BENCHMARK(count, expr) MySQL有一个内置的BENCHMARK()函数,可以测试某些特定操作的执行速度
- Sqlserver
- WAIT FOR DELAY 'hh:mm:ss'
- WAIT FOR TIME 'hh:mm:ss'
- mysql:
-
mysql 报错注入
SQL报错注入就是利用数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。这种手段在联合查询受限且能返回错误信息的情况下比较好用,毕竟用盲注的话既耗时又容易被封。主要有Xpath注入,floor报错,exp报错,BIGINT等数据类型溢出,concat+rand()+group_by()导致主键重复等
-
hash算法的安全性(hash扩展攻击)
hash扩展攻击主要针对于md5,sha1等hash算法。主要针对md5(salt+text),可以通过填充text的方式,伪造一份hash。 -
http中有关安全的http头,分别都有什么作用。cookie中有关安全的几个选项,都有什么
-
hash算法的安全性(hash扩展攻击)
-
php代码审计要点,常见的几个危险函数
-
一个支付网站从下单到支付,都可能存在哪些安全风险。需要怎么避免。怎么避免重复下单这个问题
- 条件竞争漏洞的场景
- xss
- 支付漏洞
-
一个login页面,在安全方面需要注意哪些问题
-
SSRF,SSRF的利用方式,以及SSRF的绕过方式。修复方法都有什么
-
JNDI注入
-
ORM的注入,hibernate,mybates
-
DNS rebind的原理及利用
-
数据库拿shell的集中方式?分别都有什么
-
解释时间盲注的原理。影响时间盲注判断的因素有哪些。
-
解释 BOOL 注入的原理。
-
什么是宽字节注入。
-
有哪些 bypass waf 对 SQL 注入防御的思路?
-
解释文件包含漏洞的原理。文件包含漏洞和任意文件读取的漏洞原理是一样的吗?
-
说明文件包含漏洞的利用方式。
病毒分析&应急响应(linux):
- 你的排查手段都有什么
- lsof作用,ps top /proc map等作用
- Rootkit 针对ls ps的隐藏方式
- ELF文件的主要格式,以及感染方式
windows相关
- windows开机启动项排查
- 常见工具sysmon,processExplore等工具使用
- pe文件结构,以及加壳脱壳等原理
- 怎么防御mimikatz这类工具的使用
- 是否使用过后渗透工具Cobalt Strike?说一下原理,以及逃过杀软方法?shellcode是怎么被加载的,过程是什么
- 是否接触过绕过杀软?诸如360等,大致都有什么,知否知道原理
密码学
- 是否了解对称密码和非对称密码?举例说明。
- 是否了解分组密码与流密码?举例说明
- 几种分组密码工作模式是否了解?举例并说明每种工作模式的优缺点以及潜藏的安全风险
- rsa p q n等等,参数的具体含义
- ecdsa算法
- iv是什么?具体有什么作用?
- 什么是加密?混淆与扩散
- 什么是散列?什么是雪崩效应?
- 基于上面的理论,那base64算不算加密???md5算不算?
安卓:
- xposed使用
- 如果待hook的函数的参数无法找到,怎么办?
- JNI的函数怎么hook
- 怎么脱壳
- 安卓app常见都有什么洞?举例说明几个
Python:
- python 协程的要点,关键字等
- thread死锁的产生原因
- thread几种锁都有什么,都有什么区别
- epoll,select等eventloop的区别
- 同步异步,多线程等相关问题
- 设计模式?单例模式,工厂模式等主要应用?
- 多线程/多进程区别,你怎么选择?网络io/cpu io的区别
- 来个翻转二叉树,左树和右树互相交换,反正你知道
- 来个二叉树的深度的计算,一个节点长度为1,输出最长的深度
杂项:
- nmap的扫描方式
- 针对运营商劫持,原理是什么,你的解决方案是什么
- 怎么防止反弹shell
工作经历
- 为什么从上家公司离职
- 你认为挖到的最好的漏洞有什么
- 职业规划/技术成长点