面试之HR的套路

admin 2021年12月31日00:45:23评论67 views字数 6368阅读21分13秒阅读模式

文章来源与互联网,我忘了在哪里看到的了,随手保存了,然后发下公众号

希望能够帮助到正在面试的朋友,如有侵权,联系删除


见过各种套路,如何回答才能让hr满意,但这里我就看心情更新。

  1. 安全人员如何写简历?

看过N个搞安全技术不错的人,就是简历写的跟屎一样。

  1. 自我介绍

大多数安全人员自我介绍是姓名、年龄、无关紧要的问题,你在简历都有写我还听你介绍个毛?

  1. 上家公司为何离职

  2. 之前负责什么

  3. 平时都在干嘛

  4. 什么时候接触安全

  5. 说话交流问题

  6. 自我营销

  7. 你期望的薪资是多少?

  8. 你的优点和缺点

  9. 你对自己有什么规划

  10. 你还有什么问题要问的?

最大的套路

渗透篇

  1. 介绍一下自认为有趣的挖洞经历

挖洞也有分很多种类型,一种是以渗透、一种是以找漏洞为主,如果是前者会想各种办法获取权限继而获取想要的的东西完成渗透目标,这类跟HW类似,目标各种漏洞不算,要有Shell,服务器权限才给分,这才是最接近实战渗透,跟某部门有合作的话也是属于这种打击网络犯罪获得权限、传销数据、组织架构,服务器权限、等......

如果是以挖洞为主,还需要测试每个点的细节,有完整流程,不能遗漏掉任何一个点,这是一个工作责任。

  1. 你平时用的比较多的漏洞是哪些?相关漏洞的原理?以及对应漏洞的修复方案?

SQL注入、密码组合,前者防护分为几种,CDN -> Web -> 数据库 -> 主机,设置最小权限来应对。密码组合根据个人习惯

这类问题大幅度官是想了解哪块技术你用的多,掌握的程度如何。

  1. php/java反序列化漏洞的原理?解决方案?

php中围绕着serialize(),unserialize()这两个函数,序列化就是把一个对象变成可以传输的字符串,如果服务器能够接收我们反序列化过的字符串、并且未经过滤的把其中的变量直接放进这些魔术方法里面的话,就容易造成很严重的漏洞了。

O:7:"chybeta":1:{s:4:"test";s:3:"123";}

这里的O代表存储的是对象(object),假如你给serialize()传入的是一个数组,那它会变成字母a。7表示对象的名称有7个字符。"chybeta"表示对象的名称。1表示有一个值。{s:4:"test";s:3:"123";}中,s表示字符串,4表示该字符串的长度,"test"为字符串的名称,之后的类似。 当传给 unserialize() 的参数可控时,我们可以通过传入一个精心构造的序列化字符串,从而控制对象内部的变量甚至是函数。

JAVA Java 序列化是指把 Java 对象转换为字节序列的过程便于保存在内存、文件、数据库中,ObjectOutputStream类的 writeObject() 方法可以实现序列化。 Java 反序列化是指把字节序列恢复为 Java 对象的过程,ObjectInputStream 类的 readObject() 方法用于反序列化。

  1. 如果一台服务器被入侵后,你会如何做应急响应?

1.准备相关的工具,查后门等工具 2.初步判断事件类型,事件等级。3.抑制范围,隔离使爱害面不继续扩大 4.查找原因,封堵攻击源。5.业务恢复正常水平. 6.总结,报告,并修复、监控

以上是常规的回答,想知道你是否有这方面应急相关的经验,像这类问题甲方面试比较多。

  1. 你平时使用哪些工具?以及对应工具的特点?

  • AWVS、Masscan、BurpSuite

  • AWVS常规漏洞扫描,masscan快速查找端口,burp重复提交数据包

想知道是否有自己开发工具,如果没有你对每个安全工具有哪些独特的见解以及别人不知道的技巧用法。如:awvs如何批量扫描?burpsuite如何爆破401、脱库等、等等...

  1. 如果遇到waf的情况下如何进行sql注入/上传Webshell怎么做?请写出曾经绕过WAF的经过(SQLi,XSS,上传漏洞选一)

