首页 > 其他分享 >ChatGPT在安全研究领域的应用实践

ChatGPT在安全研究领域的应用实践

时间:2023-03-17 18:00:59浏览次数:33  
标签:规则 实践 漏洞 过滤 应用 sql ChatGPT 我们

引言



ChatGPT是一个人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,并能进行连续对话。目前ChatGPT已经官方已经更新模型到4.0版本,宣称它是“最先进的系统,能生产更安全和更有用的回复”。当前使用ChatGPT进行问答也越来越方便,本文总结了一些ChatGPT在安全研究领域的一些应用实践,有了人工智能的帮助,我们更轻松高效的完成部分研究工作。

01

防护规则编写

ChatGPT能很方便的帮助我们编写各类防护规则。除开规则本身,它还帮你写好了注释,让你不光能快速编写,还能根据注释进行学习。


对于给出的规则编写要求,ChatGPT也不拘泥于给定的条件和范围,会尝试进行发散。如在下图的案例中,在我们原本提的需求之外,ChatGPT在检测的文件内容里脑补了“<?php”字符串,消除了部分误报;同时在上传文件名里除了php外,对php3、php5也做了限制,消除了部分漏报。


ChatGPT在安全研究领域的应用实践_php


除此之外,对于一些指纹类的事件型规则,我们可以很方便的利用ChatGPT完成相应规则的收集,后续只需要做好验证工作就行了。


ChatGPT在安全研究领域的应用实践_人工智能_02

02

检测规则编写

ChatGPT虽然不能直接帮我们写poc(主要是考虑到了漏洞利用造成的影响),但是对于一些检测插件,还是能很快帮我们写出检测demo示例来:


ChatGPT在安全研究领域的应用实践_人工智能_03


当需要转换语言或转换poc格式时,利用ChatGPT也能很轻易的帮忙完成相关工作:


ChatGPT在安全研究领域的应用实践_人工智能_04

03

代码审计&漏洞挖掘

我们当然希望通过ChatGPT帮我们做更多有意义的安全研究工作,比如自动化漏洞挖掘。就笔者目前的测试情况来看,对于逻辑较为简单的代码,ChatGPT能很快找到脆弱点,但稍微设置些“坑”上去,ChatGPT的表现效果就不那么友好了。


我们以一个最简单的sql注入为例,看看ChatGPT的表现效果如何。首先在不做任何过滤的情况下,ChatGPT能很快识别到sql注入:


ChatGPT在安全研究领域的应用实践_人工智能_05


我们加一个简单的过滤条件,把get方法里获取的参数过滤了,但是查询语句里还是使用request方法获取请求数据,很显然使用post方法传递数据依然可以造成sql注入,我们看看ChatGPT能发现吗?


ChatGPT在安全研究领域的应用实践_人工智能_06


这里ChatGPT回避了我们设置的“坑”,开始扯怎么绕过正则的问题。这并不是我们想要的答案,在稍加提示后ChatGPT给出了正解。

ChatGPT在安全研究领域的应用实践_人工智能_07


现在我们难度进一步升级,过滤request里的参数,然后将get里的参数拼接进sql语句,我们先来看看ChatGPT能否帮我们找到突破点。


ChatGPT在安全研究领域的应用实践_人工智能_08


ChatGPT在这里出现了代码理解错误,认为$_GET没有做任何过滤。我们想让它知道$_GET在$_REQUEST里已经被过滤掉了,于是开始引导:


ChatGPT在安全研究领域的应用实践_sql注入_09

ChatGPT在安全研究领域的应用实践_php_10


ChatGPT在思考了一阵好发现确实是自己错了,该代码不存在sql注入,并开始道歉。这时候再给它一点提示,剧情又反转了过来

ChatGPT在安全研究领域的应用实践_php_11


ChatGPT在安全研究领域的应用实践_php_12


在一步步引导后ChatGPT终于发现了漏洞点在哪里,并给出了最终的绕过方案。从这个案例可以看出,ChatGPT在基于安全视角的代码理解上还需要不断学习和打磨。

