面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!

admin 2023年11月23日15:13:40评论5 views字数 6118阅读20分23秒阅读模式

面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!

最近跟师傅们请教问题(闲聊)时,发现很多人在准备面试,也有一些师傅刚刚换了新工作。为什么都到年底了,大家还这么折腾,一句话总结,即“技术在手,说走就走,实力出众,步步高升,财源滚滚来”。

面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!

当然,也不是所有人在求职面试时都能一帆风顺,心想事成,当遇到“厉害”的面试官,抛出来的问题确实还蛮棘手的。

今天,i春秋给大家汇总了一些让求职者印象深刻的面试题,并给出了当时的回答(限于求职者的技术水平和项目经验,答案不一定全对),希望能给有面试需求的小伙伴一些借鉴吧。
先总结一下大家给出的面试经验:
1.在面试开始前,预先准备一段自我介绍,突出专业性和核心竞争力,让面试官更好地了解你的能力和水平。
2.如果你是一名学生,在自我介绍时最好不要主动提及年龄,除非面试官询问。
3.介绍项目经历时,详细阐述你所负责的内容,以及最终的项目成果。越详细的项目经历,越能展现出实践经验和解决问题的能力。

面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!

结合大家面试的岗位,安全服务和渗透测试的居多对这两个岗位的面试进行了简单汇总,并给出了求职者的回答,依据个人和能力,有些答案可能完整或者存在歧义,欢迎大家指正,将你认为需要改进的答案在文末留言,我们会在下一期的文章中,答案


安全服务工程师

面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!

1.快速打点/定位的思路

1、明确目标:首先,需要明确需要打点的目标是什么?这可能涉及到确定问题的性质、范围和影响。

2、收集信息:收集与目标相关的信息,包括日志文件、错误报告、性能数据等。这可以通过查看系统记录、运行诊断工具或查询相关文档来完成。

3、分析问题:分析收集到的信息,找出问题的根本原因。这可能需要对系统进行深入了解,包括其架构、组件和依赖关系等。

4、制定解决方案:根据问题的性质和根本原因,制定相应的解决方案。可能涉及到修改代码、更新配置或修复系统漏洞等操作。

5、实施解决方案:将解决方案付诸实践,并对系统进行测试和验证,以确保问题已得到解决并且系统已经恢复正常。

查看Ta的回答


2.你知道哪些漏洞的利用手法,着重讲下用到的工具

1、注入攻击:利用应用程序对输入数据的安全性检查不严,注入恶意数据,导致应用程序运行异常,进而获得系统权限,甚至控制整个系统。常见的注入攻击方式有SQL注入、OS注入等。可能用到的工具包括SQLMap、Burp Suite等。

2、跨站脚本攻击(XSS):攻击者通过在目标网站中注入恶意脚本,诱导用户访问并执行恶意脚本,从而获取用户敏感信息或进行其他恶意操作。可能用到的工具包括Wireshark、Fiddler等抓包工具,以及一些前端开发工具。

3、文件上传漏洞:攻击者利用应用程序对文件类型、内容等的安全性检查不严,上传恶意文件,进而获得系统权限,控制整个系统。可能用到的工具包括一些文件上传工具、漏洞扫描工具等。

4、认证漏洞:攻击者通过绕过身份认证机制,获取用户敏感信息或进行其他恶意操作。可能用到的工具包括一些密码破解工具、自动化脚本工具等。

5、远程命令执行漏洞:攻击者通过利用应用程序对输入数据的安全性检查不严,执行恶意命令,获得系统权限,控制整个系统。可能用到的工具包括一些远程命令执行工具、漏洞扫描工具等。

查看Ta的回答


3.如果文件上传到云的话,应该如何利用

1、窃取文件:窃取用户的账号和密码,或者利用漏洞获取访问权限,从而窃取存储在云端的文件。

2、篡改文件:篡改存储在云端的文件,以插入恶意代码、删除重要数据或者更改文件内容等。

3、暴露敏感信息:利用云存储服务的漏洞或者用户的不当配置,获取存储在云端的敏感信息,如个人信息、财务信息、商业机密等。