PHP上传,无法上传php、解析、后台没有办法拿到,只有一处点可以上传。通过Windows特性shell.php::$DATA,是一个项目管理系统

想知道你遇到WAF是放弃,还是继续研究绕过的这个能力。

  1. 如何判断sql注入,有哪些方法

提交错误语句是否有异常,除此之外这些显示的错误可以通过sleep,修眠语句执行5秒等,除此之外通过DNSlog判断是还有传回值

  1. 介绍 SQL 注入漏洞成因,如何防范?注入方式有哪些?除了数据库数据,利用方式还有哪些?

select * from news where id = '$SQL'; 当程序执行访问新闻等一些操作都会执行到sql语句进行调用,如果在此调用过程中,提交了不合法的数据,而数据库无法识别则会报错。也就是一切输入都是有害的。注入类型有6种,可以参考SQLMAP,报错、盲注、联合、时间、内联、堆叠 注入提交方式:GET、POST、Cookies、文件头 利用方式:具体看什么数据库类型,像SQLSERVER可以命令执行,MYSQL写shell有些权限大也可以执行命令但是条件是在lINUX环境下。防范:边界,CDN -> 脚本语言过滤 -> 数据库过滤最小权限 -> 主机

  1. 为什么有的时候没有错误回显

没有进行错误打印或者错误屏蔽

  1. 宽字符注入的原理?如何利用宽字符注入漏洞,payload如何构造?

在mysql中使用了gbk编码,占用2个字节,而mysql的一种特性,GBK是多字节编码,它认为两个字节就代表一个汉字,所以%df时候会和转义符 %5c进行结合,所以单引号就逃逸了出来,当第一个字节的ascii码大于128,就可以了。

  1. CRLF注入的原理

CRLF注入在OWASP 里面被称为HTTP拆分攻击(HTTP Splitting)CRLF是”回车 + 换行”(rn)的简称,在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦我们能够控制HTTP 消息头中的字符,注入一些恶意的换行

  1. mysql的网站注入,5.0以上和5.0以下有什么区别?

  • 5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名。

  • 5.0以下是多用户单操作,5.0以上是多用户多操做。

  1. php.ini可以设置哪些安全特性

  • 禁用PHP函数

  • 允许include或打开访问远程资源

  1. php的%00截断的原理是什么?

因为在C语言中字符串的结束标识符%00是结束符号,而PHP就是C写的,所以继承了C的特性,所以判断为%00是结束符号不会继续往后执行 条件:PHP<5.3.29,且GPC关闭

  1. webshell检测,有哪些方法

  • grep、关键词、关键函数

  • 安全狗、D盾

  1. php的LFI,本地包含漏洞原理是什么?写一段带有漏洞的代码。手工的话如何发掘?如果无报错回显,你是怎么遍历文件的?

if ($_GET['file']){    include $_GET['file']; }

包含的文件设置为变量,并且无过滤导致可以调用恶意文件 还可以对远程文件包含,但需要开启allow_url_include = ON 通过测试参数的地方进行本地文件/etc/passwd等包含 如何存在漏洞而且没有回显,有可能没有显示在页面而是在网页源代码中,除些可以利用DNSlog进行获取包含的信息。从index.php文件一级级往读取 也可以利用PHP封装协议读取文件

  1. 说说常见的中间件解析漏洞利用方式

  • IIS 6.0

    • /xx.asp/xx.jpg "xx.asp"是文件夹名

  • IIS 7.0/7.5

    • 默认Fast-CGI开启,直接在url中图片地址后面输入/1.php,会把正常图片当成php解析

  • Nginx

    • 版本小于等于0.8.37,利用方法和IIS 7.0/7.5一样,Fast-CGI关闭情况下也可利用。

    • 空字节代码 xxx.jpg%00.php

  • Apache

    • 上传的文件命名为:test.php.x1.x2.x3,Apache是从右往左判断后缀

  1. mysql的用户名密码是存放在那张表里面?mysql密码采用哪种加密方式?

  • mysql -> users

  • SHA1

  1. Windows、Linux、数据库的加固降权思路,任选其一

  • 禁用root

  • 禁止远程访问

  • 禁止写入

  • 单独帐号

  • 禁止执行system等函数

  1. 你使用什么工具来判断系统是否存在后门

  • Chkrootkit

  • Rkhunter

  1. 如何绕过CDN获取目标网站真实IP,谈谈你的思路?

  • 类似phpinfo、网站信息

  • C段、子域名

  • 历史解析记录

  • DDOS

  • zmap全网扫描识别http头

  • 网站域名管理员邮箱,注册过的域名等相关信息关联

  1. 如果给你一个网站,你的渗透测试思路是什么? 在获取书面授权的前提下。

