打开文件或者用浏览器打开网站的时候,读者可能会很快被文件和网页上丰富的内容所吸引
,但是不知道。木马可能在自己的电脑里安静地留下后门。你的游戏账号、隐私信息等被屏幕对
面的某人拿走了。如今应用软件层出不穷,无论是微软、Adobe这些大公司,还是一些不知名的
小公司旗下都有很多产品。一位大牛曾经说过绝对不可能存在安全的软件。在这章中,笔者带大
家去脆弱的世界,看看小逻辑错误会产生什么样的严重结果。
本章涉及许多编辑语言和c语言的知识,笔者尽量减少难易度,恢复漏洞触发和攻击的全过程,
介绍编辑语言和c语言的知识。什么是软件漏洞分析。网络终端有网络终端的脆弱性,系统有系
统的脆弱性,应用程序有应用程序的脆弱性,大部分是由于简单的逻辑错误,从另一个角度来
看,黑客和程序员也有千丝万缕的联系。有时当程序员花了几个月的时间写了几十万行代码,
黑客的小操作可能会重写这个程序。
介绍编辑语言和c语言的知识。什么是软件漏洞分析。网络终端有网络终端的脆弱性,系统有系
统的脆弱性,应用程序有应用程序的脆弱性,大部分是由于简单的逻辑错误,从另一个角度来
看,黑客和程序员也有千丝万缕的联系。有时当程序员花了几个月的时间写了几十万行代码,
黑客的小操作可能会重写这个程序。
事实上,漏洞的分析是一个反向发生漏洞的过程。如果该程序因功能和一些畸形字符串而崩
溃,并且在崩溃的瞬间被称为犯罪现场,我们将回到程序崩溃之前,分析原因并找出错误。
在此之前,我们需要理解一些概念。首先,堆栈的概念对漏洞分析至关重要。其实,无论
是漏洞还是反向的反汇编操作,还是正向的编程,都需要知道PC方面和移动方面一样,有
堆栈操作。堆栈实际上可以看作空间。调用函数参数时,该参数进入该堆栈。这个空间就
像死胡同,先进的是最里面,后面依次排列,堆栈对参数的操作先进后出,后进后出。
溃,并且在崩溃的瞬间被称为犯罪现场,我们将回到程序崩溃之前,分析原因并找出错误。
在此之前,我们需要理解一些概念。首先,堆栈的概念对漏洞分析至关重要。其实,无论
是漏洞还是反向的反汇编操作,还是正向的编程,都需要知道PC方面和移动方面一样,有
堆栈操作。堆栈实际上可以看作空间。调用函数参数时,该参数进入该堆栈。这个空间就
像死胡同,先进的是最里面,后面依次排列,堆栈对参数的操作先进后出,后进后出。
实际上,一个程序的操作是在堆栈中继续操作,调用函数时,打开堆栈空间,将该函数所
使用的参数全部放入堆栈中,经过一系列操作,释放这些参数,回到外层的调用函数,最
后释放这个空间,缓冲区溢出可分为堆栈溢出和堆栈溢出。说白了,在进行这些函数操作
时,由于if语句和strcpy函数,堆栈和堆栈被破坏,程序无法正常执行该执行的内容,可能
会崩溃,也可能会发生漏洞。
使用的参数全部放入堆栈中,经过一系列操作,释放这些参数,回到外层的调用函数,最
后释放这个空间,缓冲区溢出可分为堆栈溢出和堆栈溢出。说白了,在进行这些函数操作
时,由于if语句和strcpy函数,堆栈和堆栈被破坏,程序无法正常执行该执行的内容,可能
会崩溃,也可能会发生漏洞。