4、传播恶意软件:将恶意软件隐藏在云端的文件中,当其他用户访问这些文件时,恶意软件可能会被下载并运行,从而感染用户的系统。

查看Ta的回答


4.如何使用XSS获取Cookie

1、确定目标网站:选择一个存在跨站脚本攻击漏洞的目标网站,可以是社交媒体平台、博客、电商网站等。

2、查找注入点:通过分析目标网站的结构和源代码,找到可以注入恶意脚本的输入点。常见的注入点包括评论框、表单提交、URL参数等。

3、构造恶意脚本:构造一段能够获取用户Cookie信息的恶意脚本。这段脚本可以是JavaScript代码、Flash代码或者其他可执行代码。

4、注入恶意脚本:将恶意脚本插入到目标网站的注入点中。这可以通过手动输入恶意代码或者使用自动化工具来完成。

5、诱导用户点击:通过各种手段诱导用户访问并点击含有恶意脚本的页面,使得用户的浏览器执行恶意脚本。

6、获取Cookie信息:恶意脚本在用户浏览器中执行后,可以获取到用户的Cookie信息,并将其发送给攻击者。通过分析这些Cookie信息,进一步获取用户的敏感信息或进行其他恶意操作。

查看Ta的回答


5.目前,有个网站已知有XSS漏洞,这台服务器无任何方式可以出网,也无法解析域名,还有个远程包含漏洞,那你应该怎么Getshell

利用已知的XSS漏洞来注入恶意代码,通过在网站中插入恶意的JavaScript代码,可以尝试获取用户的敏感信息或控制用户的浏览器。

如果服务器存在远程包含漏洞,那么可以利用该漏洞来包含一个恶意的PHP文件,通过在远程服务器上创建一个恶意的PHP文件,并在其中添加恶意代码,可以尝试获取服务器的shell。

获取shell:一旦成功利用了XSS漏洞或远程包含漏洞,就可以尝试获取服务器的shell。这可以通过在恶意代码中添加相应的命令来实现。例如,可以使用PHP的system()函数来执行命令。

查看Ta的回答


6.远程文件包含是什么

远程文件包含(Remote File Inclusion,RFI)是一种漏洞利用技术,其中攻击者可以通过包含远程服务器上的恶意文件来执行恶意代码。这种技术通常与本地文件包含(Local File Inclusion,LFI)相比较,两者都属于文件包含漏洞的一种。

远程文件包含漏洞允许攻击者在目标服务器上执行恶意代码,从而获得控制权限。要利用这种漏洞,攻击者需要在目标服务器上找到一个或多个文件包含漏洞,这些漏洞允许他们将远程文件包含到目标文件中。

查看Ta的回答


7.在应急响应中,如果确定主机已失陷,并且网络连接中没有外联C2地址,还能怎么查找C2服务器地址?

1、分析恶意软件:分析恶意软件的行为模式,特别是它与远程服务器的通信方式。这可能涉及逆向工程恶意软件样本,查看其网络通信和C2服务器地址。

2、蜜罐捕获:设置蜜罐以捕获恶意软件的活动。蜜罐是一种诱饵系统,能够模拟潜在攻击的目标,吸引并捕获攻击者。通过蜜罐捕获的攻击流量可能包含C2服务器地址。

3、日志分析:检查主机的日志文件,包括系统日志、网络日志等,寻找与C2服务器相关的线索。特别注意任何异常的网络连接或与已知恶意软件相关的活动。

4、端口扫描:对主机所在的网络进行端口扫描,以发现潜在的C2服务器地址。这可能需要使用专门的工具或编写自定义脚本。

5、反向查询:尝试使用已知的恶意软件样本进行反向查询,看看是否有其他系统遭受相同的攻击,并从那些系统中获取C2服务器地址的信息。

6、渗透测试:在具有足够权限的情况下,可以尝试进行渗透测试,模拟攻击者的行为,看看是否能找到C2服务器的地址。

查看Ta的回答


8.全流量报警FRP外联,但是上机没发现,你怎么办?

1、确认报警信息:首先,再次检查报警信息是否准确。有时候,误报或错误配置可能导致误报。确认报警源是否正确,以及是否真的存在FRP外联行为。

