当前位置:首页 > 技术知识 > 正文内容

渗透测试岗位面试分享,多年经验_渗透测试岗位职责

maynowei9个月前 (09-23)技术知识128

综合启明星辰多年招聘渗透测试工程师的经验,发现有很多面试者喜欢说没接触过这个没接触过那个,都没接触过为什么要来面试,录取你的理由是什么?在面试中真遇到你不懂的技术问题,千万不要说没接触过,你可以说一些和这个技术相近的东西,真的什么都想不到的话,说暂时想不起来了,千万不要表现出你什么都不会的样子,因为这样就算面试官不说什么你也自己先把自己给否掉了,这是很忌讳的。自己都觉得自己不行,那就是不行。只要你有自信觉得自己可以,什么都可以再去学!这种学习效率往往也很高,所以说自信是作为一个技术人应该具备的素质。

下面就比较常见的面试问题做下分享。

一、拿到一个待检测的站,应该先做什么?(渗透思路/流程)

1、信息收集

1)获取域名的whois信息,获取注册者邮箱姓名电话等。

2)查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。

3)查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞

4)查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。

5)扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针

6)google hack 进一步探测网站的信息,后台,敏感文件

2、漏洞扫描

开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,

远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等

3、漏洞利用

利用以上的方式拿到webshell,或者其他权限

4、权限提升

提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉,linux脏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权

5、日志清理

6、总结报告及修复方案

二、nmap扫描端口用什么命令?

-p 加端口号或1-65535

拓展:nmap端口扫描参数

-sS (TCP SYN扫描)

-sT (TCP connect()扫描)

-sU (UDP扫描)

-sV (版本探测)

-O (启用操作系统检测)

-f (报文分段); --mtu (使用指定的MTU)

-D <decoy1 ,decoy2,...> (使用诱饵隐蔽扫描)

-S <IP_Address> (源地址哄骗)

三、常见的网站服务器容器

IIS、Apache、nginx、Lighttpd、Tomcat

四、CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?
XSS
是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。
修复方式:对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、浏览器与Web应用端采用相同的字符编码。
CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。
修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer
XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。
修复方式:XML解析库在调用时严格禁止对外部实体的解析。

五、sql注入原理、攻击手法?
原理:SQL注入攻击是通过操作输入来修改SQL语句,用以达到执行代码对WEB服务器进行攻击的方法。简单的说就是在post/getweb表单、输入域名或页面请求的查询字符串中插入SQL命令,最终使web服务器执行恶意命令的过程。

攻击手法:基于布尔的盲注、基于时间的盲注、联合查询注入、基于错误信息的注入

六、其他一些问题

以前挖过哪些网站的漏洞。

说几个你比较常用的工具。

文件上传漏洞的绕过方法有哪些。

如果网站有CDN,你如何查看他的真实IP地址。

绕WAF可以尝试哪些手段。

说几个你熟悉的存在漏洞的中间件。

说几个php里面可以执行命令的函数。

做过免杀吗,现在主要的免杀手段是什么。

常见提权方式?

后渗透怎么做权限维持?讲一下后渗透。

编程语言会哪些?

如何查看内网域名。

内网扫描到445端口测什么漏洞?

有哪些上传绕过的方式?

抓包怎么区分包头,包体,正文?

说一下你最难忘的挖洞经历。

你参加过哪些项目。

相关文章

Objective C interface(objective什么意思)

在Objective C里面,interface基本可以理解为其他语言里面的class。当然也有些不同。首先我们可以新建一个Objective-C的file。这里我们添加一个MyClass.m和一个M...

一文弄懂 GO 的 互斥锁 Mutex !(互斥锁的使用方法)

在 Go 语言并发编程中,互斥锁(Mutex)是一个非常重要的同步原语。本文将深入介绍 Mutex 的使用方法、实现原理以及最佳实践。1. 什么是 Mutex?Mutex(互斥锁)是一种用于多线程编程...

如何优雅地使用嵌入式事件标志组?

事件标志组嵌入式事件标志组是一种在嵌入式系统中广泛使用的同步机制,主要用于实现多任务间的同步与通信。事件标志组是一组事件标志位的集合,每个位代表一个事件是否发生。它允许任务等待特定的事件发生,当事件发...

go语言并发原语RWMutex实现原理及闭坑指南

1.RWMutex常用方法Lock/UnlockRLock/RUnlockRLocker 为读操作返回一个Locker接 口的对象2. RWMutex使用方法 func main() { var c...

ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务

早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,帮其解决后,发现很多人遇到过这样的问题,因此写着这里。也...

超详细的Oracle19c修改数据库用户名教程

概述由于开发很多视图指定了某个用户名,故需修改数据库用户名srmpro为srm。以下为操作过程..1、停止应用防止修改用户名密码后应用一直在发起错误连接,可事先查询哪个IP在连接数据库,然后断开对应连...