二进制安全面经汇总

先介绍一下本人情况 985本,安全科班,上大学才开始接触的二进制安全,三月初开始准备春招,主投安全岗,辅投开发岗

主力语言C/C++/Python,接触过C#和java,涉猎比较广,各个领域都有过接触。安全能力上二进制接触比较多,web有过了解,主要经历在安全系统研发方面。

不得不说的是安全岗就业面确实比较窄,我原本以为自己很热爱安全,现在有一点点怀疑了

话不多说,上干货!

(我个人总结面经比较喜欢按主题模块分类,不是很喜欢以公司来分类的,所以将各个公司面经都整合成一个了,遇到新问题就往里面加)

C/C++逆向开发

  1. C/C++结构体大小如何计算?
  2. C++的结构体和C的区别?
  3. new和malloc的区别(delete和free的区别)
  4. 如何找到main函数?(这里要继续细分,win32桌面程序,控制台程序,linux下的命令行程序)
  5. 构造函数与析构函数调用时机
  6. C/C++编程有没有遇到的安全问题(我讲的一个浅构造导致的double free)
  7. 重载如何实现(静态函数名重载,动态虚函数重写)
  8. 虚函数如何实现?(重点,几乎必问,虚表指针位置)
  9. 虚继承/多重继承的内存结构(VC和G++中虚继承中虚表结构不太一样,这里我研究过,扯了一大堆)
  10. switch的实现与优化(难点)
  11. try-catch的实现与优化(难点,会顺着问到windows异常处理机制)
  12. 三种循环哪种效率最高?
  13. 32位下调用约定有哪些?(stdcall c标准调用 fastcall thiscall)
  14. 64位下调用约定?(VC:rdx rcx r8 r9,GCC: 多rdi rsi)

二进制逆向(反调试/脱壳/免杀/挂钩/注入)

这部分为安全岗面试重点

  1. 32位程序如何在64位机器上运行?
  2. PE格式(重点,几乎必问)
  3. PE装载进内存执行的过程(重点,内存对齐,IAT表建立,重定位)
  4. 知道哪些反调试手段?(SEH,反断点,查调试环境)
  5. gdb/od基本命令
  6. 调试器原理(三大断点实现)
  7. 如何脱壳(压缩壳/加密壳/虚拟化壳)
  8. 为什么脱完壳要修复导入表?
  9. 花指令有没有脱过?
  10. 有没有写过IDA脚本(逆向岗位几乎必问)
  11. 如果一个程序没有字符串/字符串被混淆了如何找核心代码?
  12. 内存泄漏如何排除
  13. 有没有做过免杀,怎么做的?(静态二分法定位,思考对面规则怎么写的,动态绕钩子检查,卸钩子,提权走底层)
  14. 沙箱有接触过吗?(并没有...)
  15. 有没有用过虚拟机?(QEMU, VMware Bochs)虚拟化有哪几种方式实现?虚拟机查杀有什么思路过吗?
  16. Hook有哪些方法?(几乎必问,inline hook,函数表hook)
  17. 如果inline hook前几个字节不能正好5字节Patch如何处理?
  18. 分析过哪些病毒样本?病毒分析有什么方法?(问到了深信服的实习)
  19. 特征码怎么提取的?
  20. .NET的实现(因为项目研究过.NET)
  21. flags寄存器有哪些位,有什么作用(OF, ZF, TF, 虚拟位)
  22. 控制寄存器有哪些,有什么作用(可以重点说说CR0和CR3)
  23. 共享内存怎么实现
  24. windows下有哪些注入方式?怎么实现?(重点)
  25. windows下3环向0环的切换过程?
  26. ARM汇编了解过吗(没有...)
  27. 如何防止内存被扫描?
  28. 如何隐藏进程?(说了一个CPU控制区找EPROCESS断链)隐藏之后对进程运行有影响吗?

漏洞利用

楼主pwn菜鸡,web不是很熟悉,说得都是比较基础,不过其实对漏洞利用很熟悉的面试官也不是特别多。

  1. windows/linux基本保护机制(栈执行保护,基址随机化,代码段随机化,栈溢出保护)
  2. 怎么绕过?
  3. pwn的一些印象深刻的题目,或是技巧(这部分如果面试官不是相关领域的建议不要说太深入,太细节的技术很复杂,很难讲懂)
  4. 堆漏洞利用?(double free, UAF)
  5. 栈上漏洞利用有哪些
  6. linux堆管理,glibc/slab/伙伴算法
  7. 脏牛
  8. web漏洞有了解吗?
  9. SQL注入、XSS攻击原理?
  10. ARP欺骗怎么实现的?
  11. 如何判断远端服务器的操作系统?

