史上最全的渗透测试面试题,都是干货。

1、拿到一个待检测的站或给你一个网站,你觉得应该先做什么?

一、信息收集
1.获取域名的whois信息,获取注册者邮箱姓名电话等。
2.通过站长之家、明小子、k8等查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
3.通过DNS域传送漏洞、备份号查询、SSl证书、APP、微信公众号、暴力破解、DNS历史记录、K8 C段查询、Jsfinder、360或华为威胁情报、证书序列号获取企业域名与ip。
4.通过Nmap、Wappalyzer、御剑等查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞
5.通过7KB、破壳扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针、管理员备份文件。
6.google hack 进一步探测网站的信息,后台,敏感文件
7.敏感信息收集,如github源码、用7kb、破壳扫源代码泄露(.hg、.git、cvs、svn、.DS_store源代码泄露)、google hack、接口信息泄露、社工信息泄露、邮箱地址信息收集、网盘搜索、钟馗之眼、天眼查、威胁情报、微步在线等
8.通过Wappalyzer、御剑工具对网站指纹识别(包括,cms,cdn,证书等),dns记录
二、漏洞扫描
1.用AWVS、APPSCAN、长亭科技的Xray等扫描器检测Web漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等
2.用namp、天镜、Nessus、极光等扫描系统ip,对扫描出来的高危漏洞进行测试,如ms08-067、ms17-010、ms12-020、ms15-035、ms19-0708、永恒之蓝2代、cve-2017-7494(samba)、cve-2014-6271(破壳)、php cgi等相关漏洞验证。
3.漏洞利用
利用以上的方式拿到webshell,或者其他权限
4.权限提升
提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉,linux脏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权
5.日志清理
操作系统、中间件、数据库等日志进行清除
6.总结报告及修复方案

2、你平时常去那些网站进行学习、挖漏洞提交到那些平台

一般去seebug、freebuf、吾爱破解、看雪论坛、阿里聚安全、PentesterLab、阿里云先知社区、四叶草安全等
挖洞一般提交给360补天、cnvd、教育漏洞平台、漏洞银行、wooyun、漏洞盒子众测平台

3 、判断出网站的CMS对渗透有什么意义?

查找网上已曝光的程序漏洞。如果开源,还能下载相对应的源码进行代码审计

4、常见的网站服务器容器(中间件)

IS、Apache、nginx、Lighttpd、Tomcat、Weblogic、Jboss

5、一个成熟并且相对安全的CMS,渗透时扫目录的意义?

敏感文件、二级目录扫描,站长的误操作等,比如:网站备份的压缩文件、说明.txt、二级目录可能存放着其他站点。

6、甲给你一个目标站,并且告诉你根目录下存在/abc/目录,并且此目录下存在编辑器和admin目录。请问你的想法是?

直接用7KB或破壳挂字典在网站二级目录/abc/下扫描敏感文件及目录。

7、在渗透过程中,收集目标站注册人邮箱对我们有什么价值?

丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台。
用邮箱做关键词进行丢进搜索引擎。
利用搜索到的关联信息找出其他邮进而得到常用社交账号。
社工找出社交账号,里面或许会找出管理员设置密码的习惯 。
利用已有信息生成专用字典。
观察管理员常逛哪些非大众性网站,拿下它,你会得到更多好东西

8、Nmap主要功能有那些,扫描的几种方式、绕过ping扫描、漏洞检测等

一、4大功能:分别为主机发现(参数-sn)、端口扫描(-sS -sU)、版本侦测(–sV)、OS侦测(-O)
二、扫描方式有:tcp connect()、TCP SYN scanning、TCP FIN scanning、Null scan等
三、绕过ping扫描参数为:nmap -Pn  XXX.XXX.XXX.XXX
四、漏洞检测可直接nmap 目标 --script=auth,vuln

9、sql注入的几种类型?

1报错注入 2bool型注入 3延时注入 4宽字节注入

10、延时注入如何来判断?

SQL盲注分为三大类:基于布尔型SQL盲注、基于时间型SQL盲注、基于报错型SQL盲注
基于布尔型SQL盲注: XXX’ and ascii(substr(database(),1,1))=112#
基于时间型SQL盲注: XXX’ and sleep(x)#

11、sqlmap,怎么对一个注入点注入?

1.如果是get注入,直接,sqlmap -u “注入点网址”.
2.如果是post注入,可以sqlmap –r "burp地址访问包”
3.如果是cookie,X-Forwarded-For等,可以访问的时候,用burpsuite抓包,注入处用号替换,放到文件里,然后sqlmap -r “文件地址”,记得加上—level 3参数

