自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 tcache attack

tcache attacktcache double freedouble free可以通过对同一块内存free两次,实现任意地址写。当libc版本在2.26以上时,free的块优先放入tcache,malloc也优先从tcache中取,性能更好。但是安全检查变弱了。static voidtcache_put (mchunkptr chunk, size_t tc_idx){ tcache_entry *e = (tcache_entry *) chunk2mem (chunk); ass

2021-11-01 17:06:52 231

原创 Javisoj_level6_x64_writeup

freenote writeup目的学习pwn基本套路学习堆相关漏洞和利用:unlink、堆的结构、free的流程题目笔记本题目:4个重要选项如上所示,选项代码如下所示:InitNote:初始化整个note的内存,共0x1810字节,前16字节为头部信息,分别是最大note数(note_buf: 0x100),当前note数(note_buf+8: 0);接下来初始化每个note的结构,每个note 24字节,第一个8字节(note_buf + 24*i + 16)表示该note

2020-10-14 20:28:29 32166

原创 Pwn5-bugku

pwn5基础知识格式化字符串漏洞:在c/c++的格式化输出中,使用的是printf函数,它的参数如下所示:int printf(const char *format, ...);使用方式如下:char buf[10] = {};read(0,buf,9);printf("%s",buf);如果直接使用printf输出buf的话,则存在格式化字符串漏洞:char buf[10] = {};read(0,buf,9);printf("%s",buf);原理:因为printf会

2020-10-11 09:39:44 254

原创 Android进程间通信—IPC Binder协议总结

Android进程间通信—IPC Binder协议背景为了解决Android不同应用间数据传输以及远程函数调用的需求,比如应用A要给应用B发送它的状态等,或者A要调用B的函数等,android提供了一套IPC通信工具(协议),binder。名词解释IPC:Inter-Process Communication,进程间通信,用于进程间数据传输。RPC:Remote Procedure Call,远程调用,用于进程间函数的调用。Binder:一种进程间通信/远程调用的工具。原理下面以服务注册、检

2020-06-15 10:06:37 390

原创 ctf.bugku ctf题目详解——pwn2

ctf.bugku ctf题目详解——pwn2题目程序分配了一个栈上的变量s,长度为0x30,并一开始置0.9行开始从外部读取0x100的数据到s中,由此可见此处存在一个栈溢出。同时使用ida打开程序之后发现还存在一个get_shell的函数:于是我们需要想方法利用溢出来调用这个get_shell函数。x64函数调用规则解题之前我们先学习下linux x64的函数调用规则。x64机器在调用某个函数前,比如int func(int a, int b, int c, int d, int e

2020-05-26 20:26:41 1204 1

翻译 支付框架常见攻击面

支付框架业务流程以及常见攻击面主流支付框架目前主流的支付应用有支付宝、微信支付、银联和百度支付,众多应用都集成了它们一种或者多种支付功能。在整个支付流程中包含一下几个部分(可能不同版本有些不同):支付应用服务器(cashier server,cs)、电商应用(merchant app,MA),电商应用服务器(merchant server,MS),以及支付应用SDK(TP-SDK)。模型1:...

2020-04-04 18:17:10 502

原创 C++特性学习——命名空间(namespace)

C++特性学习——命名空间(namespace)namespace是干什么的我们都知道编程语言中每个变量和函数都是自己的作用域,比如int a = 1;int main(void){ inb b = 0; ...}a的作用域就是全局,所有函数都能使用,b的作用域是main函数内,只有main函数内才能使用,超出范围就提示变量未定义;对于一些依赖包,他们通常都有很多变量,不同依...

2020-03-22 12:20:59 343

原创 Https抓包总结

使用抓包工具burpsuite、fiddler等进行抓包,方法和原理类似,下面一burpsuite为例,https通信时,客户端需要获取服务器的证书进行验证,直接使用burpsuite抓取https的请求,会出现ssl协商错误。因为在抓包工具抓包过程中,抓包工具是作为一个中间人进行数据包拦截和转发,当进行https请求时,需要服务器的证书验证通过才能信任,同时正文的解密密钥也是通过证书来协商的,而...

2019-10-13 21:30:07 716

原创 协同过滤推荐

协同过滤推荐协同过滤算法用于给用户推荐物品(商品、音乐、新闻等等),主要分为基于用户的推荐和基于物品的推荐。推荐算法涉及到两个业务对象:用户和物品。我们需要弄清楚推荐的目的:推荐是为了给用户推荐他想要的物品,为了描述用户,我们需要获取用户画像,比如用户的年龄、性别、职业、收入、偏好等等,同时为了描述物品,需要对物品进行描述。1. 基于用户的推荐首先统计每个用户所关联的物品,得到用户...

2019-10-13 18:32:38 730

原创 Oauth2.0过程介绍

背景/意义现在很多网站以及应用都能使用第三方账号登陆,例如在某个网页登陆QQ、微信、支付宝等,如果直接输入账号密码来进行账号登陆是不安全的,因为账号密码会传输到这个网页的后台,如果不是特别信任它,否则这样做是很不安全的。oauth就是为了让网页或者应用能够安全地使用第三方账号登陆,第三方账号的验证服务器它会给网页后台办法一个access token,网页服务器利用这个token来访问第三方账号...

2019-10-13 18:30:31 154

原创 HTTPS证书发放过程

1. HTTPS概述https是由http加上ssl的来的,之前一直使用的http通信过程直接用的明文,安全性极低,攻击人可以很容易窃取通信内容,同时冒充服务器和用户通信,窃取用户隐私数据。为了保证安全性,https引入了认证机制以及加密的通信。2.HTTPS过程详解首先我们要知道https的存在是为了证明和浏览器通信的服务器是合法的,同时保证通信过程不被第三方窃取。所以https重点要做的...

2018-11-08 21:01:51 1918 2

原创 LeetCode 894. All Possible Full Binary Trees

题目描述:A full binary tree is a binary tree where each node has exactly 0 or 2 children.Return a list of all possible full binary trees with N nodes.  Each element of the answer is the root node of o...

2018-09-12 21:48:24 369

原创 LeetCode 898. Bitwise ORs of Subarrays

We have an array A of non-negative integers.For every (contiguous) subarray B = [A[i], A[i+1], ..., A[j]] (with i <= j), we take the bitwise OR of all the elements in B, obtaining a result A[i] |...

2018-09-09 22:43:39 309

原创 迪杰斯特拉算法

迪杰斯特拉算法迪杰斯特拉算法用来计算图中某一点到其他点的最短距离,这个图可以是加权,也可以是无权的,距离指的是从一点到其它点所经过的边的权重和;假设现在有一个加权无向图,我们要求节点1到其他点的最短距离:算法流程初始化图arr:用一个邻接矩阵来表示一张图,矩阵元素为节点i到节点j的边权重,初始化时,如果i,j有一条边,则初始化为便权重,否者置为Integer.MAX_VALUE...

2018-09-08 20:05:26 225

原创 SQL_各种join解析(inner join,left join,right join,full join)

刚开始学sql的时候,碰到join语句一脸蒙蔽,搞不清各种join都是干什么,最近在跑模型,有点闲工夫写博客,就记录一下学习join的过程。join是用于连接两个或者多个表的语句,注意,这里的“连接”并不是你想象的直接把两个表拼起来,而是按照一定的规则来连接。它基本的语法是:select colum_name from table1join table2on condition其中join关...

2018-06-29 13:47:34 774

原创 机器学习(3)-西瓜书-逻辑回归

1

2018-06-14 20:16:08 1114

原创 机器学习(2)-西瓜书-梯度下降

前言

2018-06-05 10:24:25 1498

原创 机器学习(1)-西瓜书-线性回归

前言        老实说,西瓜书作为新入门的同学来说,并不是很好的一个选择,因为西瓜书以总结的方式介绍了各种机器学习的模型和算法,公式推导过程很多地方都是一笔带过,不利于新手入门,所以刚入门的还是去看网易公开课的机器学习视频。对于一些有一定机器学习基础的同学来说,这本书看起来效果更好。同时,在看西瓜书的时候并不是一定要按照顺序看, 可以根据自己的需求,找合适的内容看。  这篇blog主要介绍西瓜...

2018-06-04 19:15:00 1973

unlocker203(vm12可用).zip

解锁vm12 MACOS安装功能,该版本可用于vm12,安装时结束vm有关服务,用管理员打开即可。

2015-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除