渗透测试高频面试题分享

admin 2024年11月28日10:00:49评论13 views字数 3001阅读10分0秒阅读模式

1、TCP与UDP区别总结?

TCP面向连接(如打电话要先拨号建立连接)提供可靠的服务;UDP是无连接的,即发送数据之前不需

要建立连接,;UDP尽最大努力交付,即不保证可靠交付。(由于UDP无需建立连接,因此UDP不会引入

建立连接的时延,TCP需要在端系统中维护连接状态,比如接受和发送缓存,拥塞控制,序号与确认号

的参数等,故TCP会比UDP慢)

UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

每一条TCP连接只能是一对一的;UDP支持一对一,一对多,多对一和多对多的交互通信

UDP分组首部开销小,TCP首部开销20字节;UDP的首部开销小,只有8个字节。

TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的(一次交付一

个完整的报文,报文不可分割,报文是UDP数据报处理的最小单位)。6.UDP适合一次性传输较小数据的网络应用,如DNS,SNMP等

2、三次握手四次挥手?为什么?

为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确

认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包

(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,

客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据

渗透测试高频面试题分享
image-20241009214328753

客户端先发送FIN,进入FIN_WAIT1状态,用来关闭Client到Server的数据传送

服务端收到FIN,发送ACK,进入CLOSE_WAIT状态,客户端收到这个ACK,进入FIN_WAIT2状态

服务端发送FIN,进入LAST_ACK状态,用来关闭Server到Client的数据传送

客户端收到FIN,发送ACK,进入TIME_WAIT状态,服务端收到ACK,进入CLOSE状态(等待2MSL时间,约4分钟。主要是防止最后一个ACK丢失。

第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告

诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的

ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。

第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。

第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动

关闭方,我的数据也发送完了,不会再给你发数据了。

第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成

四次挥手。

渗透测试高频面试题分享
image-20241009214656859

3、OSI 的七层模型都有哪些?

物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。

数据链路层:接收来自物理层的位流形式的数据,并封装成帧,传送到上一层

网络层:将网络地址翻译成对应的物理地址,并通过路由选择算法为分组通过通信子网选择最适当的路

径。

传输层:在源端与目的端之间提供可靠的透明数据传输

会话层:负责在网络中的两节点之间建立、维持和终止通信

表示层:处理用户信息的表示问题,数据的编码,压缩和解压缩,数据的加密和解密

应用层:为用户的应用进程提供网络通信服务

拿到待检测的站,你觉得应该先做什么?

  1. 信息收集

1. 获取域名的whois信息,获取注册者邮箱姓名电话等,丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台。用邮箱做关键词进行丢进搜索引擎。利用搜索到的关联信息找出其他邮箱进而得到常用社交账号。社工找出社交账号,里面或许会找出管理员设置密码的习惯 。利用已有信息生成专用字典。

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

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

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

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

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

  1. 漏洞扫描

开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等

  1. 漏洞利用

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

  1. 权限提升

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

  1. 日志清理

  2. 总结报告及修复方案

5、判断出网站的CMS有什么意义?

查找网上已曝光的程序漏洞。

如果开源,还能下载相对应的源码进行代码审计。

6、如何手快速判断目标站是windows还是linux服务器?

linux大小写敏感,windows大小写不敏感。

7、3389无法连接的几种情况

没开放3389 端口

端口被修改

防护拦截

处于内网(需进行端口转发)

8、SQL注入防护

1、使用安全的API

2、对输入的特殊字符进行Escape转义处理

3、使用白名单来规范化输入验证方法

4、对客户端输入进行控制,不允许输入SQL注入相关的特殊字符

5、服务器端在提交数据库进行SQL查询之前,对特殊字符进行过滤、转义、替换、删除。

6、规范编码,字符集

7、预编译

9、Sql注入过滤空格的方法有哪些?

%0a、%0b、%a0 等 /**/ 等注释符 <>

10、XSS蠕虫

XSS蠕虫是一种利用Web应用程序中的XSS漏洞进行自动化传播的蠕虫病毒。它借助Ajax技术,通过用户节点与网站节点之间的交互,实现恶意代码的自动传播和感染。

XSS蠕虫的传播速度随Web应用程序的用户访问量几何数递增,感染效果非常可怕。它能够在用户之间自动传播,导致整个系统的用户沦陷。

11、金融行业常见逻辑漏洞

单针对金融业务的 主要是数据的篡改(涉及金融数据,或部分业务的判断数据),由竞争条件或者设计不当引起的薅羊毛,交易/订单信息泄露,水平越权对别人的账户查看或恶意操作,交易或业务步骤绕过。

12、SSRF漏洞的成因 防御 绕过

成因:模拟服务器对其他服务器资源进行请求,没有做合法性验证。利用:构造恶意内网IP做探测,或者使用其余所支持的协议对其余服务进行攻击。防御:禁止跳转,限制协议,内外网限制,URL限制。绕过:使用不同协议,针对IP,IP格式的绕过,针对URL,恶意URL增添其他字符,@之类的。301跳转+dns rebindding。

文章转自泷羽Sec
侵权请联系我删除,谢谢

原文始发于微信公众号(菜鸟学信安):渗透测试高频面试题分享

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月28日10:00:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试高频面试题分享http://cn-sec.com/archives/3443571.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息