缓冲区溢出攻击.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 缓冲区溢出攻击——攻击演示实验 1 查看一下此时各寄存器中的内容。ESP和ESI指向的内容都有我们植入的字符串。 先通过patternCreate.pl来生成不重复的字符。 * 缓冲区溢出攻击——攻击演示实验 1 查看一下此时各寄存器中的内容。ESP和ESI指向的内容都有我们植入的字符串。 然后Telnet到目标主机,将这串字符串通过ping命令发送给CCProxy,CDB捕捉到异常。 我们可以得到EIP寄存器的值为:0最后通patternOffset.pl计算出它在整个长为2000的字符串中的偏移是1012。 * 缓冲区溢出攻击——攻击演示实验 1 (4)前面我们决定选择通过jmp esp来实现程序跳转,也就是说,要在RET的位置放置jmp esp指令的地址,那么,到哪里找jmp esp指令是我们现在要考虑的问题。最好是能在系统中找到现成的,而不需要我们重新再构造。事实上,在Windows系统的许多DLL中都能找到jmp esp这样一条指令,一个通用的地址是0x7ffa4512。 前面分析,ping后接字符串的1012字节位置开始的4个字节将覆盖RET。于是,我们便可以在字符串的这个位置上填充0x120x450xfa0x7f。程序运行到此,就会转向地址0x7ffa4512找到jmp esp指令并执行,其流程就会发生变化。 (5)提供了许多通用的Shellcode,到其网站上去下载一段在目标主机中添加一个用户账号hack的Shellcode代码。 * 缓冲区溢出攻击——攻击演示实验 1 (6)我们要把shellcode放置在程序崩溃时ESP指向的地址处。同样,我们可以用定位RET偏移的方法来定位ESP指向的位置。先用CDB挂起CCProxy.exe,再利用patternCreate.pl生成长为2000的字符串,然后用ping命令向目标主机发送这个字符串。这时候在CDB捕捉到CCProxy.exe的崩溃事件时,查看ESP的内容。最后用patternOffset.pl计算出它在整个长为2000的字符串中的偏移。 * 缓冲区溢出攻击——攻击演示实验 1 (7)根据以上的分析,构造好的exploit的结构如下所示: 按照该结构图,我们就可以编写攻击程序,程序基本思路如下: Socket编程连接目标主机(connect) 构造溢出字符串(即构造后接shellcode的ping命令:ping shellcode\r\n) 向目标主机发送溢出字符串(send) 关闭连接 (8)运行攻击程序。在目标主机上查看攻击效果。 针对缓冲区溢出攻击,目前有四种基本的方法保护缓冲区免受缓冲区溢出的攻击和影响。 1.编写正确的代码 2.非执行的缓冲区 3.程序指针完整性检查 4.安装安全补丁 * 缓冲区溢出攻击——防御措施 1 SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。 但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 SQL注入攻击的总体思路一般是:发现SQL注入位置;判断后台数据库类型;确定XP_CMDSHELL可执行情况;发现WEB虚拟目录;上传ASP木马;得到管理员权限。 * SQL注入攻击——概念 2 1.SQL注入漏洞的判断 2.分析数据库服务器类型 (1)利用数据库服务器的系统变量。 (2)利用系统表。 3.确定XP_CMDSHELL可执行情况 4.发现WEB虚拟目录 5.上传ASP木马(或其他服务器端执行木马) 6.得到系统的管理员权限 * SQL注入攻击——攻击步骤 2 【操练1】认识SQL注入的原理。 【实验环境】 Xampp 提供windows上PHP和mysql开发运行环境 IE或Firefox * SQL注入攻击——攻击演示实验 2 【实验步骤】 1、配置和创建数据库 启动Mysql数据库 登录数据库服务器 创建数据库sqlinjection 创建表user * SQL注入攻击——攻击演示实验 2 插入测试数据 * SQL注入攻击——攻击演示实验 2 2、编写一个登录页面 包含登录form的html页面 执行登录页面查询的PHP页面 * SQL注入攻击——攻击演示实验 2 3、正常登录系统 * SQL注入攻击——攻击演示实验 2 4.发起SQL注入攻击 (1)利用逻辑运算 尝试输入 chen‘ or 1=1 登录是否成功,原因是什么? 如

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档