文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院工具软件加密破解非安全编程演示之格式化字符串篇version1.1 上
精品推荐
特别推荐
·DVD影片(区码)的保护与破解
·常用破解网络密码的方法多个
·攻破Windows系统加密保护之EFS解密
·巧用系统自带功能给文件夹加密
·加密文件看见“照妖镜”还不显原型
·破解入门教学(二)
·破解光盘加密:把DVD大片拷到硬盘上看
·远程主机探测技术FAQ集 - 扫描篇
·网络游戏封包基础
·轻松破解:打开丢失密码的笔记本
·轻松破解丢失密码的笔记本电脑
·软件狗[Dongles]的加密与解密技术
·CMOS破解完全手册
·五种windows密码设置及破解
·共享软件杀手:黑客常用十大破解工具
·如何学好破解这门技术
·借助工具 为BitComet轻松去广告
·七种加密解密
·破解windowsXP,window2000的开机密码
·破解程序及注册机使用方法
热点TOP10
·破解windowsXP,window2000的开机密码
·破解基础知识汇编
·常用破解网络密码的方法多个
·破解程序及注册机使用方法
·软件狗[Dongles]的加密与解密技术
·压缩文件的密码破解
·101款精典黑客小工具
·网络游戏封包基础
·共享软件杀手:黑客常用十大破解工具
·五种windows密码设置及破解
·破解入门教学(二)
·openssl的man中文文档
·Md5密码破解武器大揭密
·暴力破解动网论坛密码程序
·静态分析技术-IDA Pro简介
·文晟扫描5. 0 之破解经过 算法分析
·破解的一部分注册码!希望能帮到大家,
·溯雪使用说明
·破解光盘加密:把DVD大片拷到硬盘上看
·获得键盘扫描码

非安全编程演示之格式化字符串篇version1.1 上

日期:2007年6月2日 作者: 查看:[大字体 中字体 小字体]


目录:
简介
Fs1.c分析
Fs2.c分析
Fs3.c分析
Fs4.c分析
Fs5.c分析
结论
参考


译者注:
本文由Core Security发布,通过gera的Insecure Programming中的5个例子说明格式化字符串漏洞。alert7前辈曾经由这5个例子写了《非安全编程演示之格式化字符串篇》,所以我也就使用了同样的名字。翻译中的错误之处还请各位高手斧正。


简介

在这篇文章中,Core Security将展示c语言程序中程序员常犯的一些错误。通过gera举的5个例子来说明format string(格式化字符串)这类型的问题。我们将确切指出程序中的bug,并将阐述这种错误为什么是危险的,并针对每一个例子都将有一个exploit。在这篇文章中,测试的平台是 Linux Slackware 8.0 server(IA32),编译器是 GNU GCC 2.95.3:

user@CoreLabs:~$ uname -a
Linux CoreLabs 2.4.5 #31 SMP Sat Mar 2 03:04:23 EET 2002 i586 unknown

user@CoreLabs:~$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-slackware-linux/2.95.3/specs
gcc version 2.95.3 20010315 (release)

user@CoreLabs:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 5
model : 2
model name : Pentium 75 - 200

user@CoreLabs:~$


我们假设读者有c编程经验,并且有stack overflow,format string,GOT等的基础知识。在
本文中将不再一一赘述这些溢出的原理。如果不熟悉,请阅读文末的参考里的文章。


这篇文章以后的更新版本里也许会包括其他平台上的format string信息,大家可以在
www.core-sec.com下载到最新版本。


有任何问题,请联系:info@core-sec.com


fs1.c分析

这个例子的代码如下
/* fs1.c *
* specially crafted to feed your brain by gera@core-sdi.com */


/* Don't forget, *
* more is less, *
* here's a proof */


int main(int argv,char **argc) {
short int zero=0;
int *plen=(int*)malloc(sizeof(int));
char buf[256];


// The next line is added by Core Security to ease exploitation.
printf("%p\n", &zero);


strcpy(buf,argc[1]);
printf("%s%hn\n",buf,plen);
while(zero);
}


这个例子没有离奇的地方。下面是printf()的man page中所说:

n The number of characters written so far is stored into the
integer indicated by the int * (or variant) pointer argument. No
argument is converted.

h A following integer conversion corresponds to a short int or
unsigned short int argument, or a following n conversion corresponds
to a pointer to a short int argument.
(译者注:%n在格式化中的意思是将显示内容的长度输出到一个变量中去。%h的意思
是把后面对应的内容转换为short int型)


如果攻击者提供260 bytes长的参数,最后四个字节将覆盖指针*plen。当接下来执行
printf()时,将会在*plen(这个值由攻击者控制)所指向的内存中写入一些字符。然而,
由于format string中的h,攻击者将只能写两个字节(short write---由于h的转换)到这个内存
地址。如果提供的参数大于260字节,那么将会覆盖zero,这个例子的程序将进入死循环。


_________________________
shellcode addr \
shellcode addr \
65276 bytes
shellcode addr /
shellcode addr /
-------------------------\
zero address 4 bytes
------------------------ /

[1] [2] [3] [4] 下一页 




上一篇:Thebat!139脱壳详情及对Asprotect加壳保护的一点小结

下一篇:怎样脱pklite32, Shrinker 3.4 和 NeoLite加的壳(1)

非安全编程演示之格式化字符串篇version1.1 上 相关文章:
·IE浏览器再现严重安全漏洞 微软紧急发补丁程序
·不怕攻击 家庭上网必学八招安全绝招
·socket编程原理
·中小企业整体网络安全解决方案解析
·基础知识 初级黑客安全技术命令详解
·Windows黑客编程基础
·TCP/IP编程实现远程文件传输
·如何以安全模式启动计算机
·如何将文字、表格、演示稿转为PDF格式
·Windows 2003安全设置大全-IIS、终端服务、FTP、SQL的配置
非安全编程演示之格式化字符串篇version1.1 上 相关软件:
·Kaspersky(卡巴斯基) Internet Security 安全套装 V6.0.2.621 中文版
·如何加固Windows XP 主机安全
·硬盘分区与格式化详解
·美萍安全卫士v12.3
·2007网络安全黄皮书V1.0.0
·温瑞安全集
·防骗 安全教育片
·360安全卫士v3.2
·C++编程思想
·shell编程和unix命令

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot