整理了一些各个厂商的一些面试问题
题目不分中级还是初级,题目不分前后,总的来说,唬得住5000,唬不住500,给的回答仅供参考
开头
- 简单的做个自我介绍
xxxxx(此处省略若干字,最主要是说了自己在漏洞平台擅长挖掘的漏洞类型以及src经历,一些项目经验,吹点牛就行)
- 看到你简历上面有说有过项目经历,可以简单说说当时做的工作嘛
你好,对的之前在xx地方参加过小型的护网项目,当时工作主要是查看设备告警信息,封ip,不能判断的提交研判组。。。。。
- 平时的话有挖过一些漏洞嘛
有,我比较擅长于逻辑漏洞的挖掘,在edusrc,补天,盒子都有过提交
- 了解哪些常见的漏洞?
注入、xss、xxe、敏感信息泄露、SSRF、身份验证失效等等。
- hw经历
- 分享护网成功防御的一次案例
- nmap syn命令
nmap -sS
web
逻辑
- 那你说说几种常见的逻辑漏洞吧
验证码相关的,例如重复利用,验证码无效等,越权漏洞
- 你说说你对于越权的内容,还有越权的话,一般是怎么判断出来的
越权分为水平越权和垂直越权,一般越权的判断的话,例如修改一些参数值,id为0还是1、admin为true还是false等
sql注入
- sql注入漏洞有挖到过不,盲注如果sleep()函数禁用,你怎么办
挖到过,使用可以起同样功能的函数代替,比如benchmark()函数
- 列举一下常用的报错注入的函数
floor()函数、exp()函数、updatexml()函数、join()函数、extravalue()函数
- 当sql注入时,遇到waf怎么绕过
大小写、编码、内联注释、关键字替换等
- 了解过 redis 数据库和常见的漏洞吗?
redis 是一个非关系型数据库,使用的默认端口是 6379。常见的漏洞是未授权访问漏洞,攻击者无需认证就可以访问内部数据,也能getshell。
- sqlmap用的命令5个
- sql注入防范
预编译
- sql盲注优化
二分法,或者 load_file 用 UNC 路径发起请求,走 smb
- redis
- windows和linux利用redis有什么不一样
持久化机制的不同:在 Windows 和 Linux 上,Redis 的默认持久化机制不同,需要注意其差异,以便利用它们进行攻击。
- redis如何getshell
a. ssh写公钥
b. 利用数据备份功能
c. kali 写 webshell,写计划任务,写 ssh 公钥 windows 写 webshell,开机启动项
文件上传
- 文件上传黑名单 不许 php1-7 nginx服务器绕过
- 为什么aspx的权限会比asp的权限更高
aspx通常在身份是受信任的安全性上下文中运行,asp是。net框架受到CAS的限制
XSS
- xss原理以及有几种类型的xss
攻击者在网页插入恶意的js代码,当受害者访问页面时,触发代码完成攻击
3种
但我个人认为是2种,这得看你怎么分,dom类型从哪攻击
- 同源策略是什么
同协议、端口、域名,可以共享cookie,提高用户的体验性
- 修复建议
输入转移过滤,输出实体化
反序列化
- 能简单的讲一下反序列化漏洞吗?
序列化是指程序将对象转化为字节序列从而便于存储运输的一种方式,反序列化则与其相
反,即将字节序列转化为对象供程序使用。程序在进行反序列化时会调用一些函数,比如常见的
PHP 反序列化函数 unserialize()以及一些常见的魔术方法,比如构造函数_construct(),析构函数_destruct(),_wakeup(),_toString(),_sleep()等等。如果这些函数在传递参数时没有进行严格的过滤措施,那么攻击者就可以构造恶意代码并将其序列化后传入函数中,从而导致反序列化漏洞
- log4j
- 了解过 log4j 吗?
apache 的远程代码执行漏洞,修复方法就升级一下版本A2:流量特征 JNDI(rulel $(jndi:ldap://)、rule2 $(jndi:rmi:// )
- log4j特征,如何判断他是否攻击成功
- shiro
- shiro 550 721 有什么区别
Shiro 550:这是一个反序列化漏洞,攻击者可以通过构造特定的序列化数据包来执行任意代码。这个漏洞的影响范围相对较小,只存在于Shiro-1.2.4之前的版本中。
Shiro 721:这是一个身份验证绕过漏洞,攻击者可以通过伪造身份验证信息来绕过身份验证控制。这个漏洞的影响范围较大,影响Shiro的多个版本,包括1.2.x、1.3.x和1.4.x。
+Shiro550利用链
通过在cookie的rememberMe字段中插入恶意payload,触发shiro框架的rememberMe的反序列化功能,导致任意代码执行。
- shiro攻击成功流量特征
返回的流量包是base64加密的
- shiro721的几个出网协议?
jndi,ldap,rmi
- shiro原理及利用过程
AES加密的密钥Key被硬编码在代码里,意味着每个人通过源代码都能拿到AES加密的密钥。利用流程:攻击者构造一个恶意的对象,并且对其序列化,AES加密,base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行解密并且反序列化,最终造成反序列化漏洞
- fastjson
- 讲一下fastjson
autotype再处理json的时候,没有对@type进行安全验证,就可以传入危险的类,远程连接rmi主机,反弹shell之类的操作。
- fastjson不出网怎么打
- fastjson的指纹
@type,然后大部分版本???payload还有autocommit:ture
- 怎么判断是否是fastjson
非法格式报错
- T3 cc
T3 cc链的利用,T3协议加上java反序列化,特征adminserver.log中有invoketransformer和chainedtransformer字段,T3CC利用原理好像是weblogic调用rmi服务传递对象时对参数没过滤完全,而中间T3协议对传递的字符串只能增加黑名单
socket登录就会有socket字段
文件操作的话会有fileoutputname字段
特征:数据内包含t3字段,类似:t3 12.2.1\nAS:255\nHL:19\nMS:10000000\nPU:t3://us-lbreens:7001\n\
xxe
命令执行、代码执行
- php危险函数
eval,asset,exec,shell_exec,system
csrf、ssrf
- 修复建议
- 禁止跨域
- 禁用curl协议等函数
- 限制请求ip和端口
- 协议
gopher,dict,file
漏洞
- struts2漏洞了解过吗
- nmap的漏洞
- CRLF注入
CRLF 注入指的是攻击者利用回车符(Carriage Return)和换行符(Line Feed)在应用程序中注入恶意内容的一种攻击方式。攻击者通常会在输入数据中注入 CRLF,从而破坏应用程序的正常逻辑,并执行恶意操作,如执行未授权操作、盗取用户数据等。
安全设备
- 了解过安全设备吗?
搭过微步的 Hfish 蜜罐,安全狗 waf,看过告警日志,用 excel 创建透视表来统计告警日志聚合的维 度, 比如源 ip+攻击类型双维度,观察源 ip 触发的攻击类型,如果有多个就是被扫描器扫描了 攻击类型+源 ip 双维度,观察指定的攻击类型,然后快速得出触发这个类型的源 ip 攻击类型+源 ip+目的 ip,快速找出针对业务系统 ip 进行攻击的高位源 ip 攻击类型+源 ip+目的 ip+时间四个维度,分析攻击者什么时段做了什么攻击,对攻击者进行画像
- 有用过安全产品吗?
安全狗,本地安装过A2:ips、ids、天眼-态势感知,查查资料了解一下
- 用过的安全产品?
WAF、IDS、IPS、SOC、SIEM、上网行为管理
应急响应
- 应急响应流程
准备阶段:做好预案
排查思路:产生异常的时间、通过现象判断类型
检查账户、网络连接、进程、日志信息、系统启动项之类
看一下有没有远程登陆,如 4624:账户成功登录
- 不给你工具,怎么进行webshell查杀
查看日志、手工检索文件,查看可疑文件内容,看流量告警,linux上还可以使用相关命令来查找,例如find命令等。
- 了解过冰蝎吗,流量特征
1.Accept: application/json, text/javascript
2.Content-type: Application/x-www-form-urlencoded
3.eval($post);
4.e45开头的 16 位 md5 值(可变,这个是默认密码 Rebeyond 的 md5)
ⅱ. 冰蝎2.0会有俩密钥,第二个为真实连接密钥,第一个为测试
使用AES加密发送三次请求,第一次请求服务器产生密钥写入session,session和当前会话绑定,不同的客户段的密钥也不同
第二次请求为了获取key,第三次使用key的AES加密进行通信
ⅲ. 冰蝎3.0
- 使用AES加密发送两次请求。3.0分析流量发信相比2.0少了动态密钥的获取的请求,不再使用随机生成key,改为取连接密码的MD5加密值的前16位作为密钥
一次请求为判断是否可以建立连接,少了俩次 get 获取冰蝎动态密钥的行为,第二次发送phpinfo等代码执行,获取网站的信息
四. 冰蝎4.0
1.可以自定义密钥了
- 蚁剑流量特征
- 已知有内存马如何去排查
- 内存马怎么手工排查,不用工具,怎么手动杀内存马
- 几万条告警,怎么快速找到攻击成功的告警,哪些是误报
- webshell杀了以后,还有外连流量怎么办
- 应急怎么做
- linux的日志存放在哪个目录下
/var/log/
- windows事件ID一般是多少
安全事件:Windows 安全事件的事件 ID 通常是 4xxx 或 5xxx,例如登录成功的事件 ID 为 4624,登录失败的事件 ID 为 4625。
应用程序事件:Windows 应用程序事件的事件 ID 通常是 1xxx 或 2xxx,例如应用程序崩溃的事件 ID 为 1000,应用程序启动的事件 ID 为 1001。
系统事件:Windows 系统事件的事件 ID 通常是 7xxx 或 8xxx,例如系统启动的事件 ID 为 6009,系统关机的事件 ID 为 1074。
- wirshark语法
http.request.method==“POST”
- 蠕虫病毒
- 特点
扫描,攻击,复制
- 传播方式
利用漏洞、邮件、smb、弱密码
- 挖矿病毒
- top
netstat -antlp|more
lsof -p pid
取消挖矿程序定时任务、结束挖矿进程、删除挖矿执行脚本
溯源
- 看你简历还写了溯源,能简单说一说?
攻击者漏洞利用数据包特点(字符串格式、特殊字符串等,留存记录,下一次类似的话作为参考)攻击者使用特有漏洞利用工具时,可能在请求包中存在公司或个人信息
钓鱼邮件可能存在个人信息(发送方账号信息)
- 给一个ip怎么溯源到真人
- 给你一个内网ip,告警的内网ip,怎么快速定位到他在哪栋楼哪层
- 溯源,外国ip怎么溯源,国内ip怎么溯源
- 溯源会用些什么工具或者在线网站,都可以说说
内网
- 拿下内网主机如何判断它的权限
whoami /all
- 你知道使用猕猴桃的时候需要什么权限吗
系统权限
- 白银票据和黄金票据的区别
白银票据(NTLM值):只能针对服务
- 黄金票据的作用
krbtat 账户登陆对方,对方很难发现结局
- 域控一直开着的端口
389
- 域控确定
- 定位票据分发服务
- net time /domain
- 只开放80的web有木马如何打隧道
- 正向代理工具
- 端口复用
渗透
- oracle 端口号
1521,5500
- 给一个3306端口有什么思路
- 常用的服务和对应的端口
- cdn绕过
w8fuckcdn
- CobaltStrike
- cs隐藏流量的方法
域前置,域隐藏,云函数
- cs插件
梼杌,谢公子、欧拉、巨龙拉冬
- mimikatz免杀
改特征码,改变量名,加密加壳,加花指令,封装函数
- socks 代理能不能去 ping?
不能,介于传输层和会话层之间,用 tcp 传输数据,不支持 icmp,不能用 ping
- windows 怎么命令行下怎么下文件 ?
certutils,bitsadmin,powershell
- linux提权
脏牛提权,suid提权,用find命令提权,rbash,git提权,sudoer提权
提权总结(linux/windows)
- 服务漏洞
a. webloogic漏洞说一说
ⅰ. 14882+14883组合拳,14882做一个未授权访问,登到控制台,然后通过14883命令执行,写一个xml文件把命令写进去,让它去访问你的vps然后加载xml。
b. dns隧道流量特征
ⅰ. https://www.freebuf.com/articles/security-management/214923.html
c. .tomcat 漏洞
ⅰ. 任意文件上传,文件包含,未授权,弱口令,war 后门
- 渗透攻击流程
a. 明确目标
b. 分析风险,获得授权
c. 信息收集
d. 漏洞探测(手动&自动)
e. 漏洞验证
f. 信息分析
g. 利用漏洞,获取数据
h. 信息整理
i. 形成报告
- 云函数前置攻击
- 域前置
是一种隐藏连接真实端点来规避互联网审查的技术
免杀
- svchost
svchost 进程是 Windows 系统中的一个通用进程,它主要用于承载 Windows 服务。
svchost 进程会根据运行服务的用户权限不同,而产生不同的实例,例如:
Svchost.exe(LocalSystem) - 运行系统服务的实例
Svchost.exe(NetworkService) - 运行网络相关服务的实例
Svchost.exe(LocalService) - 运行与本地用户相关的服务实例
- go语言免杀常见的api
VirtualAlloc:在内存中分配可执行代码的空间。
RtlCopyMemory:将代码从加载器传递到虚拟内存中。
CreateThread:创建一个新线程,可以在其中执行代码。
SetThreadContext:设置线程上下文,以便将代码的执行流程引导到已分配的内存空间。
VirtualProtect:将已分配的内存空间标记为可执行的。
NtProtectVirtualMemory:对虚拟内存进行保护,以防止杀毒软件修改代码。
NtCreateThreadEx:创建一个新线程,并在其中执行代码。
WriteProcessMemory:将代码写入另一个进程的虚拟内存中。
CreateRemoteThread:在另一个进程中创建一个新线程,并在其中执行代码。
ZwCreateThreadEx:创建一个新线程,并在其中执行代码,可以与NtCreateThreadEx结合使用。
如果有帮助欢迎打赏催更
剩下的看看就行了
shiro与springSecurity的区别是
springSecurity怎么防范csrf的
shiro记住密码功能是怎么实现的?
springSecurity单点登录的原理
mybatisPlus存在sql注入的api及其出现漏洞的原理
order服务需要用户数据,然后会通过,用户ID请求user服务,获取数据,这样做需要注意什么?
springGateWay路由分发的流程
条件竞争是什么?为什么会出现?怎么解决?
内部服务需要进行通信,怎么安全的设计通信规则?
fastjson怎么将json转换成对象的,简单描述一下
对权限的控制,有哪几种方式?分别描述一下
对于敏感的功能,怎么安全的设计前后端通信规则。
验证码功能,如果验证成功之后,验证码没有被销毁,会出现什么问题?
对于需要处理数据库返回的上亿条数据,应该怎么高效的进行处理?
对于必须要使用${}来修饰的数据不能使用#{}替代,怎么防止可能存在的安全风险?
说几条反序列化链触发流程?
全局过滤xss,sql有没有什么可绕的方法?
二次注入有没有遇到过?怎么审计?
说一下你代码审计的流程
fastjson为什么会造成反序列化?
jndi访问目录说一下
jndi绕过高版本说一下
组件的信息泄露有了解过吗?怎么审计?
文件下载检测../怎么绕过?
文件上传白名单怎么绕过?
xxe利用的话,用哪种协议最好利用,没有限制?
ssrf怎么利用?有哪几种利用方式?
文件上传,上传到oss服务可能会存在的问题?
hibernate的sql注入是怎样的?
hibernate的防止sql注入是怎样做的?
除了组件漏洞外,你有没有到项目中审计过rce漏洞?
jvm的一些高版本绕过说一下?
你有多少个0day?
1、go语言免杀shellcode如何免杀?免杀原理是什么?
2、windows defender防御机制原理,如何绕过?
3、卡巴斯基进程保护如何绕过进行进程迁移?
4、fastjson不出网如何利用?
5、工作组环境下如何进行渗透?详细说明渗透思路。
6、内存马的机制?
7、不出网有什么方法,正向shel l 方法除了reg之类的,还有什么?
8、什么是域内委派?利用要点?
9、shiro漏洞类型,721原理,721利用要注意什么?
10、hvv三大洞?
11、天擎终端防护如何绕过,绕过思路?
12、免杀木马的思路?
13、jsonp跨域的危害,cors跨域的危害?
14、说出印象比较深刻的一次外网打点进入内网?
15、rmi的利用原理?
16、域内的一个普通用户(非域用户)如何进行利用?
17、宝塔禁止PHP函数如何绕过?
18、证书透明度的危害?
19、内网渗透降权的作用?
20、webshell有system权限但无法执行命令,怎么办?
21、TrustedInstall权限的原理是什么?
22、2008的服务权限如何进行提权?
23、Windows UAC原理是什么?
24、Windows添加用户如何绕过火绒以及360?
25、如何伪造钓鱼邮箱?会面临什么问题?
26、分别说出Windows以及Linux提权方式。
27、分别说出redis、weblogic、Mongodb、Elasticsearch、ldap、sambda、Jenkins、rmi默认端口。
28、XSS如何配合组合拳进行getshell。
29、烂土豆提权使用过吗?它的原理?
30、powershell免杀怎么制作?
31、提取内存hash被查杀,如何绕过?
32、shellcode免杀思路说一下?
33、分别说下linux、windows的权限维持?
34、如何开展蓝队工作?如何开展红队工作?
35、大型网络渗透经验是否有?
36、如何把shellcode嵌入到正常exe中?
37、描述下Spring框架的几个漏洞?
38、说下strust2的漏洞利用原理