2、审查网络配置:检查网络配置,特别是防火墙和安全组设置,以确保没有阻止FRP流量通过。确认是否有任何规则或策略阻止了FRP流量的传输。

3、查找潜在攻击源:如果报警信息准确且网络配置无误,那么需要进一步查找潜在的攻击源。这可能涉及分析网络流量、监控异常行为等。

4、更新安全策略:为了防止类似情况再次发生,建议更新安全策略和监控配置。增加对FRP流量的监控和限制,并定期审查安全策略的有效性。

5、持续监控:即使暂时解决了问题,也要持续监控网络流量和安全状况。这有助于及时发现并应对任何新的威胁或攻击。

6、培训团队:加强团队成员的网络安全意识和技能培训,使其能够及时发现和处理网络安全问题。

查看Ta的回答



渗透测试工程师

面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!


1.给你一个内存虚拟地址,怎么确定物理地址

定虚拟地址的物理地址需要了解操作系统的内存管理机制和映射机制。我一般会考虑页表、页框、段表、转换查看器等方面,具体的实现方式可能因操作系统而异。在某些操作系统中,还需要考虑权限级别、缓存机制等因素。


查看Ta的回答
据某位师傅说:“第2题,面试考官形容这道题10个人里有6个都答不出,其实我也不太会,就根据以往经验回答的,也不知道对不对。”
2.python yield 返回什么类型

yield是Python中的一个关键字,它用于在函数中定义一个生成器(generator)。生成器是一种特殊的迭代器,允许你在需要时按需生成数据。使用yield的函数将返回一个生成器对象,而不是一个完整的列表或其他集合类型。

因此,yield返回的类型是一个生成器(generator)。生成器可以用于在需要时按需生成数据,而不需要一次性生成所有数据,这样可以节省内存空间。通过使用next()函数或循环遍历生成器对象,可以逐个获取生成器中的数据。

查看Ta的回答
3.x64 的rep movsd的代替指令是什么

在x64指令集中,rep movsd指令用于将一块内存中的数据复制到另一块内存中。然而,没有直接的替代指令。在某些情况下,可以使用其他指令来实现类似的功能。

一种替代方法是使用movsq(或movsw、movsd等)指令,结合循环结构(如循环计数器或循环嵌套)来实现类似的功能。根据具体的需求和场景,可以使用适当的指令组合来实现复制操作。

另一种替代方法是使用处理器提供的内存复制函数(例如memcpy)。这些函数通常由操作系统或编译器提供,可以高效地复制内存块。这些函数通常会使用底层的处理器指令来实现优化,从而提供更好的性能。

查看Ta的回答
4.SSRF怎么RCE ?

SSRF攻击的RCE成功率取决于目标服务器的配置、应用程序的安全性和漏洞的可利用性等因素。

以下是一些可能的步骤:

确定目标:选择一个存在SSRF漏洞的目标服务器,并确定其运行的应用程序和版本。

构造恶意请求:攻击者需要构造一个恶意的SSRF请求,使其指向一个受攻击者控制的内部或外部资源。该请求可能包含特定的IP地址、域名或URL,以触发服务端的SSRF漏洞。

发送恶意请求:将构造好的恶意请求发送到目标服务器的漏洞位置。这可以通过网络爬虫、社交工程或其他手段实现。

漏洞利用:如果目标服务器存在相应的漏洞,恶意请求将被执行。攻击者需要确保该请求能够导致目标服务器的可利用条件,例如访问受限制的内部网络资源、执行特定命令等。

远程代码执行:一旦攻击成功,攻击者可以执行任意代码,包括安装恶意软件、窃取数据等操作。

查看Ta的回答
5.Redis数据库提权的方式

1.利用Redis写Webshell:这是利用Redis数据库可以修改自己的数据文件路径和名称的特性,将包含恶意代码的数据文件写入到Web服务器的可执行目录下,从而在Web服务器上执行该文件,获取Web服务器的权限的方法。这种方法需要猜测或知道Web服务器的目录地址,并且能够访问该地址。

