红队面试题详细解析(五)【81-100题】
红队面试题详细解析(五)【81-100题】
81. JNI 函数在 java 中函数名为 com.didi.security.main,C 中的函数名是什么样的?
原理:
- JNI函数名格式为:Java_包名_类名_方法名,包名中的点替换为下划线。
举例:
- Java_com_didi_security_main_方法名
进阶:
- 方法签名需匹配,参数类型也需遵循JNI规范。
82. Frida 和 Xposed 框架?
原理:
- Frida:动态插桩工具,可实时修改和监控App行为。
- Xposed:Android框架,支持模块化修改系统和App功能。
举例:
- Frida用于逆向分析、绕过安全检测;Xposed用于安装模块实现广告屏蔽。
进阶:
- Frida跨平台,Xposed需root,安全测试常用。
83. SSRF 利用方式?
原理:
- 服务器端请求伪造,攻击者诱导服务器访问内网或敏感资源。
举例:
- 提交URL参数为内网地址,服务器帮忙访问并返回结果。
进阶:
- 可用于内网探测、攻击云服务、获取敏感信息。
84. 宏病毒?
原理:
- 利用Office宏脚本传播的病毒,自动执行恶意代码。
举例:
- Word文档嵌入VBA脚本,打开后自动下载木马。
进阶:
- 防御:禁用宏、开启杀毒软件、限制脚本执行。
85. APP 加壳?
原理:
- 给App加上保护层,防止逆向分析和破解。
举例:
- 使用加壳工具(如梆梆加固)保护APK。
进阶:
- 加壳可被脱壳工具破解,需结合多重防护。
86. 勒索软件 Wanacry 的特征?蠕虫、僵尸病毒
原理:
- Wanacry利用SMB漏洞传播,自动加密文件索要赎金。
- 蠕虫:自我复制传播。
- 僵尸病毒:感染主机后受控于攻击者。
举例:
- Wanacry爆发时全球大量电脑被加密。
进阶:
- 防御:及时打补丁、关闭不必要端口、备份数据。
87. ARM32 位指令中,返回值和返回地址保存在哪个寄存器中?
原理:
- 返回值一般保存在r0寄存器,返回地址保存在lr(r14)寄存器。
举例:
- 函数调用结束,r0存结果,lr用于返回。
进阶:
- 汇编分析时重点关注这两个寄存器。
88. HTTPS 握手过程中用到哪些技术?
原理:
- 非对称加密、对称加密、数字证书、消息摘要。
举例:
- 用RSA/ECC交换密钥,用AES加密数据,证书验证身份。
进阶:
- 握手过程包含算法协商、证书校验、密钥生成。
89. Linux 中 PHP 环境,已知 disable_functions=exec,passthrupopen,proc_open,shell_exec,system,
原理:
- PHP配置禁用危险函数,防止命令执行漏洞。
举例:
- 禁用exec、system等函数,提升Web安全性。
进阶:
- 可用其他函数绕过,如putenv、mail、curl等,需全面审查。
90. 请写出两种有可能实现任意命令执行的方式?
原理:
- 利用代码注入、文件包含、反序列化等漏洞实现命令执行。
举例:
- PHP代码注入:
eval($_POST['cmd']); - 文件包含漏洞:
include($_GET['file']);,传入恶意文件路径。
进阶:
- 防御:输入校验、关闭危险函数、最小权限原则。
91. Android APP 逆向分析步骤一般是怎么样的?
原理:
- 获取APK,反编译,分析代码和资源,定位关键逻辑,动态调试。
举例:
- 用apktool反编译APK,用JD-GUI查看Java代码,用Frida动态分析。
进阶:
- 结合静态和动态分析,关注加密、网络、权限等模块。
92. sql 注入 的分类?
原理:
- 常见分类:联合查询注入、报错注入、布尔盲注、时间盲注、堆叠注入。
举例:
- 报错注入:利用数据库报错信息获取数据。
- 盲注:无回显,通过页面变化或延时判断。
进阶:
- 复杂场景需结合多种注入方式。
93. sql 注入的预防?
原理:
- 参数化查询、输入过滤、最小权限原则、关闭报错信息。
举例:
- 使用预编译语句(如PDO、PreparedStatement)。
进阶:
- 定期代码审计,使用安全框架。
94. 序列化与反序列化的区别
原理:
- 序列化:对象转为字节流,便于存储和传输。
- 反序列化:字节流还原为对象。
举例:
- PHP的serialize/unserialize,Java的ObjectOutputStream/ObjectInputStream。
进阶:
- 反序列化漏洞可导致远程代码执行。
95. 常见的中间件漏洞?
原理:
- Weblogic、Tomcat、Nginx、Apache等中间件存在目录遍历、远程命令执行、反序列化等漏洞。
举例:
- Weblogic反序列化漏洞,Apache Struts2远程命令执行。
进阶:
- 定期升级补丁,关闭不必要功能。
96. 内网渗透思路?
原理:
- 信息收集、横向移动、权限提升、数据收集、痕迹清理。
举例:
- 获取域控信息,利用弱口令、漏洞横向渗透。
进阶:
- 利用钓鱼、社工、漏洞组合拳提升渗透效率。
97. OWASP Top10 有哪些漏洞
原理:
- OWASP Top10是Web安全十大高风险漏洞榜单。
举例:
- 包括:注入、XSS、身份认证、敏感信息泄露、访问控制、安全配置、跨站请求伪造、组件漏洞、日志和监控不足等。
进阶:
- 定期关注OWASP更新,结合实际项目防护。
98. 正向代理和反向代理的区别
原理:
- 正向代理:客户端通过代理访问外部资源,隐藏客户端信息。
- 反向代理:代理服务器接收外部请求,转发给内部服务器,隐藏服务器信息。
举例:
- 正向代理:科学上网。
- 反向代理:Nginx做Web服务器前端。
进阶:
- 反向代理常用于负载均衡、安全防护。
99. 蚁剑/菜刀/C 刀/冰蝎的相同与不相同之处
原理:
- 都是WebShell管理工具,支持远程控制和文件管理。
- 区别在于协议、加密方式、免杀能力、兼容性。
举例:
- 冰蝎支持加密传输,免杀能力强;蚁剑插件丰富,兼容性好。
进阶:
- 实战中根据目标环境选择合适工具。
100. 正向 SHELL 和反向 SHELL 的区别
原理:
- 正向Shell:攻击者主动连接目标主机,目标开放端口。
- 反向Shell:目标主机主动连接攻击者,绕过防火墙限制。
举例:
- 反向Shell常用于目标主机出网,攻击者监听端口。
进阶:
- 反向Shell更隐蔽,适合受限网络环境。