自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

翻译 从输入 URL 到页面加载完成的过程中都发生了什么事情?

第一个问题:从输入 URL 到浏览器接收的过程中发生了什么事情?从触屏到 CPU首先是「输入 URL」,大部分人的第一反应会是键盘,不过为了与时俱进,这里将介绍触摸屏设备的交互。触摸屏一种传感器,目前大多是基于电容(Capacitive)来实现的,以前都是直接覆盖在显示屏上的,不过最近出现了 3 种嵌入到显示屏中的技术,第一种是 iPhone 5 的 In-cell,它能减小了 0.5 毫...

2019-08-09 21:07:37 252

转载 一步一步学ROP——ROP

(接上文)接下来我们打开ASLR保护。sudo -secho 2 > /proc/sys/kernel/randomize_va_space`现在我们再回头测试一下level2的exp,发现已经不好用了。#!bash$python exp2.py [+] Started program './level2'[*] Switching to interactive mode...

2019-07-24 16:12:43 756

原创 一步一步学ROP——shellcode和ret2libc

序ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防御(比如内存不可执行和代码签名等)。虽然现在大家都在用64位的操作系统,但是想要扎实的学好ROP还是得从基础的x86系统开始,但看官请不要着急,在随后的教程中我们还会带来linux_x64以及android (arm)方面的ROP利用方法。1 C...

2019-07-23 20:31:00 1222

原创 linux下漏洞利用方法——shellcode

废话不多说,直接拿出练习计划,事务的学习都应该从易到难,这样学习起来效率较高。(PS:没有基础的先看下大神写的入门介绍,个人感觉写得深入浅出,很容易明白.https://zhuanlan.zhihu.com/p/25892385首先学习linux下漏洞利用方法。国外有个大神已经总结了一波:https://sploitfun.wordpress.com/2015/ 。我是准备一个月学完这个。...

2019-07-22 18:35:10 1486

原创 Ubuntu安装pwntools

操作系统:ubuntu16.04环境准备:pythonpiplibssl-devlibffi-devpwntools安装:sudo apt-get install libffi-devsudo apt-get install libssl-devsudo apt-get install pythonsudo apt-get install python-pipsudo pi...

2019-07-19 01:11:24 5565

转载 汇编:函数调用

1. 从代码的顺序执行说起每一个程序员脑子里应该都有这么一种印象:“程序是顺序执行的”。这个观点其实和我们开篇所讲的cpu的流水线执行过程直接相关。让我们再回忆一下脑海中关于函数调用的概念,也许会是这个样子:这里的“控制流转移”又是如何发生的呢?在解释这个之前,也许我们需要科普一点有关于汇编的知识。2. 函数调用中的一些细节说明2.1 函数调用中的关键寄存器2.1.1 程序计数器PC...

2019-07-18 18:57:33 8902 3

原创 汇编:常用寄存器

一般寄存器:AX、BX、CX、DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器索引暂存器:SI、DISI:来源索引暂存器,DI:目的索引暂存器堆叠、基底暂存器:SP、BPSP:堆叠指标暂存器,BP:基底指标暂存器EAX、ECX、EDX、EBX:為ax,bx,cx,dx的延伸,各為32位元ESI、EDI、ESP、EBP:為si,di,sp,bp的延伸...

2019-07-18 18:27:11 1074

原创 汇编:Linux下使用objdump查汇编

首先要用-g选项编译,再用objdump -S 文件名。比如一个简单的C程序:void print(char* content){ printf("Content : %sn",content);}main(){ printf("Hello worldn"); print("This is function print().n"); return 0;...

2019-07-18 15:29:42 394

转载 栈溢出入门(2)

1.回顾上篇文章介绍了栈溢出的原理和两种执行方法,两种方法都是通过覆盖返回地址来执行输入的指令片段(shellcode)或者动态库中的函数(return2libc)。本篇会继续介绍另外两种实现方法。一种是覆盖返回地址来执行内存内已有的代码片段(ROP),另一种是将某个函数的地址替换成另一个函数的地址(hijack GOT)。2.相关1.寄存器在上篇的背景知识中,我们提到了函数状态相关的三个...

2019-07-18 02:04:53 185

转载 栈溢出入门(1)

1.简介为了实现栈溢出,要满足两个条件。第一,程序要有向栈内写入数据的行为;第二,程序并不限制写入数据的长度。历史上第一例被广泛注意的“莫里斯蠕虫”病毒就是利用C语言标准库的 gets() 函数并未限制输入数据长度的漏洞,从而实现了栈溢出。如果想用栈溢出来执行攻击指令,就要在溢出数据内包含攻击指令的内容或地址,并且要将程序控制权交给该指令。攻击指令可以是自定义的指令片段,也可以利用系统内已有的函...

2019-07-18 00:58:06 218

空空如也

空空如也

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

TA关注的人

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