网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 网络安全首页 | 安全在线 | 病毒防治 | 黑客攻防 | 漏洞研究 | 黑客编程 | 破解手记 |
您现在的位置: 超人气学院 >> 网络安全 >> 黑客编程 >> 文章正文 用户登录 新用户注册
system()在溢出中的利用           
system()在溢出中的利用
作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:19:42

翻译整理自  《Advanced usage of system() function》,  原文下载
http://pi3.int.pl/papers/ret-en.txt,截取其中关键部分翻译整理,希望可以给喜欢研究溢出的朋
友提供—些帮助.
    近几年来,计算机系统在增强安全性上有了很大的发展,一些增强型的内核补丁之类.
很好地防范了溢出的被利用,造成写exploit的难度大大增加了.Exploit的技术也相对不断
发展其中ret-into-libc技术可以很好地避开某些限制,又是写exploit的一条罗马大道.
    对比—下槽统的溢出利用方式,expoit构建一个buf,覆盖了net地址然后跳转到有一大串
NOP的内存某处,由于NOP的妙处NOP后面的shellcode最终被运行了.在ret-into-libc
中,system()很好的再现了类似的溢出利用方式
    system()的效果相当于运行一个shell命令(sh -c <command>),以下是system()在exploit
利用时可以构建buffer的样子:
  |NOPs(space,>)|command(eg.nc..)|system()addr|4bytes shits|NOP addr|
  首先是ret,这里ret的地址是system()的地址,用它覆盖EIP,紧跟是4bytes的垃圾数
据,接下来就是要运行的命令所在的内存地址.为了增加成功率,跟传统溢出中构建buffer
一样.可以用—大堆的NOP来移动到目的地.这里可以用来作为NOP的字符有多个,包括
空格( ),分号(;),锯齿符(')和斜线(/)
    对以上每个符号在shell里测试一番(省略,译者注)
    以下用实例宋分析实际使用,Ftpdctl是—个ProFTPD的附加程序,其中ruln func函数有一个溢出,源代码下载_ftpdctl.c">http://pi3.int.pl/private/0day/p_ftpdctl.c
    编译一下就运行:

root@pi3:~#gcc server.c -o server
root@pi3:~#./server

    然后就可以测试了,针对vuln后面的参数:

root@pi3:~#telnet localhost 666
......
vuln AAA (溢出的地方)
Vuln runing...
Copying bytes...
DONE
Return to the main loop (因为数据长度载范围内,不会发生溢出)
quit
root@pi3:~#telnet localhost 666
......
vuln AAA (A*129,输入多达129个A字符)
child 1391 terminated (溢出发生了)
Vuln runing...
Copying bytes...
DONE
Return to the main loop
Connection closed by foreign host.

    当然,这里的129个"A"是通过不断尝试后定位出来的,调试工具用gdb,平台Redhat 9 (译者自己测试过程)

[root@RH9 root]#telnet localhost 666
......
vuln AAA(A*129, 输入多达129个A字符)

    暂且不要按回车,再打开一个窗口,用于gdb调试:

[root@RH9 root]#netstat -anp|grep server|grep ESTABLISHED (得到进程号)
[root@RH9 root]#gdb server 1701
......
0xffffe002 in ??()
(gdb)c
Continuing.  (这个时候回到第一个窗口按下回车)
.....

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

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda    责任编辑:kinda 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
     Windows中巧用RUNDLL3[5355]
     黑客软件编写基础知识[827]
     Win32Asm快速教程[535]
    相 关 文 章
    破PowerStrip2.67
    adsubstractpro2.1注册器(
    EasyRecovery5.05个文件限
    电脑幽灵pcGhost4.0注册机
    暴破PerformanceTest3.4
    5StarZip2001破解--初学者
    BootStarv7.33keygeninpur
    CRACKbootstart6.02版
    脱壳高级篇之ImportRECons
    DirectoryScannerv1.5注册
    MouseStarV3.01注册算法分
    starforce的一些资料
    RegistryCrawler4.0注册码
    STEP7KNOW_HOW_PROTECTver
    HotkeyMaster算法分析
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)