原文:《Modern Overflow Targets》 By Eric Wimberley,Nathan Harrison
在当今的操作系统中,内存缺陷漏洞已经越来越难挖掘了,栈保护措施已经使原来的缓冲区溢出利用方法(将NOP块和shellcode写入到缓冲区中,并用缓冲区内的地址覆盖EIP所指向的地址)失效了。如果没有某种程度的信息泄露,在地址空间分布随机化(ASLR)和栈Cookies的双重保护下,用传统方法实际上已经很难对远程系统执行有效的溢出攻击了。
不过,现在仍存在可被利用的栈输入/输出漏洞。本文描述了一些常用缓冲区溢出技术,这些技术不会触发栈的__stack_chk_fail保护,或至少到目前为止还有效的技术。本文我们不再利用新技术通过修改EIP来修改程序的执行流程,而是将精力集中到一系列新的目标中。同时,本文也会讨论GCC 4.6及之前版本中未出现在任何文档中的函数安全模式(function safety model)。
GCC ProPolice记录的异常
根据函数安全模型的ProPolice文档,以下情况不会被保护:
◆无法被重新排序的结构体,以及函数中的指针是不安全的。
◆将指针变量作为参数时是不安全的。
◆动态分配字符串空间是不安全的。
◆调用trampoline代码的函数是不安全的。
另外,我们也发现以下几种情况也是不安全的:
◆如果函数中定义了一块以上缓存且没有正确排序,则至少一块缓存可能在引用前被修改被干扰。
◆参数列表中的指针或原语(primitives)可能被修改,但在canary检测之前被引用。
◆任意结构体原语或缓存都有可能在引用前被修改(包括C++中的栈对象)。
◆位于栈帧低地址中的指向变量的指针是不安全的,因为数据在被引用前可能会先被覆盖。这里我们不再局限于当前栈帧中的本地变量、指针(如函数指针)和缓存等。
IBM在关于函数安全模型的文档中假定攻击类型都是传统的栈溢出方式。文档中声明,函数返回后,栈canary后的数据是安全的,事实也确实是这样。但问题是数据在函数返回之前可能不是安全的。即使在不同的栈帧中,指向栈的高地址的指针也很容易被改写。#p#
基础攻击
以下为一个简单的示例:
这个简单的函数包含两个不同的变量,第一个变量从标准输入读取一个字符串,第二个变量作为system函数的参数。scanf函数包含可以溢出的漏洞,如果我们输入的字符超过10个,就会产生溢出,会将buff字符串数组之上高地址的任何数据覆盖。在GCC中,”fstack-protoctor-all”标记要作的就是在内存中检测这种情况。下面我们用GDB看一下:
main()函数的反汇编代码:
可以向buff合法写入10个字节,多出来的字节写入到buff2中(canary被覆盖之前)。如果我们从标准输入写入21个‘a’并查看内存,可以看到canary的第一个字节(0x00)被破坏了。
需要注意的是,从sh得到的错误消息依然会被打印出来:
sh: aaaaaaaaaaa: not found
这是因为直到函数返回之前的那一刻才会进行栈检查,在检测到内存被破坏之前,非法的字符串已经被引用了。字符串结尾处的栈canary的第一个字节被覆盖(错误消息中只有11个‘a’,因为buff2中包含字节长)。下图演示了根据函数安全模型,函数在执行时栈帧的情况:
变量声明的顺序通常决定其在栈帧中的顺序。缓存在声明时通常是往栈底方向声明的,以此来减缓其对其它本地变量的溢出攻击,但当有两块缓存时,其中的一块必须在另一块缓存和canary之间。如果有缓冲区溢出漏洞影响了第一块缓存,则第二块缓存可被任意写入。这比所有的本地变量被溢出攻击要好,但字符串通常更容易被选为攻击目标。
函数参数不能轻易改变位置,所以它们在其在这些变量缓存的上面。主函数的缓存在栈帧的最底部(高地址)。如前文所述,直到函数返回时才会对栈进行检查,所以这些参数仍有可能被当前函数引用 。这表示可以通过将恶意代码写入到参数的方式来触发缓冲区溢出漏洞。
vulnerable()函数的栈帧的结构类似下图(根据编译器的不同略有差异)。char *buff与包含漏洞的char[] buff分别在canary的两侧,但仍无法避免受到溢出攻击。
在vulnerable()函数到达其返回点时,仍会进行canary检测。不幸的是,攻击者在这时已经获取到shell的访问权限,且在程序做出任意栈溢出警告前将其kill掉了。如果vulnerable()函数打开一个shell并杀死它自己的进程,安全检测就不会运行了。需要注意的是如果该漏洞程序是以root权限(或者设置了suid位且程序所有者为root)运行的,则通过利用该漏洞就可以获取到系统root用户权限。
其它攻击向量
system(char *)函数只是一个简单的示例,系统中还有很多类似的情况。本例中的攻击者溢出了一个直接传递到printf函数中的字符串。
容易受到攻击的目标包含但不限于:
传递到system(char *command)函数中的字符串