04

社会工程学应用

作为“写小作文”的能手,ChatGPT自然在社会工程学上也有广泛的应用,例如我们可以利用它轻松写一封钓鱼邮件:


ChatGPT在安全研究领域的应用实践_人工智能_13


当然也可以用它来做钓鱼邮件识别和检测,我很乐意看到它自相矛盾的样子:


ChatGPT在安全研究领域的应用实践_sql注入_14


除此之外,我们可以根据所掌握的信息,利用ChatGPT生成口令字典:


ChatGPT在安全研究领域的应用实践_sql注入_15


总结


事实上ChatGPT凭借其强大的训练集有能力帮我们做更多安全研究方面的事情,比如漏洞复现、免杀、代码混淆等,只是很多偏向的成果已经被列为了黑名单。在上个月我们还能用ChatGPT辅助生成免杀的webshell,今天尝试的时候同样的请求已经被禁止了。但无论如何,人工智能的存在势必能提高我们的研究效率,也能帮我们探索出更多创新性的研究场景和方向。

标签:规则,实践,漏洞,过滤,应用,sql,ChatGPT,我们
From: https://blog.51cto.com/u_15634773/6127791

相关文章

  • 无瑕疵的应用程序发布:39个提高应用程序产品管理的提示
    成功的产品经理来自各种教育背景和职业道路。他们的技能可能会从更具创意的角度偏向更具技术性虽然今天更成为想成为“产品人”的人,但是经常人们陷入与产品有关的职位,而不是......
  • ChatGpt怎么玩
    注册梯子先找好梯子,归属地最好是米国之类的,否则提示OpenAI'sservicesarenotavailableinyourcountry.注:最好用固定代理,如trojan-cconfig.json,多个......
  • 如何用低代码平台快速搭建一套应用系统
    一、低代码是什么低代码平台是继中台之后又一个火爆的话题,实际上低代码本身并不是一个新颖的话题,也不是最近才有的技术突破和创新,而是存在了十几二十年的概念。早期的大型......
  • rabbitmq最佳实践
    在使用消息机制时,我们通常需要考虑以下几个问题:消息不能丢失保证消息一定能投递到目的地保证业务处理和消息发送/消费的一致性本文以RabbitMQ为例,讨论如何解决以上......
  • Maven高级应用
    一、分模块开发与设计分模块开发的意义将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享分模块开发的步骤:创建Maven模块书写模块代码分模......
  • nacos配置中心修改了微服务的配置信息,微服务应用如果想加载最新的配置信息,是不是需要
    1.nacos配置中心修改了微服务的配置信息,微服务应用如果想加载最新的配置信息,是不是需要重新一下微服务应用呢不需要,nacos配置中心可以实现配置的动态刷新,当你修改了配置......
  • ES6 解构基础用法和应用!
    ES6解构基础用法和应用!注意:解构只与语法有关,不与let,var,const相关 一、数组解构取值//数组---取值letarr=["张三","李四","王五"];leta=arr[0];letb=......
  • 实现一个撸代码版chatgpt聊天窗
    最近在学习chatgpt和react,想做个东西练练手。刚好看到vscode上面有个chatgpt插件,可以在聊天对话框中输出markdown格式的代码块,哎呦不错哦,就它了。由于时间有限直接去githu......
  • Microsoft.NET和Windows应用程序调试 读书笔记
    WhyIsn'tThereaChapteron.NETDebuggers?Youmightbewonderingwhythereisn'tacorrespondingchapterinthisbookonhowMicrosoft.NETdebuggerswork.O......
  • 《渗透测试》信息打点-Web应用&企业产权&指纹识别&域名资产&网络空间&威胁情报 Day12
     #知识点:1、业务资产-应用类型分类2、Web单域名获取-接口查询3、Web子域名获取-解析枚举4、Web架构资产-平台指纹识别 #业务资产:通过爱企查或者其他平台找到......