2.利用公私钥认证获取Root权限:这是利用Redis数据库可以修改自己的数据文件路径和名称的特性,将攻击者生成的公钥文件写入到目标系统的/root/.ssh目录下,并命名为authorized_keys,从而在目标系统上使用私钥文件登录Root用户,获取Root权限的方法。这种方法需要目标系统存在/root/.ssh目录并且有写入权限,并且能够使用ssh连接目标系统。

3.利用Crontab定时任务反弹Shell:这是利用Redis数据库可以修改自己的数据文件路径和名称的特性,将包含反弹Shell命令的数据文件写入到目标系统的/var/spool/cron/crontabs目录下,并命名为Root,从而在目标系统上创建一个定时任务,在指定时间执行反弹Shell命令,获取目标系统的权限的方法。这种方法需要目标系统存在/var/spool/cron/crontabs目录并且有写入权限,并且能够监听反弹Shell端口。

4.利用Redis主从复制Rce:这是利用Redis数据库支持主从复制功能的特性,将攻击者搭建的恶意Redis服务器作为主服务器,将目标系统上运行的redis数据库作为从服务器,并向从服务器发送包含恶意模块或命令的数据包,从而在目标系统上加载恶意模块或执行命令,获取目标系统的权限的方法。这种方法需要攻击者搭建一个恶意Redis服务器,并且能够访问目标系统上运行的Redis数据库。

查看Ta的回答
第6题和第7题是同一个求职者提供的,他说:“我遇到的面试官很随意,问题偏开放性,自由发挥就行。”
6.说说渗透测试的思路与流程

1、明确目标:确定渗透测试的目标,例如测试系统的安全性、漏洞的可利用性等。

2、信息收集:收集有关目标系统的信息,包括系统架构、运行环境、应用程序等。

3、漏洞分析:根据收集到的信息,分析目标系统可能存在的漏洞。

4、制定攻击路径:根据漏洞分析结果,制定针对目标系统的攻击路径。

5、实施攻击:使用适当的工具和技术,对目标系统进行攻击,验证漏洞的可利用性。

6、获取权限:如果攻击成功,尝试获取目标系统的权限,以便进一步渗透。

7、数据收集:在获得权限后,收集目标系统的敏感数据,如用户信息、密码等。

8、报告和总结:将渗透测试的结果写成报告,包括漏洞类型、攻击路径、获取的权限和数据等信息。同时对整个过程进行总结,提出改进建议。

查看Ta的回答
7.你挖过最厉害的漏洞是

我个人更偏向逻辑漏洞,最厉害的谈不上,就分享一个让我印象最深的漏洞吧,是我在hacker one上的shopify这个厂家挖到了一个域名不在他们计划范围内的漏洞,原本我并没有去拿报酬的想法,就是随意提交的,结果没想到该漏洞被判定为足够有影响力,值得裁决,并奖赏了1000刀,简直太不可思议了。

查看Ta的回答
第8题,免杀这道面试题可把某位师傅难住了,他说:“当时有点蒙,回答的比较潦草~”
8.卡巴斯基如何免杀?

这个我确实被问住了,我只知道实现的框架与方式,具体细节不太了解。因为免杀涉及的知识点比较深,我那会还没掌握那么多知识点。

查看Ta的回答

面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!

还有一个面试官问我的第一题:网络安全的英文是什么
我答network security

面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!

岗位:某政企测试
面试官:看你项目经验挺丰富的,挂过科没?
我:...

各位小伙伴,在面试中遇到过不知如何作答的题目吗?

有的话,欢迎在文末留言,让大家开阔一下眼界~我们将为留言点赞前3名的同学随机赠送i春秋定制小礼物,快来参与吧!

活动截止时间:2023年11月27日12时

面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!

i春秋定制冰箱贴

面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!

i春秋定制钥匙链

面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!

快来文末,交流互动

原文始发于微信公众号(i春秋):面试话题讨论丨考官:“python yield返回什么类型?60%答不对”,我不信!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月23日15:13:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   面试话题讨论丨考官:python yield返回什么类型?60%答不对,我不信!https://cn-sec.com/archives/2232026.html

发表评论

匿名网友 填写信息