精华内容
下载资源
问答
  • Android平台漏洞挖掘与利用

    热门讨论 2015-10-25 11:07:24
    由于Android的特殊生态,每款Android设备都存在多种来源的软件,而ROOT工具主要利用系统漏洞帮...CSDN【技术公开课】邀请到奇虎360高级安全研究员 吴家志博士详解了Android平台漏洞利用的原理以及漏洞挖掘的经验分享。
  • 2016中国互联网安全大会安全训练营,长亭科技做的关于智能硬件漏洞挖掘与利用讲义
  • 为何研究游戏引擎 何为游戏引擎 起源引擎 起源引擎漏洞挖掘 TODO
  • fastjson在一些特殊场景下的漏洞挖掘与利用 安全开发 安全威胁 应急响应 解决方案 渗透测试
  • XSS漏洞挖掘与利用; 一XSS漏洞挖掘; 二工具检测; 三手工测试; 三手工测试; 四漏洞利用; 四漏洞利用;谢谢观看
  • XSS漏洞挖掘与利用 一XSS漏洞挖掘工具检测手工测试漏扫工具AWVSAppScan构造payload插件XSSDetectXSS Me检查代码缺陷QTWebKit 二工具检测问题 Web2.0时代交互性越来越多ajax使用率也越来越高xss也越来越多仅通过工具...
  • 安卓的逆向分析基础,逆向技术。安装漏洞挖掘与利用
  • 从零开始学习软件漏洞挖掘系列教程
  • 逆向工程:游戏安全入门教程 杨闯...」 掌握汇编语言C语言的开发技巧,深层了解指针 掌握基本逆向技术,识别常见的语句 掌握RPG游戏的常见漏洞挖掘与利用防御 掌握FPS游戏的常见漏洞挖掘与利用防御 订阅课程 开始学习

    扫码下载「CSDN程序员学院APP」,1000+技术好课免费看

    APP订阅课程,领取优惠,最少立减5元 ↓↓↓

    订阅后:请点击此处观看视频课程

     

    视频教程-逆向工程:游戏安全入门教程-漏洞挖掘与利用

    学习有效期:永久观看

    学习时长:41分钟

    学习计划:1天

    难度:

     

    口碑讲师带队学习,让你的问题不过夜」

    讲师姓名:杨闯

    安全研究员

    讲师介绍:杨闯(rkvir)天融信阿尔法实验室安全研究员。看雪漏洞分析小组成员,看雪讲师,MS08067小组成员。从事安全行业多年,擅长二进制安全领域的研究与工程化实现。有多年教育经验,为国内外均提供过二进制安全相关培训。参与多起国家级安全工程,与团队完成国家级安全课题。

    ☛点击立即跟老师学习☚

     

    「你将学到什么?」

    游戏安全工程师也称为反外挂工程师,顾名思义就是与游戏外挂做对抗的专业人士。目前大部分的反外挂手段都集中在R0层,也就是使用驱动作为对抗手段。因为R3层的反调试手段已经很难阻止越来越猖獗的外挂作者了。并且现如今的外挂作者也由最初的业余玩家变成了如今的专业人士。导致外挂与反外挂的对抗手段越来越趋近底层,据我所知目前外挂作者中的高手已经在VT层进行反反外挂工作了。利用重建调试体系对抗游戏安全系统。所以游戏安全工程师的任务依然很艰巨。

    本课程是游戏安全系列教程的第一篇,带大家由驻留的FPS游戏与RPG游戏作为切入点,了解游戏漏洞的成因与防御方式。

     

    「课程学习目录」

    第1章:进制
    1.进制的概念
    2.原码反码补码
    3.逻辑运算
    第2章:汇编语言入门
    1.汇编语言阶段概述
    2.通用寄存器
    3.冯诺依曼
    4.内存基础
    5.EFLAGS寄存器
    6.使用VS编写汇编语言
    7.汇编中的数学运算
    8.汇编中的逻辑运算
    9.初识循环
    10.堆栈操作
    11.数据移动指令
    12.比较指令
    13.JCC条件转移指令
    14.串操作指令
    15.CALL与RETN
    16.汇编中的函数
    17.Win32汇编入门
    第3章:C语言入门(汇编与C的关系)
    1.C语言阶段概述
    2.函数分析
    3.关键字与保留标识符
    4.基本数据类型
    5.字符串的格式化输入输出
    6.C语言的命名规则
    7.C语言的算数运算符
    8.C语言关系运算符
    9.C语言逻辑运算符
    10.C语言位运算符
    11.C语言赋值运算符
    12.C语言其他运算符
    13.C语言运算符优先级
    14.Goto语句
    15.If-else语句
    16.Switch语句
    17.While语句
    18.do-while语句
    19.For语句
    20.Define
    21.Typedef
    22.C语言中的函数
    23.带参数的函数
    24.函数返回值
    25.控制台简单计算器
    26.递归
    27.一维数组
    28.多维数组
    29.指针与变量
    30.指针与数组
    31.指针与变量-补充
    32.指针与函数-函数指针
    33.指针与函数-指针函数
    34.字符串的声明
    35.字符串的输入
    36.字符串的输出
    37.计算字符串长度
    38.字符串拼接
    39.字符串对比
    40.字符串拷贝
    41.字符串格式化
    42.动态内存管理
    43.文件操作
    44.结构体
    45.结构体指针
    46.结构体参数
    第4章:逆向分析基础
    1.寻找main函数
    2.修改内存中的数据
    3.修改跳转
    4.滑板指令
    5.初试破解-控制台
    6.初试破解-MFC
    7.初始破解-第一个CM
    8.函数调用约定
    9.ifelse单分支-Debug版识别
    10.ifelse单分支-Release版识别
    11.ifelse多分支-Debug版识别
    12.ifelse多分支-Release版识别
    13.switch少分支识别
    14.switch多分支识别
    15.dowhile循环识别
    16.while循环识别
    17.for循环识别
    18.函数分析
    19.实战演练--题目讲解一(逆向算法题)
    20.实战演练--题目讲解二(逆向算法题)
    第5章:游戏安全入门-RPG游戏
    1.成品展示与功能介绍
    2.副本快速通关演示
    3.寻找自身坐标与人物基址
    4.代码实现获取自身坐标
    5.代码显示实时自身坐标
    6.实现指定坐标移动功能
    7.实现坐标列表
    8.实现坐标列表的添加功能
    9.实现坐标列表的删除功能
    10.实现使用热键进行坐标移动功能
    11.实现坐标的保存功能
    12.实现坐标的读取功能
    第6章:游戏安全入门-FPS游戏
    1.CE介绍
    2.某FPS13无限子弹
    3.使用代码实现某FPS13无限子弹
    4.自动获取目标进程ID
    5.寻找CS1.6无限子弹基址
    6.使用代码实现CS1.6无限子弹
    7.寻找自身坐标与跳跃高度
    8.使用代码实现飞天瞬移
    9.CE与OD配合数据挖掘
    10.自动瞄准原理
    11.使用代码实现自动瞄准
    12.透视原理
    13.使用代码实现透视

     

    7项超值权益,保障学习质量」

    • 大咖讲解

    技术专家系统讲解传授编程思路与实战。

    • 答疑服务

    专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。

    • 课程资料+课件

    超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)

    • 常用开发实战

    企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。

    • 大牛技术大会视频

    2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。

    • APP+PC随时随地学习

    满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。

     

    「什么样的技术人适合学习?」

    • 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
    • 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
    • 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。

     

    「悉心打造精品好课,1天学到大牛3年项目经验」

    【完善的技术体系】

    技术成长循序渐进,帮助用户轻松掌握

    掌握漏洞挖掘与利用知识,扎实编码能力

    【清晰的课程脉络】

    浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。

    【仿佛在大厂实习般的课程设计】

    课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。

     

    「你可以收获什么?」

    掌握汇编语言与C语言的开发技巧,深层了解指针

    掌握基本逆向技术,识别常见的语句

    掌握RPG游戏的常见漏洞挖掘与利用防御

    掌握FPS游戏的常见漏洞挖掘与利用防御

     

    展开全文
  • Android平台漏洞挖掘与利用—7747人已学习 课程介绍    演讲嘉宾:吴家志,奇虎360开发组长/工程师/技术讲师 课程收益  本次公开课将介绍几类漏洞的特征以及利用方法。本次课程将以Qualcomm平台上的CVE-2013-...
    Android平台漏洞挖掘与利用—7747人已学习 
    
    课程介绍    
    201511041442004478.jpg
        演讲嘉宾:吴家志,奇虎360开发组长/工程师/技术讲师
    课程收益
        本次公开课将介绍几类漏洞的特征以及利用方法。本次课程将以Qualcomm平台上的CVE-2013-6123漏洞为例,介绍如何找出危险的数据交换代码,以及如何稳定利用任意地址写漏洞。也将介绍stagefright漏洞的特征,并且进一步公开C0RE Team如何独立发现高危stagefright 0-day漏洞。
    讲师介绍
        CSDN公开课 更多讲师课程
        CSDN线上公开课全掌握!
    课程大纲
        1. 【技术公开课】Android平台漏洞挖掘与利用  01:13:50
    大家可以点击【 查看详情】查看我的课程
    展开全文
  • 0x10 UAF(Use After Free) 漏洞原理 这里,需要先介绍一下堆分配内存的原则。ptmalloc 是 glibc 的堆管理器,前身是 dlmalloc,Linux 中进程分配内存的两种方式:brk 和 mmap。当程序使用 malloc 申请内存的时候,...

    0x10 UAF(Use After Free) 漏洞原理

    这里,需要先介绍一下堆分配内存的原则。ptmalloc 是 glibc 的堆管理器,前身是 dlmalloc,Linux 中进程分配内存的两种方式:brkmmap当程序使用 malloc 申请内存的时候,如果小于 128K,使用 brk 方式,将数据段(.data)的最高地址指针_edata往高地址推;如果大于 128K,使用 mmap 方式,堆和栈之间找一块空闲内存分配。同样的,当用户释放内存时,ptmalloc 也不会立马释放空间,当应用程序调用 free() 释放内存时,如果内存块小于256kb,dlmalloc将内存块标记为空闲状态。

    Use After Free 就是其字面所表达的意思,当一个内存块被释放之后再次被使用,可能会导致意想不到的后果。分为以下三种情况1

    • 内存块被释放后,其对应的指针被设置为 NULL , 然后再次使用,自然程序会崩溃。
    • 内存块被释放后,其对应的指针没有被设置为 NULL ,然后在它下一次被使用之前,没有代码对这块内存块进行修改,那么程序很有可能可以正常运转。
    • 内存块被释放后,其对应的指针没有被设置为 NULL,但是在它下一次使用之前,有代码对这块内存进行了修改,那么当程序再次使用这块内存时,就很有可能会出现奇怪的问题。

    学过 C 语言的人应该都知道,垂悬指针(dangling pointer)是指指向的内存被 free,但是没有置空,UAF 如果想利用的话,就是垂悬指针被再次使用。

    如下所示,展示了一种简单的情况,p1 被释放之后并没有置空,随后 p2 又申请了与 p1 曾申请的大小一样的内存,p2 指向的内存被修改之后,我们发现悬垂指针 p1 指向的内存也被修改了。情况一如下

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    	int * p1;
    	int * p2;
    	p1 = (int *)malloc(sizeof(int));
    	printf("p1 = %p, * p1 = %d\n", p1, *p1);
    	free(p1);
    
    	p2 = (int *)malloc(sizeof(int));
    	*p2 = 20;
    	printf("p2 = %p, * p2 = %d\n", p2, *p2);
    	printf("p1 = %p, * p1 = %d\n", p1, *p1);
    	free(p2);
    	return 0;
    }
    

    在这里12图片描述
    也就是说,p1 被释放后,不代表是野指针,而且仍然能够使用,如果置空后,又被使用了呢?

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
      int * p1;
      int * p2;
      p1 = (int *)malloc(sizeof(int));
      printf("p1 = %p, * p1 = %d\n", p1, *p1);
      free(p1);
    
      * p1 = 20;
      printf("p1 = %p, * p1 = %d\n", p1, *p1);
    
      p1 = NULL;
      * p1 = 30;
      printf("p1 = %p, * p1 = %d\n", p1, *p1);
      return 0;
    }
    

    可以看到,free 后,p1 仍然可以被赋值,但是被置空后,就会崩溃
    在这里插入图片描述

    0x20 UAF 漏洞利用案例分析

    0x21 [Toddler’s Bottle]-uaf

    题目如下

    Mommy, what is Use After Free bug?
    
    ssh uaf@pwnable.kr -p2222 (pw:guest)
    

    将代码复制下来,发现是 c++,代码如下

    class Human{
    private:
    	virtual void give_shell(){
    		system("/bin/sh");
    	}
    protected:
    	int age;
    	string name;
    public:
    	virtual void introduce(){
    		cout << "My name is " << name << endl;
    		cout << "I am " << age << " years old" << endl;
    	}
    };
    
    class Man: public Human{
    public:
    	Man(string name, int age){
    		this->name = name;
    		this->age = age;
            }
            virtual void introduce(){
    		Human::introduce();
                    cout << "I am a nice guy!" << endl;
            }
    };
    
    class Woman: public Human{
    public:
            Woman(string name, int age){
                    this->name = name;
                    this->age = age;
            }
            virtual void introduce(){
                    Human::introduce();
                    cout << "I am a cute girl!" << endl;
            }
    };
    
    int main(int argc, char* argv[]){
    	Human* m = new Man("Jack", 25);
    	Human* w = new Woman("Jill", 21);
    
    	size_t len;
    	char* data;
    	unsigned int op;
    	while(1){
    		cout << "1. use\n2. after\n3. free\n";
    		cin >> op;
    
    		switch(op){
    			case 1:
    				m->introduce();
    				w->introduce();
    				break;
    			case 2:
    				len = atoi(argv[1]);
    				data = new char[len];
    				read(open(argv[2], O_RDONLY), data, len);
    				cout << "your data is allocated" << endl;
    				break;
    			case 3:
    				delete m;
    				delete w;
    				break;
    			default:
    				break;
    		}
    	}
    
    	return 0;	
    }
    

    0x22 关于 C++ 内存分布

    该代码有三个类,woman 和 man 继承自 human,每个类都有虚函数,子类重写了父类的虚函数,关于虚函数,请参考 从Java角度说起C++虚函数

    在C++中,每一个含有虚函数的类都会有一个虚函数表,简称虚表。与之对应的,每一个对象都会有其专属的虚表指针指向这个虚表

    虚表
    在这里插入图片描述

    这里,我们还需要知道对象的内存分布情况: 对象在内存开辟空间后,按照虚表指针、继承自基类的成员、类自身的成员的顺序进行存储。(如果是多重继承和虚继承,可能存在多个虚表指针)。当然,还需要了解 C++ 创建对象的调用栈

    --> std::allocator< char >::allocator(void)
    --> std::allocator< char >>::basic_string()
    --> operator new(ulong)
    --> Class Conductor
    --> std::allocator< char >>::~basic_string()
    --> std::allocator< char >::~allocator(void)
    

    如下图所示
    在这里插入图片描述
    我们有如下结论 2

    1. 每个类都有虚指针和虚表;
    2. 如果不是虚继承,那么子类将父类的虚指针继承下来,并指向自身的虚表(发生在对象构造时)。有多少个虚函数,虚表里面的项就会有多少。多重继承时,可能存在多个的基类虚表与虚指针;
    3. 如果是虚继承,那么子类会有两份虚指针,一份指向自己的虚表,另一份指向虚基表,多重继承时虚基表与虚基表指针有且只有一份。

    0x23 调试

    因此,我们的解题思路就是,对二进制文件进行逆向,找到虚表的地址,类似于 GOT 覆写技术浅析与实际应用,利用 UAF 漏洞,修改该虚函数表的地址即可。

    C++ 函数调用栈设置断点,观察情况。operator new() 函数的参数 0x18,表示为 man 对象创建 24B 的内存空间。
    在这里插入图片描述
    Man::Man(std::string,int) 函数初始化该内存
    在这里插入图片描述
    看一下m对象的内存空间具体分布。依次存放了虚表指针,即指向类 man 的虚函数指针;继承自父类的类成员变量 age、类成员变量 name,这里 name 是一个指针,存放的是 name 的地址。你们会发现,这里只存放了虚表的一个地址,并没有看到 introduce 的地址,这个后面再说。
    在这里插入图片描述
    由于二进制文件并没有开启地址随机化,所以,内存中的虚表指针的位置,就是 IDA 逆向得到的虚表位置,如下图所示
    在这里插入图片描述

    0x24 关于堆的 chunk 与 bin

    这里还需要知道堆的一些知识,更多详情请访问:https://wiki.x10sec.org/pwn/heap/heap_structure/

    在程序执行中,由 malloc 申请的内存,称为 chunk。这块内存在 ptmalloc 内部用 malloc_chunk 结构体来表示。当程序申请的 chunk 被 free 后,会被加入到相应的空闲管理列表中。

    用户释放掉的 chunk 不会马上归还给系统,ptmalloc 会统一管理 heap 和 mmap 映射区域中的空闲的 chunk。当用户再一次请求分配内存时,ptmalloc 分配器会试图在空闲的chunk中挑选一块合适的给用户。这样可以避免频繁的系统调用,降低内存分配的开销 3

    而 bin 就是这样一种数据结构,用来存放返回的 chunk。根据空闲的 chunk 的大小以及使用状态将 chunk 初步分为4类:fast bins,small bins,large bins,unsorted bin。详情我们不说,因为堆涉及的东西实在太多了,这里只介绍与本次 UAF 漏洞利用有关的知识。

    大多数程序经常会申请以及释放一些比较小的内存块。如果将一些较小的 chunk 释放之后发现存在与之相邻的空闲的 chunk 并将它们进行合并,那么当下一次再次申请相应大小的 chunk 时,就需要对 chunk 进行分割,这样就大大降低了堆的利用效率。因为我们把大部分时间花在了合并、分割以及中间检查的过程中。因此,ptmalloc 中专门设计了 fast bin

    因此,大部分时候我们调用的都是 fastbin 来存放被释放的 chunk,也就是说,为了更加高效地利用 fast bin,glibc 采用单向链表对其中的每个 bin 进行组织,并且每个 bin 采取 LIFO 策略,最近释放的 chunk 会更早地被分配,所以会更加适合于局部性。也就是说,当用户需要的 chunk 的大小小于 fastbin 的最大大小时, ptmalloc 会首先判断 fastbin 中相应的 bin 中是否有对应大小的空闲块,如果有的话,就会直接从这个 bin 中获取 chunk。

    对于本例来说,如果我们选择 3,按照代码来说,先释放 m,后释放 w,这时,它们都会被 ptmalloc 堆管理器放进 fastbin 中,如果我们再选择 2,分配小于 0x18 的内存空间,根据我们刚刚所说的,LIFO 策略,堆管理器直接利用 w 释放的 chunk。

    0x25 漏洞利用

    因此,我们先要释放程序在刚开始运行时,创建的对象 m 和 w,所以先选择 3;然后需要选择 2,进行覆盖,这里当然是要覆盖 w 内存空间中的虚函数 Woman::introduce(void) ,将其改为 Human::give_shell(void)
    在这里插入图片描述
    指针通过一个 +8 的操作调用 introduce 的时候。那么我们如果实现将指针减8,那么当调用introduce的时候加8,那么结果就是+0,即没有偏移,那就是giveshell的地址,刚好完成了我们的要求。ida中.rodata区段是存放虚表的地方。

    回到 0x22 所述,无论是 m 还是 w 对象,其内存空间中,最先放入的是虚表的地址(对象的内存并不会把虚表中的每个虚函数地址都存放),实际上,每个 m 和 w 都有两个虚函数,give_shell 在前,introduce 在后。内存访问 introduce 是通过整个虚表首地址 + 偏移地址 的形式,来找到正确虚函数的位置。而不是像 GOT 表那样,直接定位函数在 GOT 表中的地址。所以,这里要更改 w (或者 m)对象的内存第一位的数据,也就是虚表的基地址。而不是想当然的,认为将其改为多少,访问的就是哪个函数。

    0x401550 - 8 = 0x401548
    

    这里还有一点要注意的是,需要覆盖两次,即选择两次 2,如果只选择一次,直接选择 1,这时候,虽然 w 对象也被释放了,但是被覆盖了,依然还是能够输出的。然而 m 对象已经释放,打印会出错的。
    在这里插入图片描述

    0x30 总结

    UAF 漏洞主要是因为程序员对已经释放的内存操作不当,这类问题其实也是堆的问题,在一些较为复杂的代码中,数见不鲜,但其利用往往不是那么容易的,需要结合其他漏洞,达到组合的效果。本文中的例子,还需要我们掌握 C++ 的内存分配原理,还有一些虚函数的知识,才能够将问题迎刃而解。


    1. https://ctf-wiki.github.io/ctf-wiki/pwn/linux/glibc-heap/use_after_free-zh/ ↩︎

    2. https://www.cnblogs.com/jerry19880126/p/3616999.html ↩︎

    3. https://wiki.x10sec.org/pwn/heap/heap_structure/ ↩︎

    展开全文
  • 近期我们SINE安全在对discuz x3.4进行全面的网站渗透测试的时候,发现discuz多国语言版存在远程代码执行漏洞,该漏洞可导致论坛被直接上传webshell,直接远程获取管理员权限,linux服务器可以直接执行系统命令,危害...

    近期我们SINE安全在对discuz x3.4进行全面的网站渗透测试的时候,发现discuz多国语言版存在远程代码执行漏洞,该漏洞可导致论坛被直接上传webshell,直接远程获取管理员权限,linux服务器可以直接执行系统命令,危害性较大,关于该discuz漏洞的详情,我们来详细的分析看下。

    discuz漏洞影响范围:discuz x3.4 discuz x3.3 discuz x3.2,版本都受该网站漏洞的影响,漏洞产生的原因是在source目录下function文件夹里function_core.php代码里的cookies与语言language参数值并没有详细的进行安全过滤与检测,导致可以插入恶意的代码到数据库,并远程执行恶意代码,可获取webshell权限。

    discuz漏洞分析

    我们来看下刚才产生漏洞的代码,在第535行往下看,有一段代码是这样写的,默认网站系统将缓存数据存储在data文件夹里的template目录中,缓存文件名的命名是由前面的discuz_lang参数进行控制来命令的,漏洞产生的原因就在这里。那这个discuz_lang参数的值是从来获取来的呢? 我们跟进分析网站代码,可以看到是从language语言这一变量里去获取的值,也就是说,我们要利用这个网站漏洞,首先要去改变这个language的值,将恶意代码插入到这个值当中去,POC代码如下:

    post数据到论坛的forum.php页面,将post数据改为:Z3T2_2132_language=en'.phpinfo().';即可执行php语句,整个漏洞的分析,我们可以看出discuz官方并没有对post数据里的cookies值进行安全过滤与判断,导致可以直接写入language里恶意代码并远程执行,可以构造一句话代码,直接获取webshell。

    网站漏洞修复与安全防护方案

    对discuz的版本进行全面的升级,在language参数值中进行全面的安全过滤,限制逗号,以及闭合语句的执行,还有\斜杠都一些特殊恶意代码进行拦截,必要的话对其进行转义,如果对代码不是太熟悉的话,也可以找专业的网站安全公司来进行漏洞修复,国内也就SINE安全公司,绿盟,启明星辰比较专业。再一个对discuz目录的权限进行安全分配,限制data目录的脚本执行权限,防止PHP脚本的运行,最重要的就是做好网站的安全防护。

    展开全文
  • Android漏洞挖掘与利用(ISC安全训练营)(3课时) 课时1 :Android漏洞挖掘与利用Part1 61分钟 课时2 :Android漏洞挖掘与利用Part2 62分钟 课时3 :Android漏洞挖掘与利用Part3 54分钟   下载地址:百度网盘...
  • 介绍二进制漏洞挖掘的一个方法思路,用IDA解析二进制代码,取得程序的函数,栈帧,数据流,控制流;取得程序的界面资源,取得资源对应的函数代码,综合分析程序的堆溢、栈溢、同步问题、线程安全问题、 逻辑漏洞分析...
  • 天道酬勤漏洞挖掘

    2019-07-23 04:03:21
    教程名称:天道酬勤漏洞挖掘教程目录:【】1.修改程序验证流程【】2.堆栈的溢出实践【】3.堆栈溢出利用原理【】4.利用漏洞控制程序执行流程【】5.向目标进程中植入代码【】6.获取跳板Jmp_esp的地址【】7.使用跳板...
  • XSS漏洞挖掘利用教程,还有大量QQ邮箱的XSS和各种XSS漏洞实战解析哦!
  • 漏洞挖掘与防范(基础篇)

    千次阅读 2018-08-13 08:54:06
    这几天学习代码审计,学的是漏洞挖掘(基础篇),这相对于其他的漏洞挖掘确实简单点,这几种漏洞是常见的SQL注入漏洞、XSS漏洞、CSRF漏洞,讲的是这三种漏洞的从代码部分的挖掘技巧,我感觉很有用,就写下来,希望...
  • 使用深度神经网络进行漏洞挖掘的方法调研 传统的漏洞挖掘方法 静态方法 基于规则/模板的 代码相似性检测 符号执行 对源代码分析,高假阳性 动态方法 模糊测试 污点分析 代码覆盖率低 混合方法 结合静态、动态...
  • 基础知识 bug & exploit 什么是bug? 程序错误,是程序设计中的术语,是指在软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失、非正常...漏洞挖掘,分析和利用 “灰”盒测试— fuzz :Fuzzing
  • 漏洞挖掘、诊断及利用 自动化、智能化网络攻防 以Fuzzing为代表的动态分析 Fuzzing Grey-box Fuzzing 符号执行 动态符号执行 Concolic Execution Hybrid Fuzzing 需求分发策略效果 混合式漏洞挖掘 DigFuzz 我们的...
  • 参考文章 轻松搞定JSONP跨域请求 jsonp跨域原理,使用以及同源策略 跨域漏洞丨JSONP和CORS跨域资源共享 ...JSONP是一种利用HTML中<script></script>元素标签,远程调用json文件来实现数据传递的技术,
  • 从ctf入门漏洞挖掘

    千次阅读 2017-04-16 13:32:51
    基本功是计算机基础三大金刚的学习:体系结构–cpu的设计实现 机器指令汇编语言 指令的解码,执行 内存管理 CMU 18-477 introduction to Computer Architecture https://www.ece.cmu.edu/~ece447/s15/doku....
  • 二进制漏洞挖掘技术实战

    万次阅读 2016-03-24 14:46:40
    0×00前言 ...关于二进制的漏洞研究,大体可以分为漏洞分析利用漏洞挖掘两部分。关于漏洞分析利用的部分互联网可以搜索到大量文章,而漏洞挖掘的文章却寥寥无几。因此我在这里主要来讲一下如何对
  • Android漏洞挖掘工具收集整理

    万次阅读 2015-04-01 13:06:00
    收集了android各个漏洞挖掘工具,给出了其简介、功能和参考资料,供大家查阅。
  • 漏洞挖掘fofa+xray

    2020-09-25 20:12:39
    fofa+xray批量刷洞脚本,非常有用,fofa+xray批量刷洞脚本敬请期待特别好,fofa+xray批量刷洞脚本
  • 1.漏洞利用与Exploit 漏洞从发现到产生实际危害的整个过程可分为漏洞挖掘、漏洞分析、漏洞利用三个阶段。 无论通过哪种形式进行攻击,其都有一个共同特点,即通过触发漏洞来隐蔽地执行恶意代码。而用来触发漏洞并完成...
  • IOCTL Fuzzer是一个自动化的windows内核驱动漏洞挖掘工具,它利用自己的驱动hook了NtDeviceIoControlFile,目的是接管整个系统所有的IOCTL请求。当处理IOCTL请求时,一旦符合配置文件中定义的条件,IOCTL Fuzzer会用...
  • 漏洞挖掘发现每次都过滤javascript:(这里不探讨过滤了alert怎么绕过。) 一系列绕过思路: \x JS十六进制 javascript: -> \x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3a location="\x6A\x61\x76\x61\x73\x63\x72\x69\...
  • 通过对以往二进制挖掘模型的研究,提出了一种新的二进制代码整数型漏洞挖掘方法模型,该模型综合运用了Fuzzing、逆向工程和符号执行等相关技术。首先利用逆向分析锁定整数漏洞相关的代码部分,获得数据相关类型...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,556
精华内容 6,222
关键字:

漏洞挖掘与利用