一个xray POC的编写全过程

一个xray POC的编写全过程
最新回答
㈠朵烟熏的埖

2022-12-31 20:37:16

在接触安全渗透初期,面对复杂技术如SQL注入、XSS等名词感到困惑。后来,通过工具如sqlmap、nmap的学习,对其中的m参数(文件中可注入链接的注入测试)产生了浓厚兴趣,渴望找到更准确、扫描角度更多的工具。得知xray和一位大佬通过其结合自写POC扫描出百度漏洞后,对xray产生兴趣,开始深入了解POC和EXP概念。

xray是长亭洞鉴核心引擎的社区版漏洞扫描神器,支持主动、被动扫描,具备盲打平台、自定义POC功能,适用于多种操作系统。在对比其他扫描工具后,我选择xray,看重其简便使用方式、多平台兼容性、Rad发布和频繁更新(2021年后更新频率虽减,但社区仍活跃)。深入学习xray后,意识到漏洞扫描速度无法紧跟漏洞更新频率,激发了编写自定义POC的想法。

开始研究xray自定义POC语法文档,并理解通过yml文件配置实现发包、分析返回包判断漏洞。学习匹配返回包的表达式,参考长亭知乎文章、P神编写辅助工具。结合实践经验,开始编写第一个POC。

编写POC时,遵循xray POC审核标准、自定义POC语法,参考高质量poc编写指南。选择未被提交的漏洞,确认漏洞详情,通过POST方式向目标链接发送特定数据触发RCE漏洞。使用辅助工具编写POC,提交前进行格式检测,确保通过检测。提交至社区后,经历人工审核。

分析POC发现格式无误,但匹配检测语句不严谨,需要结合其他漏洞利用场景。社区师傅进行了修改,添加登陆口获取管理员账号密码操作,通过随机数验证漏洞。此修改过程为我提供学习机会,了解编写高质量POC的重要性。

随着xray更新至V2版本,POC语法也随之调整。通过V1版本转V2命令工具,将原POC转换为V2格式。V2版本中,output功能更强大,可用于处理下个包中使用的变量。在编写POC时,需要遵循特定规则,如变量命名、函数使用等。

总结编写POC过程,最大的收获并非高级版,而是思考漏洞利用策略、复现操作及学习他人POC的精妙之处。对初学者而言,编写xray POC是一个优秀的入门机会,无需复杂编程知识,通过阅读文档、实践操作,即使最终POC未能通过审核,也能收获宝贵经验。