【大模型】漏洞检测修复方向
Examining Zero-Shot Vulnerability Repair with Large Language Models(SP 23‘)论文方向:专注于研究软件源码漏洞的大模型修补方案生成,侧重于零样本有效修补方案的生成。文章提出的研究问题为: RQ1 现成llm是否能生成安全的补丁修复漏洞? RQ2 改变prompt中注释的上下文数量是否影响LLM提出修复意见的能力? RQ3 现实世界应用时存在什么挑战? RQ4 llm在修复漏洞方向有多可靠? 论文主要工作针对RQ1、2 漏洞程序代码生成: 指定两种类型的漏洞(CWE787写出边界和CWE89SQL注入),给大模型(Codex)提供相关的短程序,让大模型补全,再通过单元测试和CodeQL运行,评估程序功能。 生成过程中作者设置了不同温度值{0 0.25 0.5 0.75...
你没教会我的秘籍,我找谁学?
小时候,母亲问我:“你觉得爸爸和妈妈谁比较聪明?” ...
【CTFSHOW】 web入门jwt
web345第一题,将cookie的sub字段改为admin即可,同时将base64后的结果放进修改后的cookie访问/admin/ 本题未指定加密算法(alg字段)。 web346这一题给定了加密算法,尝试用none绕过,否则就要爆破secretkey 用jwt.io怎么也不能通过,猜测可能是由于三部分拼接的问题。这里用工具GitHub - ticarpi/jwt_tool: :snake: A toolkit for testing, tweaking and cracking JSON Web Tokens 修改头部alg为none,payload的sub字段为admin,然后去除jwt最后一个签名字段后上传。 web347提示了弱口令,所以需要爆破。工具还是jwt_tool 明确这里可以弱口令爆破的必要条件: 针对对称加密算法(比如这题的HS256) 使用字典爆破: python jwt_tool.py JWTCODE -C -d dictionary.txt 结果是123456 web348还是对称爆破,密钥是aaab
【CTFSHOW】 web入门-黑盒测试
web380 扫描目录后,存在page.php 这里存在一个id.php参数,可能是文件包含。get传入id=flag即可 web381 原来的page.php加入了一个包含文件的前缀。 在注释中存在一个不存在于常见目录名称的目录,访问之即可 web382访问上题的目录,发现一个登录界面。 简单注入即可 web383同382...
leetcode刷题记录
这个文档仅用于记录leetcode热题100的记录,重点记录我这个菜鸡认为惊为天人的解题思路。 1.【哈希】两数之和题面给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 solution:暴力题解1234567891011121314151617class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: res=[] for i in range(len(nums)): for j in range(i+1,len(nums)): if (nums[i]+nums[j]==target): res.append(i) ...
【CTFSHOW】 web入门php特性一(100-108)
Web100&101考点: PHP中逻辑与的两种形式:AND 和 &&,同样逻辑或也有对应的两种表达:OR 和 || 。但两种表达的优先级存在不同,AND和OR优先级低于=。以下段代码为例: 123456789101112$bA = true;$bB = false;$b1 = $bA and $bB;$b2 = $bA && $bB;var_dump($b1); // 输出$b1 = truevar_dump($b2); // 输出$b2 = false$bA = false;$bB = true;$b3 = $bA or $bB;$b4 = $bA || $bB;var_dump($b3); // 输出$b3 = falsevar_dump($b4); // 输出$b4 =...
【CTFSHOW】 web入门反序列化(PHP)
php魔术方法 __construct():实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。 __destruct():当删除一个对象或对象操作终止时被调用 __call():对象调用某个方法, 若方法存在,则直接调用;若不存在,则会去调用__call函数。 __get():读取一个对象的属性时,若属性存在,则直接返回属性值; 若不存在,则会调用__get函数。 __set():设置一个对象的属性时, 若属性存在,则直接赋值;若不存在,则会调用__set函数 __toString():打印一个对象的时被调用。如echo obj;或print obj; __clone():克隆对象时被调用。如:t=newTest();t1=clone...