- 博客(62)
- 收藏
- 关注
原创 傅里叶级数与傅里叶变换的推导
文章首发于:https://zhuanlan.zhihu.com/p/342982724主要参考自 DR_CAN 的B站教程 纯干货傅里叶变换。0x01 三角函数系的正交性与傅里叶级数我们首先看一下这个定理: 组成三角级数的函数系0(sin0x),1(cos0x),sinx,cosx,sin2x,cos2x,…,sinnx,cosnx\begin{aligned}0(\text{sin}0x),1(\text{cos}0x),\text{sin}x,\text{cos}x,\text{sin}2
2021-01-09 15:54:48
1606
原创 Noise Contrastive Estimation 前世今生——从 NCE 到 InfoNCE
0 前言作为刚入门自监督学习的小白,在阅读其中 Contrastive Based 方法的论文时,经常会看到 InfoNCE 这个 loss(在 CPC 的论文中提出),之前只知道它的思想来自于 NCE 以及代表什么含义,但是对其背后的理论推导、以及如何从 NCE 迁移到 InfoNCE 的思想不太清楚,因此这篇文章就是通过理论推导和自己的理解来对 NCE 和 InfoNCE 的来龙去脉有个了解。1 从 NLP 入手1.1 背景NCE,也就是 Noise Contrastive Noise(噪声对比
2020-12-22 18:55:51
4852
9
原创 【论文笔记——AMDIM】Learning Representations by Maximizing Mutual Information Across Views
arxiv:https://arxiv.org/abs/1906.00910code:https://github.com/Philip-Bachman/amdim-public1 Introduction这篇文章是对 DIM 进行的一个扩展研究(主要是Local DIM),主要是在 DIM 的基础上引入了 mutiple views ,也就是最大化一个共享 context 中不同视图(views)之间互信息(Across Views)。什么是 mutiple views 呢?例如,我们观察一个事
2020-11-21 17:29:37
3931
3
原创 【论文笔记——DIM】Learning Deep Representations By Mutual Information Estimation and Maximization
arxiv:https://arxiv.org/abs/1808.06670code:https://github.com/rdevon/DIMreport video:https://www.youtube.com/watch?v=o1HIkn8LEsw&t=256s1 Introduction无监督学习一个重要的问题就是学习有用的 representation,本文的目的就是训练一个 representation learning 函数(即编码器encoder) ,其通过最大编码器输入和
2020-11-07 15:43:57
4346
4
原创 【论文笔记——对比预测编码CPC】Representation Learning with Contrastive Predictive Coding
Representation Learning with Contrastive Predictive Coding论文链接:https://arxiv.org/abs/1807.037481 Introduce作者提出了一种叫做“对比预测编码(CPC, Contrastive Predictive Coding)”的无监督方法,可以从高维数据中提取有用的 representation,这种 representation 学习到了对预测未来最有用的信息。目前无监督学习存在的问题:如何更好的从原
2020-10-19 00:53:16
4982
4
原创 【论文笔记——自监督学习综述】Self-supervised Visual Feature Learning with Deep Neural Networks: A Survey
【论文笔记——自监督学习综述】Self-supervised Visual Feature Learning with Deep Neural Networks: A SurveyAbstractLarge-scale labeled data are generally required to train deep neural networks in order to obtain better performance in visual feature learning from images
2020-10-11 14:22:05
6965
1
原创 ISASearch:基于分布式爬虫的信安技术文章搜索引擎
摘 要随着大数据时代的到来,信息的获取与检索尤为重要,如何在海量的数据中快速准确获取到我们需要的内容显得十分重要。因此本项目为了更好的整合利用安全领域特有的社区资源优势,首先使用Scrapy爬虫框架结合NoSQL数据库Redis编写分布式爬虫,并对先知、安全客、嘶吼三个知名安全社区进行技术文章的爬取;然后选取ElasticSearch搭建搜索服务,同时提供了RESTful web接口;最后通过Django搭建可视化站点,供用户透明的对文章进行搜索。关键词: 分布式爬虫; Scrapy; 搜索引擎; Re
2020-07-02 15:35:05
976
原创 《0day安全》中的堆溢出利用调试
0x01 堆的工作原理实验环境:推荐使用环境备注操作系统Windows20000虚拟机分配策略对操作系统非常敏感编译器Visual C++ 6.0默认编译选项编译选项默认编译选项VS2003/VS2005的GS选项将导致实验失败build 版本releaseVS2003/VS2005的GS选项将导致实验失败调试器Ollydbg需要配置Make OllyDbg just-in-time debugger选项调试代码如下:#inclu
2020-06-26 16:04:01
899
4
原创 x86下的C语言函数调用栈分析
1 __cdecl程序代码:void __cdecl demo_cdecl(int x, int y, int z, int w) { int sum = x + y + z + w;}int main (){ demo_cdecl(1, 2, 3, 4); return 0;}在32位的Windows XP上使用VC6.0编译,用x32dbg进行动态调试:此时栈帧情况如下:然后继续运行,进入demo_cdecl函数栈帧,这里在执行CALL的时候,实际上已经
2020-06-26 15:36:54
481
原创 ThinkPHP v6.0.x 反序列化
0x01 环境搭建使用composer进行安装:composer create-project topthink/think=6.0.x-dev TPv6.0cd TPv6.0php think run定义入口文件app\controller\Index.php:<?phpnamespace app\controller;use app\BaseController;...
2020-04-27 03:17:23
3463
原创 学一下shell编程
Shell变量(1)定义变量的时候,赋值号=周围不能有空格(2)定义变量时不需要$符号,而使用变量时可以用$var或这${var},推荐使用${}的方式,便于解释器识别变量边界。name="Lethe"echo ${name}(3)单引号与双引号的区别单引号''包围变量的值时,单引号里面是什么就输出什么,即使内容中有变量和命令(命令需要反引起来)也会把它们原样输出。双引号""包围...
2020-03-30 17:37:16
264
原创 易霖博CTF——Writeup
签到题 EasyRSA给了flag.en和rsa_private_key.pem私钥,直接用openssl解密,得到flag{We1c0meCtf3r_elab}Web1 rce_noparphp的无参数rce,利用PHPSESSID,参考:https://xz.aliyun.com/t/6316#toc-8脚本如下:import requestsimport binasciip...
2020-03-30 17:32:22
1753
原创 通过两道CTF题学习过滤单引号的SQL注入
0x00 前言通常来说,在进行字符型的SQL注入时,都需要先将前面的引号等(以单引号为例)进行闭合才能执行我们构造的SQL语句,那么如果单引号被过滤了,是否还能够成功的SQL注入呢?答案是可以,当你在判断登录时使用的是如下SQL语句:select user from user where user='$_POST[username]' and password='$_POST[passwor...
2020-03-24 17:37:50
17598
1
原创 《机器学习实战》读书笔记——k-近邻算法
1 k-近邻算法概述k-近邻算法采用测量不同特征值之间的距离方法进行分类。优点:精度高、对异常值不敏感、无数据输入假定缺点:计算复杂度高、空间复杂度高适用数据范围:数值型和标称型1.1 k-近邻算法工作原理:存在一个样本数据集合(训练集),并且样本集中每个数据都有对应的标签。在输入一个没有标签的新数据时,将这个新数据的每个特征与样本集中数据对应的特征进行比较,然后从样本集中提取出与...
2020-03-22 22:33:34
378
原创 《机器学习实战》读书笔记——机器学习基础
1 何谓机器学习机器学习就是把无序的数据转换成有用的信息1.1 相关术语(1)模型:模型是机器学习的核心概念,可以认为是某种机器学习算法在设定参数后的产物。(2)数据集:数据集又分为训练集和测试集,在训练模型阶段使用,叫做训练集;在测试模型阶段使用,就叫测试集。(3)数据:数据集就是数据的集合。在机器学习中,称一条数据为一个样本(Sample),形式类似一维数组。样本通常包含多个特征(F...
2020-03-22 22:33:07
247
原创 GYCTF2020_Writeup
Blacklist一到注入题,和2019强网杯的随便住基本一致,但是多过滤了set、prepare、alter、rename:return preg_match("/set|prepare|alter|rename|select|update|delete|drop|insert|where|\./i",$inject);获取表名和列名的方式与原题一致,而获取数据可以参考这篇文章:http...
2020-03-15 17:26:43
2608
原创 GXYCTF2019&GWCTF2019——Writeup
GXYCTFPing Ping Ping进入题目后,提示了 /?ip=,于是加上参数 ?ip=1试试看,发现是执行了ping命令:然后尝试:?ip=;ls发现成功执行了命令,但是当读取 flag.php 时,发现过了空格,尝试下面两种绕过方式${IFS}$IFS$9 使用第二个$IFS$9代替空格成功绕过,执行 ?ip=;cat$IFS$9flag.php,发现 flag...
2020-03-03 22:21:49
3309
1
原创 Flask学习(6)——重构应用结构
到现在为止,hello.py的完整代码如下:from flask import Flask, render_template, session, redirect, url_for, flashfrom flask_bootstrap import Bootstrapfrom flask_wtf import FlaskFormfrom wtforms import StringField...
2020-02-01 18:14:00
381
原创 Flask学习(5)——电子邮件
在 Python 标准库中通常使用 smtplib 包发送电子邮件,而 Flask 中的 Flask-Mail 扩展不仅包装了 smtplib,且能更好的与 Flask 集成。首先在虚拟环境中安装此扩展:pip install flask-mailFlask-Mail文档:http://www.pythondoc.com/flask-mail/index.html一、配置Flask-Ma...
2020-02-01 15:02:51
775
原创 Flask学习(4)——数据库
这里我们使用 Flask-SQLAlchemy 扩展来进行数据库操作,SQLAlchemy 是一个强大的关系型数据库框架,支持多种数据库后台。SQLAlchemy 提供了高层 ORM,也提供了使用数据库原生 SQL 的低层功能。同样现在虚拟环境中安装此扩展:pip install flask-sqlalchemy一、配置在 Flask-SQLAlchemy 中,数据库使用 URL 指定,...
2020-01-31 18:13:18
2206
原创 Flask学习(3)——表单
在Flask中,通常使用Flask-WTF扩展来对Web表单进行处理,这样更加方便。首先在虚拟环境中安装此扩展:pip install flask-wtf一、配置Flask-WTF扩展不用在应用层初始化,但是需要配置一个密钥(SECRET_KEY),Flask 使用这个密钥保护用户会话,以防被篡改,也就是防止 CSRF 攻击。app = Flask(_name__)app.config...
2020-01-30 16:24:53
794
原创 Flask学习(2)——模板
一、Jinja2模板引擎1.1 变量默认情况下,Flask 在应用目录中的 template 子目录中寻找模板。在模板中使用 {{}} 结构来表示一个变量,是一种特殊的占位符,告诉模板引擎这个位置的值从渲染模板时使用的数据中获取。index.html:<h1>Hello World!</h1>user.html:<h1>Hello, {{ nam...
2020-01-29 15:25:42
331
原创 Flask学习(1)——环境与应用的基本结构
一、虚拟环境配置1.1 创建虚拟环境Python 3 和 Python 2 解释器创建虚拟环境的方法有所不同。在 Python 3中,虚拟环境由 Python 标准库中的 venv 包原生支持。使用如下命令创建虚拟环境:python -m venv virtual-environment-name-m venv 选项的作用是以独立的脚本运行标准库中的 venv 包,后面的参数为虚拟环境...
2020-01-22 23:01:30
295
原创 Java复习——基础知识
第二章 Java语言开发环境环境变量配置:PATH、CLASSPATH(类路径)main 方法是一个特殊的方法, 每个 java 应用程序都需要含有这个方法, 因为它是程序执行的入口, 由它再去调用其他方法main 方法必须放在类中, 而且格式固定:public static void main(String[] args)或public static void main(...
2020-01-04 22:22:35
2572
原创 Java复习——编程练习
第七章 图形界面1、计算器开发一个开发一个加、减、乘、除四则运算器。用户界面如下图:思路:顶层容器JFrame使用GridLayout创建4行1列单元格,第1、2、4为文本框,分别用来显示两个运算数和运算结果,第3格为JPanel,其中包含加减乘除四个运算按钮。使用匿名类分别为四个按钮增加代码如下:import java.awt.*;import javax.swing.*;...
2020-01-04 22:22:19
505
1
原创 安恒月赛2020元旦场Writeup
正在复习密码学,突然发现今天有月赛了…于是做了一下,很简单的一次题目。。Web1进入后是一个JS的游戏,在index.js里修改一下destroyed的增加设置大一些,如下:然后随便玩一下就能得到flag了:Web2题目名字叫地图,进入后发现实际上没什么功能,只有index.php一个页面,点击发现url中存在page=index,于是尝试文件包含,正常的base64编码的pay...
2020-01-01 19:10:37
2495
原创 领航杯部分Writeup
编码解码V2VsY29tZXRvdGhlUGlsb3RDdXA=签到提,base64解码一下得到:WelcometothePilotCup取证分析给了一个pacp.pcap,CTF Wiki里面收录过这一道例题…wireshark 打开发现全部为DNS协议,查询名为大量字符串xxxxx.skullseclabs.org好像是BSides San Francisco CTF 20...
2019-11-25 09:08:47
3607
原创 浅谈python反序列化漏洞
0x01 python序列化与反序列化Python 的序列化和反序列化是将一个类对象向字节流转化从而进行存储和传输,然后使用的时候再将字节流转化回原始的对象的一个过程。python中的序列化操作是通过pickle模块,而该模块主要包含ldumps将dict转化为str格式,loads将str格式转化为dict格式。dump和load与文件操作结合起来,pickle.dump(obj, f...
2019-11-19 21:18:21
2818
1
原创 phar反序列化小结
0x00 phar反序列化phar反序列化即在文件系统函数(file_exists()、is_dir()等)参数可控的情况下,配合phar://伪协议,可以不依赖unserialize()直接进行反序列化操作。关于其他反序列化的总结,可以看我的这篇文章0x01 原理首先了解一下phar文件的结构,一个phar文件由四部分构成:a stub:可以理解为一个标志,格式为xxx<...
2019-11-13 14:06:38
3074
原创 算法实验考试复习
实验一问题 A: 判断字符串是否是手机号码题目描述手机号码是一串数字,长度为11位,并且第一位必须是1,现在给出一个字符串,我们需要判断这个字符串是否符合手机格式。输入多组测试数据。每组数据输入一个字符串。输出若该字符串符合手机号码格式,输出1,否则输出0。样例输入12345612345样例输出1思路三个判断条件:长度为11位首位为1均为数字代码#inc...
2019-10-28 09:56:51
3269
原创 Web安全测试个人赛练习
报了一个Web安全测试个人赛,提供了赛前的练习,做一下就当准备了吧…简单的md5查看源代码:数组绕过即可,post:data1[]=a&data2[]=bmd5同样是一道md5绕过,不过这里没法绕过,只能老老实实去找md5碰撞,google还是挺好找的post:data1=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%...
2019-10-25 01:21:11
3028
原创 RoarCTF_Web_Writeup
周末有点事,BUUCTF上复现一下…easy_calc这一题的界面和国赛的lova_math一题一样,应该是从那题改的。源码中提示了这题加了waf,我们访问calc.php,看到源码如下num传入表达式,然后用eval()计算并输出,因为加了waf所以num中如果有字母,会直接返回403,所以第一步就是绕过它。这里可以利用HTTP请求走私来绕过,关于该漏洞可参考这篇文章:协议层的攻击...
2019-10-24 19:31:30
1099
4
原创 数据结构实验复习
为了复习数据结构实验考试,将OJ题目再过一遍吧…不要问我为什么大三才考这个,这就是转专业的魅力~~实验一问题 A: 判断三角形形状题目描述给你三角形的三条边,你能告诉我它是哪种三角形吗?如果是直角三角形,请输出“good”。如果是等腰三角形,请输出“perfect”。否则,请输出“just a triangle”。题目保证输入数据合法。输入输入的第一行为一个整数t,表示测试样例的数...
2019-10-20 20:50:34
1575
原创 学一下Ajax
0x01 Axaj简介(1)概述AJAX = 异步 JavaScript 和 XML。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。(2)Ajax的执行过程使用Ajax技术通常包括以下几个步骤:创建一个Ajax对象。在此对象的基础上根据HTTP协议...
2019-09-30 20:20:56
206
原创 ByteCTF_2019&XNUCA_2019部分web题复现
EzCMS1、扫描目录有www.zip,下载得到源码。整个题目的功能如下:index.php页面验证登陆,可以任意账号登陆到upload.php上传页面,但是只有admin账号才能进行文件上传。访问了upload.php·,就会在沙盒下生成一个.htaccess文件,内容为:lolololol, i control all。上传文件后,会返回文件的存储路径,view details可以...
2019-09-11 13:06:12
4773
2
原创 利用SoapClient类进行SSRF+CRLF攻击
前一段时间在De1CTF中的ShellShellShell以及SUCTF的Upload labs2都涉及到了利用PHP的SoapClient类进行SSRF,因此在这里记录下。0x01 什么是SoapSOAP是webService三要素(SOAP、WSDL、UDDI)之一:WSDL 用来描述如何访问具体的接口。UDDI用来管理,分发,查询webService。SOAP(简单对...
2019-09-06 00:53:43
3572
原创 SUCTF_2019_部分复现
Web1 CheckIn1、进入题目后是一个简单的上传页面:先尝试上传普通的图片马,发现会显示<? in contents!,过滤了<?,可以使用<script language='php'></scrip>绕过。修改后再次上传发现显示exif_imagetype:not image!,还用了exif_imagetype()进行检验,可以加上GIF89a...
2019-09-01 17:57:40
5136
4
原创 XML实体注入攻击
0x01 基础知识一、XMLXML教程1、什么是 XML?XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准2、XML 与 HTML...
2019-08-15 22:37:01
1438
原创 python沙盒逃逸
0x01 简单介绍python沙盒逃逸就是通过绕过种种过滤和限制,拿到本不应获取的一些“危险函数",或者绕过Python终端达到命令执行的效果。0x02 常用备忘录(1)func_globals用法:function.func_globals作用:返回包含函数全局变量的字典的引用——定义函数的模块的全局命名空间。>>> def test():pass...>...
2019-08-13 22:11:43
2241
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人