其实这是一个非常大的话题,渗透大部分思路都是如此,而面试官是想听到你回答不一样的答案让人眼前一亮 如何才做到让人眼前一亮都需要看你的经验,把你实践的过程拿出来说,以及遇到什么问题如何解决,最终取得成果 渗透其它大同小异,而做为渗透者知识的储备、基础扎实、耐心、细心都是必不可少。

  1. 谈一谈Windows系统与Linux系统提权的思路?

  • Windows

Windows服务比较多所以方法也如此,最基本的就是Exp提权,数据库SQLServer、MYSQL UDF等、第三方软件提权。除此之外提权的成功与否和在于信息收集也非常重要,你对这台服务器和管理员了解多少。

  • windows权限提升(二)

Linux

Linux也是类似,除了EXP或者高版本的内核无法提权之外,通过第三方软件和服务,除了提权也可以考虑把这台机器当跳版, 达到先进入内网安全防线最弱的地方寻找有用的信息,再迂回战术。

linux权限提升

  • Brief

  • 枚举脚本

  • 以root权限运行的程序

  • 用户安装的软件

  • 弱口令或者明文密码

  • 只能内部访问的服务

  • suid和guid错误配置

  • 滥用sudo权限

  • 以root权限运行的脚本文件

  • 错误的路径配置

  • 计划任务

  • 未挂载的文件系统

  • NFS共享

  • 通过键盘记录仪窃取密码

  • 其它有用的和提权相关的东西

  • 内核提权

  1. 列举出您所知道的所有开源组件高危漏洞(十个以上)

Tomcat Nginx Apache Hadhoop Docker Jenkins Zenoss Jboss MongoDB Redis GlassFish

前端篇

  1. 什么是同源策略?

源就是主机、协议、端口名的一个三元组 同源策略(Same Origin Policy, SOP)是Web应用程序的一种安全模型,被广泛地应用在处理WEB内容的各种客户端上,比如各大浏览器,微软的Silverlight,Adobe的Flash/Acrobat等等。

  1. XSS 能用来做什么?

网络钓鱼、窃取用户Cookies、弹广告刷流量、具备改页面信息、删除文章、获取客户端信息、传播蠕虫

  1. XSS的三种类型,防御方法

反射型、Dom Base XSS、存储型 防御方法这个只能说个大概,毕竟这是一个比较大的话题,而且防御的方法还得看所在的业务等。 从网络层、主机层、Web层、数据库,通过CDN都有过滤常见一些攻击手法,但不能有CDN就以为可以了,添加CDN只是让攻击成本增高,开启HttpOnly,以防确实存在避免cookies被获取,CSP策略、再就是语言中提供的函数对输入过滤,以及输出编码以及ModSecurity类的防火墙。

  1. 存储型xss原理?

如网站留言版,把插入的记录存储在数据库中,插入的代码会一直留在页面上,当其它用户访问会从数据库中读取并触发漏洞。

  1. 你怎么理解xss攻击?

