58同城 安全工程师 一面凉经

1. 你先做个自我介绍吧

2. 假如说有个SQL注入如下

select * from user where userid = {};
  1. response里面没有返回内容
  2. 1s就超时了,直接返回404页面

这种情况下如何注入?

我: 我没有更好的思路了
面试官: 这个时间盲注1s钟嘛,可以用更小单位一点的

select * from user where userid = 1 or 1=1 and sleep(0.0.1);

即使sleep很小一个值, 如果user表够大的话, 还是会超时

所以可以用一些嵌套查询的方式去做, if语句之类的

3. 比如说我写一个安全SDK

1. sql注入的修复, 怎么写(伪代码)

我: 我倾向于使用预编译的方式
面试官: 但是预编译的话, 研发可能不会用怎么办呢, 就是说如果他觉得改起来太麻烦了能不能更方便一点. 因为预编译的话, 我每条SQL每条查询都得去改.

我: 那设计一个白名单怎么样呢
面试官: 那你大概写一下怎样设计一个白名单. 你可以分场景, 比如说什么场景什么场景的SQL注入, 或者是参数里面应该做什么操作

2. xss的修复, 怎么写(伪代码)
我: 用实体化转义
面试官: 但是我们有一个场景啊, 你看我们上传简历这里, 有时候会支持上传html的简历, 对吧. 他本身业务就需要用到html, 如果用html实体化转义的话, 他全都会被转义, 那这样的话业务就崩了嘛, 对不对. 那这种情况下我们要怎么样去写一个xss的过滤, 或者是说转义, 去解决这个类似于简历这个场景. 你可以想一想, 写不出来代码也没关系.

我: 白名单限制, 黑名单过滤.
面试官: 其实我们自己是这样做的, 对于这种情况, 我们第一是会做一个html标签的白名单, 第二是事件的白名单. 黑名单我们就不搞了.

3. rce的修复, 怎么写(伪代码)(java或者python的命令执行)
我: 白名单限制, 只允许需要的函数. 但RCE的话我感觉在业务场景当中, 一般来说也不是很容易出现
面试官: 欸, 我们就出现了很多. 尤其是运维部门.

我: 我打CTF比较多, 我了解的RCE都是PHP方面的. 比如说system, popen之类的. 一般来说都是直接做过滤
面试官: 那PHP中这些函数全部被黑名单了, 你还有什么方法

我: 字符串拼接 $a=p.h.p.i.n.f.o()
面试官: 你有没有用过php里面的反引号啊

我: 还有用 chr() 函数来绕过
面试官: 编码是吧

4. xxe的修复, 怎么写(伪代码)
我: 对XXE来说, 我只了解他的攻击方式, 对他的防御不是很了解. 攻击方式就是做XML的外部实体化注入. 一个攻击模板, 可以读文件, 可以做命令执行
面试官: XXE怎么做命令执行呢, 就拿php来说, XXE怎么做命令执行

我: emmmm, 这个想不起来了
面试官: XXE这个命令执行是要他的服务端本身支持某些特殊的协议, 一般来说是不行的

4. 了解过自动化代码审计的工具吗, 类似于fortify这种

我: 我只用过那个一个比较老的那个, 我想不起来了(指seay)
面试官: 没关系, 那你有没有了解过他的一些原理, 大概怎么做的

我: 他原理一般都是通过匹配一些特殊函数, 去定位可能出现漏洞的函数的位置
面试官: 但这种的话他误报很高欸, 就像我这种RCE的话, 你直接匹配的话他很多都是误报了, 很多他都不是web思路的

我: 还有一种是, 给他加一些自定义规则
面试官: 那有没有更好的办法呢, 误报太多了我们没办法接受啊

我: 我有一个想法就是, 他自己匹配了之后, 能不能从前端从一个黑盒的层面再去验证一遍
面试官: 那黑盒验证, 我就有需求是, 首先我得知道, 首先我php里面我这个函数到底是哪个入口传进来的, 对吧. 但这个有可能经过了层层调用, 甚至有可能是include()这种, 那这种的话, 对于我来说 , 我并不知道他影响到了哪一些入口, 这种情况怎么办呢

我: 巴拉巴拉阿巴阿巴
面试官: emm那个, 你们学校有学编译原理吗

我: 额, 没有
面试官: 那, 那可以理解了. 但是其实我觉得安全专业还是要学一下编译原理

面试官: 其实是这样的, 我们也会自建这种自动化代码审计工具嘛, 他大概是什么原理呢, 因为我们做的是java的, 他是在java编译的过程中, 他会去搜集他的编译的过程信息, 比如说他类与类之间的关系. 然后他会有一个3d字码这样的东西, 他会更贴近于机器码, 他就不是java的AST啊这种. 3d字码对应的每一个函数和方法之间的引用, 或者是每个java文件和java文件之间的引用, class和class之间的关系, 他会组成一张很大的图, 这样的话你有一个这样很大的图的话, 你再去看哪些是满足参数是外部输入的, 以及他哪一些比如说像, 他这是一个污点分析的模型嘛, 他有个source think join函数这么一个模型, 当这两点存在一个通路的时候, 我们就认为他这两点存在一个漏洞, 那这样的话其实他精度就非常高了, 这是跟他的代码的数据流相关的, 他数据流存在, 我才认为他是有问题的, 比那种正则匹配的精度会高非常多. 主要原理就是编译原理中, 在他的编译过程中收集源代码信息. PHP也能做, 可以通过他的AST语法树去做, 因为PHP是边运行的时候边编译的.