项目相关

  1. Powershell防御项目讲一下?
  2. 怎么防止无文件攻击?
  3. 分析过哪些脚本病毒?
  4. 加密混淆怎么处理?
  5. 知道哪些加密算法,非对称加密与对称加密的区别?
  6. .NET钩子怎么下的?
  7. 做过流量检测?说说怎么提的特征?
  8. 顺便问到TCP连接建立与释放(典中典)
  9. 问到毕业设计,简述一下你的静态分析算法怎么设计的
  10. 开发过Linux键盘监控?怎么实现的?
  11. windows调试器怎么实现的?(3环API...)
  12. 写过端口扫描工具,怎么实现的?(netfilter框架编程)
  13. ARP Poison怎么写的?(原始套接字,linux上好写一些)
  14. 写过区块链的项目,说一下?(写的Spring + Solidity,但是接触不深,不是很回答上来)

暂时想到这么多,后续有需要进行补充

#面经##春招[话题]##安全岗##安全攻防工程师#
全部评论
牛啊 知识很全
1 回复 分享
发布于 2023-04-25 19:46 陕西
安全就业面确实比较窄。我的技术储备更多是Web渗透测试这方面的,可能也是能力不够吧,拿不到这方面的offer,但是不想去卷前端后端,我宁愿在安全公司做售前。想问问大佬现在是还在等结果吗
点赞 回复 分享
发布于 2023-04-08 20:03 四川
老哥牛哇
点赞 回复 分享
发布于 2023-04-16 23:55 北京
老哥是鹅厂哪里呀 IEG吗
点赞 回复 分享
发布于 2023-04-23 14:46 河北
ieg招安全? 做逆向的么
点赞 回复 分享
发布于 2023-07-23 00:25 上海

相关推荐

不愿透露姓名的神秘牛友
11-19 18:19
点赞 评论 收藏
分享
小嘻米:《包装》,可以到慕课网上学几个项目写到简历上,上面的项目会比黑马高级
点赞 评论 收藏
分享
一面1. go基本八股,有线程和协程的区别(我答的一般,感觉这里可以联系gmp),三色标记法,如何通知goroutine让其关闭,map的底层结构2. mysql基本八股,几种并发问题,对应怎么解决的,索引的结构,你是怎么建立索引的等等(记不太清了)3. mysql执行一条语句的时候突然变得很慢,如何去优化,列举一下可能的原因4. gin框架为什么快5. redis的基本八股,几种数据结构,zset底层6. 问简历上一些项目相关的技术以及具体实现7. 手撕插入区间,思路没问题,但是边界没处理后越界了二面当天就约了二面,我给推到下周一了。二面问的也不是特别难,可以说是八股进阶吧。1. go八股必不可少2. 聊项目,具体怎么实现的,有什么难题,怎么解决的3. redis的集群方案,描述几种方式的架构,再说一些优缺点4. 手撕合并两个有序链表(怎么才easy,我准备算法的时间最长了)5. 聊了聊实习岗位的业务以及相关技术栈6. 面试官当场说oc了,几分钟后hr电话来了魔门塔(‌Momenta)‌不是外企也不是国企,‌而是一家民营科技企业‌。‌以下是关于魔门塔的详细背景信息:‌‌性质‌:‌民营科技企业、‌独角兽企业、‌高新技术企业。‌‌成立时间‌:‌2016年12月(‌北京公司)‌,‌2018年6月(‌苏州公司)‌。‌‌注册资本‌:‌北京公司注册资本为88997.215万人民币,‌苏州公司为84905.7108万美元。‌‌经营范围‌:‌包括科技领域内的技术开发、‌技术推广、‌技术转让、‌技术咨询、‌技术服务等,‌涉及自动驾驶、‌人工智能、‌汽车智能化等领域。‌‌投资与合作‌:‌曾获得多轮融资,‌包括通用汽车的投资,‌用于加速自动驾驶技术的研发和应用。‌总结!实力雄厚!!!!!自动驾驶独角兽Momenta2025届校园招聘开启【公司介绍】Momenta是全球领先的自动驾驶公司,致力于通过突破性的AI科技,创造更美好的生活。【岗位需求】算法、后端开发、前端开发、嵌入式开发、架构集成、中间件开发、系统研发【薪酬待遇】行业独角兽有竞争力的薪资+免费三餐、弹性工作不打卡、米哈游、福利奖金、六险一金、带薪假期、社团活动、定期体检、免费健身房、更多福利等你解锁!【工作地点】苏州、北京、上海、深圳【内推链接】https://momenta.jobs.feishu.cn/s/irAa1chE内推码:YRHKRW8(后续有流程/面试时间上的问题,欢迎随时联系) 投递的uu留下姓名缩写和岗位~我会一一跟进~
Momenta
|
校招
|
24个岗位
点赞 评论 收藏
分享
26 115 评论
分享
牛客网
牛客企业服务