是一种被动型,在不知道的情况下触发类似无感型,在渗透很多情况下平常的渗透手段以及取得目标的信息,而XSS就能轻松获取,类似QQ邮箱你不可能渗透这么大的互联网就算可以时间成本都非常的高,XSS比较有针对性。

  1. 如何快速发现xss位置?

各种输入的点,名称、上传、留言、可交互的地方,一切输入都是在害原则。

  1. Dom xss 原理/防范

DOM型XSS并不需要服务器解析响应的直接参与触发XSS靠的是浏览器DOM解析 DOM—based XSS漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞。

cument.getElementById("a").innerHTML="yyyyyy";

在输入点过滤敏感关键字

  1. DOM型XSS与反射型XSS区别?

DOM型就是JavaScript中的Document对象HTML注入,直接浏览器处理。

  1. 如何使得前端 referer 为空

通过地址栏输入、从书签里面选择或者浏览器的插件BurpSuite修改。

  1. cookie参数,security干什么的

Httponly:防止cookie被xss偷 https:防止cookie在网络中被偷 Secure:阻止cookie在非https下传输,很多全站https时会漏掉 Path :区分cookie的标识,安全上作用不大,和浏览器同源冲突

  1. 如果 SRC 上报了一个 XSS 漏洞,payload 已经写入页面,但未给出具体位置,如何快速介入?

看是否什么类型的XSS,XSS反射型看提交的地址,指的参数是哪个位置,通过这个页面进行fuzzing测试。如果是存储型页面查找关键字。

  1. XSS, CSRF, CRLF比较容易弄混,说说三者的原理,防御方法

CSRF跨站请求伪造,构靠已知的所有参数让对方访问,

防护CSRF: 防御原理:不让你那么容易伪造请求(cookie中加入随机数,要求请求中带上,而攻击者获取不到cookie中的随机数,验证HTTP Referer字段,在请求地址中添加takon验证

CRLF原理:

HTTP拆分攻击(HTTP Splitting),CRLF是”回车 + 换行”(rn)的简称。在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦我们能够控制HTTP 消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HTTP Response Splitting,简称HRS。

  1. csrf 如何不带referer访问

通过地址栏,手动输入;从书签里面选择;通过实现设定好的手势。上面说的这三种都是用户自己去操作,因此不算CSRF。跨协议间提交请求。常见的协议:ftp://,http://,https://,file://,javascript:,data:.最简单的情况就是我们在本地打开一个HTML页面,这个时候浏览器地址栏是file://开头的,如果这个HTML页面向任何http站点提交请求的话,这些请求的Referer都是空的。那么我们接下来可以利用data:协议来构造一个自动提交的CSRF攻击。当然这个协议是IE不支持的,我们可以换用javascript:

  1. CSRF 成因及防御措施;如果不用 token 如何做防御?

X-Frame-Options DENY(禁止被 加载进任何frame) SAMEORIGIN(仅允许被加载进同域内的frame) X-XSS-Protection 0(表示禁止用这个策略) 1(默认,对危险脚本做一些标志或修改,以阻止在浏览器上熏染执行。) 1;mode=block(强制不熏染,在Chrome下直接跳转到空白页,在IE下返回一个#符号) 这个策略仅针对反射型,对付不了存储型XSS,能识别出反射型是因为提交请求的URL中带有可疑的XSS代码片段。X-Content-Security-Policy

  1. Xss worm原理

攻击者发现目标网站存在XSS漏洞,并且可以编写XSS蠕虫。 利用一个宿主(如博客空间)作为传播源头进行XSS攻击。

  1. Cookie的P3P性质

HTTP响应头的p3字段是W3C公布的一项隐私保护推荐标准,该字段用于标识是否允许目标网站的cookie被另一个域通过加载目标网站而设置或发送,仅IE执行了该策略。

  1. CSRF有何危害?

篡改目标网站上的用户数据 盗取用户隐私数据 传播CSRF蠕虫


本文始发于微信公众号(渗透云笔记):面试之HR的套路

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月31日00:45:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   面试之HR的套路https://cn-sec.com/archives/493707.html

发表评论

匿名网友 填写信息