常见漏洞利用方法,常见漏洞利用方法有

LoadImageAPI整数溢出漏洞分析

代码:

.text:77D56178moveax,[ebx+8]//Directreadoursizehere:P

.text:77D5617Bmov[ebp+dwResSize],eax

.text:77D5617Ejnzshortloc_77D56184

.text:77D56180add[ebp+dwResSize],4//add4intoverflow...

.text:77D56184

.text:77D56184loc_77D56184:;CODEXREF:sub_77D5608F+EF_j

.text:77D56184push[ebp+dwResSize]//allocateawrongsize

.text:77D56187push0

.text:77D56189pushdword_77D5F1A0

.text:77D5618Fcallds:RtlAllocateHeap

总结:转换思路后找到这个加4的漏洞,同样的类型,信任“文件”输入。

思维扩展的结果

EEYE2004:WindowsANIFileParsingBufferOverflow

堆栈漏洞极易利用,攻击方法隐蔽。

原理:

相信“文件”输入参数,没做检查直接用作memcpy的参数。

PNG漏洞,不同的模式

逻辑问题1:

EEYEPNG(PortableNetworkGraphics)DeflateHeapCorruptionVulnerability

原因:对Length码#286and#287没有做正确的处理,导致解压程序认为长度是0

do{*dest=*src;++dest;++src;}while(--len);

逻辑问题2:libPNG1.2.5堆栈溢出

代码:

if(!(png_ptr->mode&PNG_HAVE_PLTE)){

/*Shouldbeanerror,butwecancopewithit*/

g_warning(png_ptr,MissingPLTEbeforetRNS);}

elseif(length>(png_uint_32)png_ptr->num_palette){

g_warning(png_ptr,IncorrecttRNSchunklength);

g_crc_finish(png_ptr,length);

return;

}

分析:代码编写的逻辑错误,错误的使用了elseif.

相似漏洞:MSNpng漏洞,Mediaplayerpng漏洞

逻辑问题的总结

非常容易出现在复杂的文件格式处理中

容易出现在压缩,解压代码中:需要处理很多长度,大小相关的参数。

这种漏洞不一定是缓冲区溢出,也可能是越界访问等等

想象漏洞

发现漏洞有时候是一种想象的过程

例子1:

VenustechADLab:MicrosoftWindowsKernelANIFileParsingCrashVulnerability

介绍:ANI是WINDOWS支持的动画光标格式,在ANI是由多个普通的光标文件组成一个动画,其中ANI文件的头处会标记是几个图标frame,WINDOWS的内核在显示光标的时候并未对该值进行检查,如果将这个数字设置为0,会导致受影响的WINDOWS系统计算出错误的光标的地址并加以访问,触发了内核的蓝屏崩溃。不仅仅是应用使用ANI文件时会触发,只要在EXPLORER下打开ANI文件存在的目录就会触发。攻击者也可以发送光标的文件,引诱用户访问含有恶意光标显示的页面,以及发送嵌入光标的HTML邮件,导致被攻击者系统蓝屏崩溃。

原理:在计算frame地址的时候失败。

例子2:

VenustechADLab:MicrosoftWindowsKernelANIFileParsingDOSVulnerability

介绍:ANI是WINDOWS2000支持的动画光标格式,在ANI是由多个普通的光标件组成一个动画,其中ANI文件的头处会标记每FRAME切换的频率,该值越小切换的速度越快,WINDOWS的内核在切换光标FRAME的时候并未对该值进行检查,如果将这个数字设置为0,受影响的WINDOWS的内核会陷入内核的死锁,不再响应任何用户界面的操作。该漏洞触发必须要在使用ANI文件的应用中才能触发,攻击者引诱用户访问含有恶意光标显示的页面,以及发送嵌入光标的HTML邮件,导致被攻击者系统内核死琐。

原因:没有考虑刷新频率是0的情况。

总结

下溢:Size参数小于自身所占大小

上溢:Size加上一个正整数值产生上溢

直接作为参数输入memcpy类函数

非法参数导致地址访问越界

多种逻辑上的错误

充分发挥想象:刷新率?

总结

安全提示:

文件格式是攻击者的另一种输入渠道,同样不要信任从文件读取的数据

解析文件格式时应该对参数进行充分的检查

同样需要想象力,需要考虑到每种可能的情况

常见的漏洞类型有哪些

第一:注入漏洞

由于其普遍性和严重性,注入漏洞位居漏洞排名第一位。常见的注入漏洞包括SQL、LDAP、OS命令、ORM和OGML。用户可以通过任何输入点输入构建的恶意代码,如果应用程序没有严格过滤用户的输入,一旦输入的恶意代码作为命令或者查询的一部分被发送到解析器,就可能导致注入漏洞。

第二:跨站脚本漏洞

XSS漏洞的全称是跨站点脚本漏洞。XSS漏洞是网络应用程序中常见的安全漏洞,它允许用户将恶意代码植入网页,当其他用户访问此页面时,植入的恶意脚本将在其他用户的客户端执行。危害有很多,客户端用户的信息可以通过XSS漏洞获取,比如用户登录的Cookie信息;信息可以通过XSS蜗牛传播;木马可以植入客户端;可以结合其他漏洞攻击服务器,并在服务器中植入特洛伊木马。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章