5. 有没有搞过linux的这种后渗透相关的

面试官: 比如这个linux被我攻陷了, 我想去拿到更多的信息, 比如说一些横向的信息, 那种有没有搞过
我: 这种不是很了解, 但windows的会一点

面试官: 那你可以简单讲一下, 比如你先攻陷一台windows的机器, 然后我想在这个windows的域内去做一些横向移动, 我想把这个windows的域的权限给拿到, 这种你该怎么做
我: 通过票据伪造, 白银票据和黄金票据
面试官: 你这个票据伪造要怎么做呢
我: 一般用mimikatz就可以了吧

面试官: 你mimikatz抓取的是内存里面的密码和一些他的票据, 那我如果本身是低权限的呢, 就我本身抓不了密码, 或者我抓到的用户密码并不是域账号的, 是一个低权限账号呢. 因为大部分渗透进来都是个应用, 应用他可能并没有域权限
我: 从低权限往上提

面试官: 那你一般会怎么提权
我: 一般windows的漏洞吧
面试官: 那现在就用这个windows系统的提权, 我现在就一个webshell, 那我怎么样去提权

面试官: 你可以这样嘛, 你上传一个提权的脚本或者exe嘛, 你webshell去跑这个exe, 他就把这个web应用权限提权了

6. 那你最后有什么想问我的吗

我: 我想问一下, java的业务, 做java安全大概是怎样的一个思路

面试官: java安全分甲方和乙方,
甲方的话其实他更多的是一些正向的建设, 就是说我怎样去保证整个甲方的应用安全, 那我们这边其实是分了好几块,

  • 一块是我们黑盒扫描器, 就类似于AWVS这种, 我们会把我们的整个镜像流量镜像下来, 然后把cookie去掉或者替换成自己扫描器的cookie去进行一个扫描.
  • 第二种是我们会去做一个白盒扫描器, 我们会根据这个污点分析的逻辑去做这个漏洞的扫描.
  • 第三个就是我们会有一个java agent, 他会去动态的捕捉, 比如说测试环境里面, 我们就会去把他很多比如说request方法, system方法, runtime, exec... 等等这种我们认为是危险的, 甚至说是入口函数的, 全部破坏掉. 配合我们的黑盒, 以及它本身的流量, 因为他本身的流量是满足这么一个污点分析的过程的, 这样我们可以去把他的漏洞给找出来.
  • 最后一步呢, 就是我们会去结合这个IDS或者是HIDS, 我们去在这个线上应用里面去插一个ISP, 这样就可以补充流量里面 (如果没有ISP, 我们整个反入侵是缺少应用内信息的, 我们只有流量信息和主机里面的一些行为, 他缺少应用内行为) 我如果我在ISP里面插入java agent, 去hook他的危险函数, 那我其实可以把他的每条流量, 应用里面发现了什么, 他的堆栈信息是怎么样的, 到了主机层他又发生了什么事情, 全部串联起来. 那我可以完成一个一条流量的完整攻击链路. 可能会比较贴近各个领域的需求吧, 比如说RST, 我们可能认为是个反入侵的技术, 其实本质上还是java安全.

乙方的话我认为比较偏向一个java漏洞的利用和研究和攻击吧, 以及他的java漏洞的后渗透, 比如我有一个seiruo. 我怎样能很快的发现这个问题, 以及怎样去获取到持久化的权限, 怎么样一键的去维持这样的权限, 怎么样去横向扩展, 以及攻击思路自动化的这种需求

#2021届秋招进度交流##58集团##安全工程师##面经#
全部评论
哈哈,这个面试官也太有趣了吧,请问楼主有下文了吗
1 回复 分享
发布于 2021-10-07 20:02
老哥校友啊😂我也面58呢
1 回复 分享
发布于 2021-10-08 00:33
哈哈哈有好几个问题一模一样,老哥冲!
点赞 回复 分享
发布于 2021-11-08 00:37
感觉这个面试官好好啊
点赞 回复 分享
发布于 2022-05-21 11:55
这个面试官很好了,很多面试官都是你说了他就嗯一下,也不说你回答对了还是错了,只有少数面试官愿意和你讲原理
点赞 回复 分享
发布于 2022-05-24 10:37
完蛋,好像都会点又好像都不会
点赞 回复 分享
发布于 2022-10-20 20:28 湖北

相关推荐

20 69 评论
分享
牛客网
牛客企业服务