做为字符串格式的字符串(Strings that are used as a string format)
包含SQL状态的字符串
包含XML的字符串
写入到硬盘的字符串
包含密码信息的字符串
包含加密密钥的字符串
包含文件名的字符串
附录A
引用资料
《Smashing The Stack For Fun And Profit》
《Protecting from stack-smashing attacks》
Hiroaki Etoh and Kunikazu Yoda
今年短发怎样造型?
今年流行的短发发型有哪些?-2010最流行短发发型2010最流行短发发型 让你人见人爱 时尚个性的短发发型最显个性,很多MM认为短发极难打理,弄不好会显得很土气!其实只需稍微的染烫,一款热情洋溢的时髦短发造型就能跳出人群,飘逸的长发固然能平添几分女性妩媚,但短发却常常独树一帜,引领时尚潮流。 短发发型虽然没有长发造型百变,却有着说不出来的时髦利落感。 只要你够fashion,短发也可以打理出甜美的发型哦,蓬松的空气感造型是Point,适度加入一定的卷度会更可爱迷人。 今天为你带来日本最新一周流行的可爱短发发型哟, 冬季服装搭配 能让你的散乱发型、松脱发卷即刻复活!1、飘逸蓬松卷×浅褐色:成熟女孩风甜美度:★★☆☆☆2010最流行短发发型图:圆形、椭圆形、倒三角夏季服装搭配 蓬松充满空气感是日系发型的一个必备的要点,这款短发也不例外哟。 颜侧蓬蓬的弧度有助于打造小脸,头顶处秀发形状反而比较窄小。 2、直BOB头×浅褐色:甜美华丽小公主甜美度:★★★☆☆2010最流行短发发型图:椭圆形、倒三角服装搭配技巧圆润饱满的齐刘海,舒缓的BOB轮廓,表情丰富的线条,所有华丽的代名词已然集于一身。 2010最流行短发发型 让你人见人爱作者:服装搭配网 来源:本站整理 发布时间:2009-12-5 8:13:563、蓬松BOB头×黑色:Natural Girl甜美度:★★★☆☆2010最流行短发发型图:椭圆形、倒三角圆润饱满的齐刘海,舒缓的BOB轮廓,表情丰富的线条,所有华丽的代名词已然集于一身。 4、蓬松梨花头×浅褐色:混血美少女甜美度:★★★★☆2010最流行短发发型图:圆形、椭圆形、长脸型左右脸颊更加强调的头发的集中束感,让这个BOB头更加地具有三维设计,更加具有立体感。 浅褐色的头发显得皮肤更加白皙透亮,混血美少女感觉十分强烈。 5、俏皮空气超短发×深褐色:完美平衡纯真成熟气质甜美度:★★★☆☆2010最流行短发发型图:椭圆形、长脸型、倒三角左右脸颊更加强调的头发的集中束感,让这个BOB头更加地具有三维设计,更加具有立体感。 浅褐色的头发显得皮肤更加白皙透亮,混血美少女感觉十分强烈。 6、俏皮空气超短发×深褐色:完美平衡纯真成熟气质甜美度:★★★☆☆另外推荐两个不错的网站 (在地址栏里输入访问)(在地址栏里输入访问)
服装的流行元素是什么?
今年服装最流行的风格主题是‘休闲典雅’。 也就是说,今年许多服装品牌的主打单品都是一些偏休闲感的衣服,例如春夏两季流行的超长款上衣、铅笔裤,以及秋冬开始流行的箱形超短外套、宽腿七分裤等。 但整体的搭配风格却不流行休闲和中性风,而是要尽可能地将这些偏休闲感的衣服通过搭配,体现出典雅的女人味来。 比如,内搭一件这种简单的打底T恤,外搭新到的紧身长款毛衣,下身再搭配一条今年最流行的紧身铅笔裤,外面搭配一件长款的花苞羽绒服,就是今年最流行的时尚感觉。 ” 从今年秋冬各大品牌的流行新品和目前一些国际一线品牌的T台发布秀来看,2008年,休闲典雅的风格将继续流行!这种休闲典雅的风格融合了21世纪个性新主张与上世纪60年代优雅气质的双重魅力,将成为新一季的摩登典范。 把服装搭配出休闲典雅的感觉,热情与自由、奢华又甜美是搭配原理中最核心的视觉个性。 表现在单品的时尚元素里,今年春季就开始流行的泡泡袖、花苞裙摆、蝴蝶结、漆皮、金银色等流行元素,都是值得推荐的搭配细节。 总之,今年最流行的时尚穿着,是像奥黛丽•赫本那般在甜美乖巧中隐含叛逆因子的独特风貌。 金属色继续闪耀 从2007年的色彩流行来看,以金色、银色为代表的金属色绝对流行,几乎所有的时装品牌、饰品品牌都无法抵挡金色、银色的魅力,相继推出不同风格的金属色系列单品。 郑州街头肩挎金属色包包的时尚MM大有人在。 具体来讲,这些包包质感厚重,金属色与铆钉为整体设计的点缀款式,增加了些许朋克的味道,MK+、伊都锦等品牌都可觅芳踪。 2008年春夏季,金属色将会继续走红,带有金色时尚的链饰或是点缀有金属色花朵的女装、鞋子、钱包都会有一些精品流行。 糖果色漆皮 今秋漆皮的热度超乎想象,单鞋、靴子、背包、钱包、饰品,甚至超短裙、皮上衣,只要是用到皮质的,几乎都少不了漆皮的身影。 在不少国际品牌的2008 年春夏新品发布秀中,漆皮继续流行,而且在色彩上更加大胆艳丽,除了今年流行的酒红、深黑、紫色,明黄、大红、蓝色等一些更鲜亮的糖果色漆皮也有很多新品亮相。 这些大品牌必将引领漆皮在下一季继续流行。 披肩式上衣流行 喜欢逛街的MM会有一个明显的感觉,如果你今年想买一件没有任何修饰、颜色素雅的秋冬外套,会很难。 今冬很多突出时尚感的品牌都推出了具有复古、宫廷或者浪漫感觉的冬季新品。 今年秋冬季节流行繁复的奢华美——繁复的时装,繁复的搭配,将原本臃肿的衣装打理得层次错落,内紧外松,浪漫有致。 于是,紧跟繁复的单品设计风潮,混搭点缀单品也在这一季多出了许多新亮点。 而且在一些国际品牌的2008年春夏时装发布秀中,以披肩、斗篷为设计概念的新品上衣继续走红。
有一首歌,歌词是:我的滑板鞋,时尚时尚最时尚 这是什么歌
我的滑板鞋歌词歌手: 约瑟翰 庞麦郎词曲 :约瑟翰 庞麦郎有些事我都已忘记但我现在还记得在一个晚上我的母亲问我今天怎么不开心我说在我的想象中有一双滑板鞋与众不同最时尚跳舞肯定棒整个城市找遍所有的街都没有她说将来会找到的时间会给我答案星期天我再次寻找依然没有发现一个月后我去了第二个城市这里的人们称它为魅力之都时间过的很快夜幕就要降临我想我必须要离开当我正要走时我看到了一家专卖店那就是我要的滑板鞋我的滑板鞋时尚时尚最时尚回家的路上我情不自禁摩擦 摩擦在这光滑的地上摩擦月光下我看到自己的身影有时很远有时很近感到一种力量驱使我的脚步有了滑板鞋天黑都不怕一步两步一步两步 一步一步似爪牙似魔鬼的步伐摩擦 摩擦我给自己打着节拍这是我生命中美好的时刻我要完成我最喜欢的舞蹈在这美丽的月光下在这美丽的街道上我告诉自己这是真的这不是梦一步两步一步两步 一步一步似爪牙似魔鬼的步伐摩擦 摩擦在这光滑的地上摩擦摩擦似魔鬼的步伐似魔鬼的步伐一步两步一步两步 一步一步似爪牙似魔鬼的步伐摩擦 摩擦在这光滑的地上摩擦摩擦是不是这个
发表评论