- 博客(39)
- 收藏
- 关注
原创 【CTF】Python原型链污染
在Python中每个对象都有一个原型,原型上定义了对象可以访问的属性和方法。当对象访问属性或方法时,会先在自身查找,如果找不到就会去原型链上的上级对象中查找,原型链污染攻击的思路是通过修改对象原型链中的属性,使得程序在访问属性或方法时得到不符合预期的结果。
2023-08-05 13:14:59
1960
原创 【论文阅读】COPA:验证针对中毒攻击的离线强化学习的稳健策略
目前强化学习完成任务的水平已经和人类相接近,因此研究人员的目光开始转向强化学习的鲁棒性研究。目前在强化学习测试阶段的攻击和防御已经有了比较多的研究,但是针对强化学习在训练阶段的攻击防御还没有太多涉及。本文专注于证明离线RL在存在中毒攻击时的鲁棒性,其中训练轨迹的子集可以被任意操纵。作者提出了一个认证框架COPA,以认证不同认证标准下可容忍的中毒轨迹数量。本文提出了两个认证标准:每个状态行为稳定性和累积奖励界限。实验结果显示:(1)所提出的鲁棒聚合协议可以显着提高鲁棒性;
2023-05-09 11:37:41
1042
1
原创 【论文阅读】Robustness in Reinforcement Learning
鲁棒性主要解决的问题是提高策略在面对不确定性或者对抗性攻击场景时的最差性能。我们在训练策略的时候通常是在模拟环境,但执行时会在真实环境中,真实环境往往存在参数不同从而导致策略执行出现问题,此时鲁棒性就是避免造成灾难故障的重要性能。除了常规RL的MDP过程,还定义了不确定变量U,U可以是状态变量S、动作变量A、奖励函数R或者转换函数P,鲁棒性RL算法旨在找到一种策略,使不确定变量U的最差性能最大化maxπminU∈FuJMπUmaxπminU∈FuJ。
2023-04-25 14:20:18
1131
2
原创 【强化学习】分层强化学习
最近一直在做实验的一篇论文有一些些分层强化学习的思想,就来学一学真分层强化学习,虽然已经是三四年前流程的东西了,但也有了解的必要(要不不知道怎么入手了)分层强化学习的主要思想是将一个复杂的任务分成很多个子任务,每个子任务逐步执行的过程。
2023-04-20 16:28:00
1097
原创 【论文阅读】Error Bounds of Imitating Policies and Environments
Compare BC & GAIL Performance of Imitated Policy
2023-02-20 10:23:12
569
1
原创 基于mt7621架构路由器编译auditord(生成ipk包)
在完成移动互联网安全第二次实验中,遇到了很多之前没有见过的问题,特此记录实验环境路由器型号:Xiaomi R3G(mt7621)Openwrt: 基于L大源码(R22.3.13)内核版本:5.4.175Kali:21.04准备工作下载SDK环境由于实验所用的auditord为源码,因此需要自行编译生成对应ipk包,再进行安装SDK环境:是一个仿照真实Openwrt的完整编译环境加入环境变量在编译过程中我们需要使用交叉编译环境,才能在Kali中编译出可在Openwrt中运行的程序
2022-03-21 17:14:20
6315
原创 PWN 栈溢出基础【持续更新】
栈溢出基本栈栈是一种先进后出的数据结构,主要有PUSH和POP两种操作,都是对栈顶元素进行操作内存中从高地址向低地址生长,高地址为父函数的栈帧当一个函数执行完毕时,程序要回到调用指令的下一条指令(紧接call指令)处继续执行。函数调用过程通常使用堆栈实现,每个用户态进程对应一个调用栈结构(call stack)。编译器使用堆栈传递函数参数、保存返回地址、临时保存寄存器原有值(即函数调用的上下文)以备恢复以及存储本地局部变量C语言函数调用栈基础知识以下知识点基于x86架构EBP:栈帧基址指针寄
2021-08-04 17:20:17
2881
原创 【数据结构】图
图图是由一个顶点集V和一个弧集R构成的数据结构分为有向图和无向图名词和术语网:弧或者边带权的图,称为有向网或者无向网子图:顶点和弧都包含在另一个图G,则称这个图为图G的子图完全图:n个顶点,边数为n(n-1)/2的无向图称为完全图有向完全图:n个顶点,弧数为n(n-1)的有向图称为有向完全图稠密(稀疏)图:边或弧的数量e>nlogn称为稠密图度:和顶点V关联的边的数目称为度;对于有向图来说,分入度和出度,出度是从此顶点发出去的弧的数量,入度是指向顶点的弧的数量,在有向图中度(TD)
2021-06-02 17:41:47
824
原创 【数据结构】线索二叉树&哈夫曼树&森林
树和二叉树线索二叉树定义我们遍历二叉树的得到一个线性序列,指向该线性序列的“前驱”和“后继”的指针,称为“线索”。线索链表是在二叉链表的基础上增加两个标志域,如果该结点的左子树不空,那么Lchild域的指针指向其左子树,并且将左标志域的值设为“指针Link”,说明Lchild域中是指向左子树;否则,Lchild域的指针指向遍历得到的线性序列的“前驱”,将左标志域的值定为“线索Thread”。Rchild同样,但是在没有右子树时,指向“后继”这种记录方式可以使得我们很快找到一个结点的“前驱”和“后继
2021-05-26 16:04:40
351
原创 【数据结构】树和二叉树
树和二叉树树:是由n个结点构成的有限集合T。若n=0称为空树基本术语结点:数据元素+若干指向子树的分支结点的度:分支的个数树的度:树中所有结点的度的最大值叶子结点:度为零的结点分支结点:度大于零的结点路径:从根到该结点所经分支和结点构成孩子结点、双亲结点、兄弟结点、祖先结点、子孙结点有序树:把子结点按从左到右的次序顺序编号,结点的位置固定,不能互换,即使其他结点删除,它的编号也不变二叉树定义二叉树是n个结点的有限集合,该集合为空,或者由一个根结点及两棵互不相交的左、右子树构成,而
2021-05-12 20:20:11
214
原创 【数据结构】栈和队列
栈和队列是限定插入和删除操作只能在表的端点进行的线性表栈是只能在栈顶进行插入删除操作,先入后出//顺序栈,栈顶指针指向栈顶元素的下一个位置#define STACK_INIT_SIZE 100;//存储空间初始分配量#define STACKINCREMENT 10;//存储空间分配增量typedef struct{ SElemType *base;//栈底指针 SElemType *top;//栈顶指针 int stacksize; //当前已分配的存储空间}SqStack;St
2021-04-20 19:23:13
262
原创 【数据结构】线性表
线性表的类型定义一个线性表是n个数据元素的有限序列同一个线性表中的元素属于同一数据对象线性表的顺序表示和实现线性表的顺序表示是用一组地址连续的存储单元依次存储线性表的数据元素顺序表是一种随机存取的存储结构(随机存取:查找所需时间与元素所在位置无关),也就是说在顺序表中查找元素(已知元素位置)的时间复杂度为O(1)但在顺序表中插入和删除元素,时间复杂度均为O(n)#define LIST_INIT_SIZE 100 //初始分配量#define LISTINCREMENT 10 //分配增量
2021-04-11 16:10:13
327
原创 数字内容安全【补充内容】
课程补充知识由于在学习数字内容安全的过程中,出现了许多不知道,不了解的知识,故开此博客,将其中不了解的知识进行学习记录数字图像处理 DFT变换在数字图像处理中主要用到的是二维离散傅里叶变换数字图像中的频谱频率:对于图像来说就是指图像颜色值的梯度,即灰度级的变化速度。频率越大说明原始信号变化速度越快,频率越小说明原始信号越平缓。当频率为0时,表示直流信号,没有变化。因此,频率的大小反应了信号的变化快慢。高频分量解释信号的突变部分,而低频分量决定信号的整体形象。幅度:可以简单的理解为是频率的权,即
2021-03-11 22:34:48
456
原创 数学建模常用解题方法
关键词标定匹配法将赛题对应的关键词勾画出来,然后根据其机理去匹配对应的算法算法类型关键词数据处理补全、剔除、选取数据、分析数据、分析走势等关联与分析原因、为什么?推测、两者关系、提出方案分类与判别分类、分级、判定、隶属、划分、异常值、识别等评价与决策评价、评判、提出方案、选择方案、择优、后果预测与预报未来形势、走势、预测、变化、效果、未来、影响优化与控制调度、合理安排、选址、调整、优化、排队案例等效替代法主要针对工程性很强的赛题。是指
2021-01-26 09:56:49
1536
原创 数学建模算法体系分类
数据预处理模型插值拟合主要用于对数据的补全处理其中样本点较少时(泛指样本点小于30个)采用插值方法,主要有拉格朗日插值算法、牛顿插值、双线性内插和双三次插值样本点较多时(大于30个)则采用拟合函数主成分分析主要用于多维数据的降维处理,减少数据冗余等聚类分析主要用于分析诊断数据异常值并进行剔除适用于空间分布的大样本/小样本异常值监测均值、方差分析、协方差分析等统计方法主要用于数据的截取或特征选择等优化模型三要素:决策变量通过变量的改变,获得更好的结果可以理解为控制变量,或者是
2021-01-25 21:49:40
6861
1
原创 Java期末复习总结篇
0x01 Java语言基础知识Java程序的特点Java是面向对象的程序设计语言:可重用性、可靠性安全性平台无关性:编译后可在不同平台上运行多线程内存管理:Java对内存自动进行管理并进行垃圾回收编译型语言Java的特征抽象和封装:抽象的结果形成类。可以根据需要设置不同的访问控制属性继承性:可以对已有类增加属性和功能,或进行部分修改来建立新的类。实现代码的重用多态性:在面向对象的程序中,同一个消息被不同的对象接收后可以导致不同的行为基本数据类型与表达式标识符第一个字符必须
2020-12-12 16:40:18
4681
3
原创 计算机组成与系统结构——期末复习
第一章 计算机系统概论计算机系统分类从信息的表示形式和处理方式:电子数字计算机:处理离散数据,运算速度快、准确、存储量大电子模拟计算机:处理连续的数据(模拟量),以电信号的幅值模拟数值的大小从用途:通用计算机:功能多、配置全、适应性强、但牺牲了效率、速度和经济性专用计算机:针对某一任务设计的计算机,是最有效、最经济和最快速的计算机,适应性差从运算速度、存储量、功能强弱:超级计算机:运算速度超过每秒1亿次的高性能计算机大中型计算机:有很高的运算速度和很大的存储量但在量级上不及超级计算机
2020-11-23 22:04:27
2121
原创 CTF-Training Week3 Crypto
Crypto 密码学数学、密码学、以及脑洞Encrypt & Decrypt古典密码对称加密(流密码/块加密)非对称加密其他古典密码前置知识:几大类古典密码:单表代换密码:每个明文字母都有一个密文字母进行对应,攻击者可能通过观察某些密文字母出现的频率来猜测其对应的明文。栅栏密码:利用明文字母的排列组合进行加密维吉尼亚密码:用字符串作为密码,按照字符串中每个字符在字母表中的次序对明文进行循环加密入门级:凯撒密码(cyberpeace)通过单纯的移位来完成
2020-10-25 14:43:19
237
1
原创 XSS跨站脚本漏洞 初学
0x00 概述XSS是指攻击者在网页中嵌入客户端脚本,通常是JavaScript编写的恶意代码,当用户使用浏览器浏览被嵌入恶意代码的网页时,恶意代码将会在用户的浏览器上执行。XSS属于客户端攻击,但网站管理人员也属于用户之一,这就说明XSS可以攻击“服务器端”0x01 XSS原理解析XSS攻击是在网页中嵌入客户端恶意脚本代码,这些恶意代码一般使用JavaScript语言编写,因此JavaScript能力越强,XSS的威力越大。攻击者所需要的就是向Web页面中注入JavaScript代码0x02 X
2020-10-05 17:22:28
427
1
原创 自学文件包含【更新中】
文件包含开发人员将相同的函数写入单独的文件中,需要使用某个函数时直接调用此文件,无需再次编写,这种文件调用的过程称为文件包含文件包含漏洞开发人员为了使代码更灵活,会将被包含的文件设置为变量,用来进行动态调用,从而导致客户端可以恶意调用一个恶意文件,造成文件包含漏洞PHP中相关函数include():传入路径,如果路径不存在,回报警告,但继续执行include_once():只包含一次require():包含失败,会直接终止,不会再往下执行require_once()1.php<
2020-10-03 14:39:58
265
原创 【GXYCTF2019】BabySQLi wp
打开容器后发现,只是一个登录页面这种登录一般都是admin为用户名,再随便输个密码,发现出现wrong pass打开源代码,发现一行注释<!--MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5-->先用base64解密一次,发现是乱码,再用base32,解出来出现两个等号,有base64的特征,再次用base64解密,发现select * f
2020-09-28 19:07:17
413
原创 PHP自学---黑马程序员笔记【持续更新】
视频:https://www.bilibili.com/video/BV18x411H7qD?p=3目录基础1、静态网站访问原理:2、动态网站访问3、C/S、B/S4、MySQL访问流程5、PHP连接MySQL数据库6、配置虚拟主机基础语法初步语法变量变量的使用变量命名规则预定义变量可变变量变量传值分区值传递引用传递常量常量的基本概念常量定义的形式定义方式常量命名规则:系统常量数据类型PHP八大数据类型类型转换两种转化方式:转换说明:整数类型浮点数类型基础Web分为两类:静态网站和动态网站。流程:浏览
2020-09-27 14:22:02
2294
1
原创 课堂笔记 计算机组成与系统结构
0x01 计算机系统概论计算机的分类电子模拟计算机:连续量,运算过程连续电子数字计算机:不连续的离散数字,速度快,准确,存储量大专用计算机:有效、经济、快速,适应性差通用计算机:适应性强,但牺牲了效率、速度和经济性通用计算机分类计算机的发展简史从使用器件的角度来说,计算机的发展大致经历了五代的变化电子管计算机:体积庞大,成本高,可靠性低,数据处理机开始得到应用晶体管计算机:工业控制机开始得到应用中小规模集成电路计算机:小型计算机开始出现大规模和超大规模集成电路计算机:微
2020-09-26 15:57:06
746
原创 自学文件上传【完结】
文件上传上传就是将信息从个人计算机传送至中央计算机系统上,让网络上的人都能看到。将制作好的网页、文字、图片、视频等通过Web或者Ftp传送至互联网上的服务器系统,这一过程称为上传。通过上传点实现我们想要的一系列操作。客户端校验-----Javascript校验JavaScript是在自己电脑本机上运行的,用户本身是可以控制的如何判断是JS校验在点击上传的时候,查看网络,如果没有网络请求说明是客户端校验JS校验代码示例<script type="text/javascript">
2020-09-21 19:28:09
178
原创 SQL注入学习总结【自用】
SQL注入自己在学习过程中的一点总结0x01 SQL注入原理在一些Web网页中,会允许用户传入参数,并将这些参数带入数据库中进行查询,这就产生了一些注入漏洞SQL注入漏洞需要满足以下两个条件:参数用户可控:前端传给后端的参数内容是用户可以控制的参数代入数据库查询:传入的参数拼接到SQL语句,且带入数据库查询0x02 MySQL注入相关知识点...
2020-09-17 19:42:46
1013
原创 Day3 SQL注入之报错注入(Header注入)
目录报错注入基本SQL语句Updatexml注入步骤具体代码报错注入当场景中仅仅将sql语句带入查询返回页面正确,没有返回点的时候,需要报错注入,用报错的回显把我们想要看到的东西,以一个报出错误的形式展现出来基本SQL语句插入数据insert into <table_name>(columns1,columns2,...) value ('value1','value2',...)更新xml文档,中间参数为路径select uodatexml(1,'~',1)语法
2020-09-05 12:20:10
422
原创 Day2 SQL注入之盲注
盲注使用场景页面无法显示数据库的记录, 只有正常页面和异常页面(即无回显点)我们只能一点一点去猜分类布尔盲注返回true和false时间盲注sleep()根据睡眠时间判断注入语句select length(database()): 计算长度substr(str,pos,num) :截取指定位置指定长度的字符串ascii(substr(database(),1,1) =107: 查询ascii码中对应的值if 判断语句猜数据库长度(第一个语句成立的话,执行第二个语句,否则执行第三
2020-09-03 22:47:36
228
原创 Day1 SQL注入入门
SQL注入原理数据库数据库就是将大量数据保存起来,通过计算机加工而成的可以高效访问的数据集合数据库结构库:就是一堆表组成的数据集合表:类似excel,由行和列组成的二维表字段:表中的列称为字段,每一列的标题叫做字段名记录:表中的行称为记录单元格:列和行相交的地方称为单元格在众多库中有一个最重要的:information_schema(系统自带库)在这个库中有三张表更重要:schemata:存有所有库名SCHEMA_NAME:库名tables:存有所有表名table_schem
2020-09-03 22:22:19
306
原创 HCTF 2018 WarmUp Wp
首先打开页面是一个滑稽的表情,直接F12看到source.php的提示ok/source.php <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["source"=>"source.php","hint"=>"hint.php"];
2020-08-28 20:25:48
364
原创 初识Javascript【持续更新】
初始JavaScript 【持续更新】JavaScript 简介JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。JavaScript 是一种轻量级的编程语言。JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。JavaScript 插入方法行内式,直接写到html内部<body> <input type= "button" value = "唐伯虎
2020-08-24 22:30:18
216
原创 记第一次CTF参赛
第一次参加比赛什么也不懂,赛前十五天才开始从零准备,在此之前只会写零星的python和C语言,能看弄html赛前准备看到misc不需要很多的知识,就选择了这一方向,开始比赛才知道自己的天真,最终自己只做出了一道半Misc签到题点亮全国地图,当所有地区ip数大于10,官方放出flag,很简单,拼手速的题the-best-ctf-game拿到附件,一个在windows打不开的文件,二话不说直接放到kali里binwalk,没有隐藏文件,用cat,在一群乱码之中隐约看到flag,直接拼出来,回答正确
2020-08-21 09:55:58
779
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人