12、SQL注入防护方法?

1.涵数过滤,如!is_numeric涵数 //判断变量id是否为数字
2.直接下载相关防范注入文件,通过incloud包含放在网站配置文件里面,如360、阿里云、腾迅提供的防注入脚本
3.使用白名单来规范化输入验证方法
4.采用PDO预处理 5、使用Waf拦截

13、常用中间件、数据库、第三方应用、操作系统默认配置文件是什么?

/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_ras.keystore
/root/.ssh/known_hosts //记录每个访问计算机用户的公钥
/etc/passwd
/etc/shadow
/etc/my.cnf //mysql配置文件
/etc/httpd/conf/httpd.conf //apache配置文件
/root/.bash_history //用户历史命令记录文件
/root/.mysql_history //mysql历史命令记录文件
/proc/mounts //记录系统挂载设备
/porc/config.gz //内核配置文件
/var/lib/mlocate/mlocate.db //全文件路径
/porc/self/cmdline //当前进程的cmdline参数

14、任意文件下载防范方法有那些?

(1)过滤".",使用户在url中不能回溯上级目录
(2)正则严格判断用户输入参数的格式
(3)php.ini配置open_basedir限定文件访问范围

15、CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?

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

16、CSRF、SSRF和重放攻击有什么区别?

CSRF是跨站请求伪造攻击,由客户端发起;
SSRF是服务器端请求伪造,由服务器发起;
重放攻击是将截获的数据包进行重放,达到身份认证等目的。

17、如何防止CSRF?

1、验证referer 2、验证token 3、增加验证码

18、逻辑漏洞的类型

1.订单金额任意修改
2.验证码回传
3.未进行登录凭证验证
4.接口无限制枚举
5.cookie设计存在缺陷
6.找回密码存在设计缺陷
7.单纯读取内存值数据来当做用户凭证

19. 什么是 XSS 攻击?如何预防和防御?

XSS 攻击是一种跨站脚本攻击手段,攻击者通过在代码中插入恶意脚本,使其在用户浏览器中执行,从而获取用户敏感信息或执行其他恶意操作。 预防和防御 XSS 攻击一般需要从开发和运维两个层面入手。开发方面,应该对用户输入数据进行严格的过滤和验证,避免将未经处理的数据直接输出到页面上。同时,开启浏览器的 HTTP Only 特性,禁止浏览器通过脚本获取用户 cookies 等敏感信息。运维方面,则需要定期更新和维护应用程序环境,包括 Web 服务器、数据库和操作系统等,以保证应用程序的基础设施的安全性。

20. 如何使用 Metasploit 漏洞利用框架进行渗透测试?

Metasploit 漏洞利用框架是一款功能强大的渗透测试工具,它能够自动化执行漏洞扫描、漏洞利用和提权等任务。 使用 Metasploit 进行渗透测试一般需要以下步骤:

1. 定义目标:首先需要确定目标环境,包括 IP 地址、服务端口、操作系统等信息。

2. 扫描漏洞:使用 Metasploit 漏洞扫描模块对目标环境进行扫描,识别存在的漏洞。

3. 选择目标漏洞:根据扫描结果选择目标漏洞,并确定漏洞利用模块。

4. 运行漏洞利用模块:使用 Metasploit 的漏洞利用模块对目标漏洞进行利用。

5. 提权:对已经入侵的系统进行进一步的权限提升。

6. 掩盖自己的行踪:将攻击留下的日志删除或清理,以避免被发现。 需要注意的是,Metasploit 可能会对目标系统造成不可逆的影响,因此在使用之前需要对目标环境有充分的授权和了解,并严格遵守相关法律法规。同时,渗透测试一定要在专业人士的指导下进行,以避免造成不必要的损失。

21. 你如何保证在进行渗透测试时不会对系统造成不良影响?

在进行任何渗透测试前,必须与系统管理员或漏洞扫描的授权方进行沟通,以确定开发和测试的范围、目的、工具、方法和时间等。同时,要根据不同的系统和应用程序,选择合适的扫描工具和设备进行测试。此外,在渗透测试过程中,应该设置验证和确认流程,并记录每次测试的信息和结果,以保证测试过程的准确性和安全性。

因为篇幅有限,剩余的以图片的形式展示,需要的可以关注,回复“面试”免费领取哦

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值