




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、看雪辞旧迎新exploit me 挑战赛 B 题 答题卷基本分,共70分得分点分值描述实际得分漏洞定位请介绍自己定位漏洞的思路与方法,以及所使用的软件或工具,如自己独立开发工具请注名,20分漏洞描述及危害分析通过逆向和调试,分析给出PE文件中的漏洞原理 。给出能够想到的利用此漏洞的所有方法(可以只实现其中一种或几种),给出攻击场景和攻击步骤的描述。15分shellcode请描述shellcode的功能及其中所使用的相关技术,10分exploit截图shellcode运行成功时的屏幕截图,10分稳定性与通用性论证介绍自己exploit代码中各个关键点的解决方案,从稳定性,通用性两方面进行对exp
2、loit进行论证和评价,10分exploit代码运行提交的exploit将在XP SP2虚拟机中试运行,用于检验exploit的通用性与稳定性。如在验证环境下能够通过,得5分(本项得分可能存在一定随机性,评委会拥有最终裁决权)加分加分点分值描述实得加分分析速度 加分本题前五名提交者将获得5分加分。提交时间按照比赛过程中最后一次编辑修改的时间计算。shellcode 原创加分shellcode如果是自己独立开发完成,请附上详细的开发文档,并描述其中关键问题的解决方法,根据质量给予最高5分的加分。若A,B两题使用同样的shellcode,不重复加分。分析报告文字质量根据分析报告的行文质量,思路,层
3、次,叙述方式等,发现特别优秀的给出13分的加分整个过程中使用的其他创新性技术请在分析报告中明确指出,此项加分不定注意:比赛结束前,严禁在提交版面以外以任何形式讨论赛题,否则立刻取消资格。提交者看雪ID:nop职业:(学生、程序员、安全专家、黑客技术爱好者、其他?)IT民工漏洞定位:1. 先用COM Explorer v2.0的Register DLL Server功能在本机注册测试用的activex控件: 2. 打开Comraider对该控件进行fuzz:3. 很快就fuzz出其中的一个bug:4. 然后选”Launch in Olly”,在ollydbg中继续分析漏洞.漏洞描述及危害分析:接
4、上 :-)在od中输入at oleaut32.DispCallFunc,定位到DispCallFunc函数,然后在函数体内找到call ecx,F2设断点,F9运行.如上图所示,这样就定位到了存在溢出的LoadPage()方法.然后,启动IDA Pro,分析exploit_me_B.dll,因为我们已经知道导致溢出的是LoadPage方法的第一个参数,所以我们着重跟踪第一个参数的数据流.最终我们来到这里,紫色标注的部分,函数体内部如下图所示:如图所示,注释的那段代码是strcpy的inline版本,str_src是由用户提供的, str_dst是栈内临时变量,其大小为256字节,所以只要用户提
5、供(256+4)字节长度的字符串即可导致溢出,溢出buffer可以如下构造:|str_padding|256字节padding数据|jmp_addr|跳转地址因为这个activex溢出是在ie浏览器里发生,所以可以充分利用浏览器环境,而不是采用传统的bounce address来跳到我们的shellcode.这里我们用0x0c0c0c0c作为跳转地址,然后采用heap spray堆喷射技术使得流程落入shellcode中.另外,因为走到紫色流程的不仅仅只有LoadPage()一个方法,如果进行回溯分析,应可以发现更多存在溢出的控件方法.其他溢出点的分析:1.DownLoad(URL, file
6、name) 如下图C伪代码所示,分配的堆为固定的516字节,但是两个strcpy(inline)都没有检查用户输入的str_URL和str_filename长度,直接复制入堆中导致后续发生溢出.因此这个方法两个参数超长都可以导致溢出.2. GetRemoteFileTime(filename)继续看c伪代码,堆分配的还是516字节,但是对用户输入的str_filename_依然没做长度检查,直接复制入栈导致后续的溢出.3. Sub LoadSifPage ( ByVal URL As String , ByVal x As Long , ByVal y As Long , ByVal Zoom
7、 As Single , ByVal PageNum As Long )看流程图,URL字符串导致溢出的原因还是sub_10015AD0和LoadPage的那个原因一样,不再赘述.4. Sub Print ( ByVal URL As String , ByVal PageNum As Long , ByVal b2in1 As Long , ByVal isdoubleside As Long , ByVal Zoom As Long )还是看伪代码,-_-,str_URL_被复制到大小为300字节的堆中,但是没检测用户输入的长度,导致堆溢出,从而导致后续的虚函数调用得到控制.5. Sub
8、SetUserAuth ( ByVal UserName As String , ByVal Password As String )Sub_1001B360是存在问题的函数,看代码,这个是一个类的成员函数,将str_UserName_和str_Password_复制到类实力的数据成员中.可以从图中看出这个类的数据结构:+0x000|.|<- this+0x214|UserName|/256字节,见下图绿色部分+0x314|Password|/估计也为256字节,见下图黄色部分+0x414|.|但是这两个inline的strcpy都没有检查用户输入的长度,所以导致堆溢出.6. Sub S
9、etBookAuth ( ByVal bookauth As Long )看这段代码,很搞笑,sub_10013CE0把用户输入的bookauth当做字符串的指针来把字符串复制到类实例里:+0x000|.|+0x164|str|/ strcpy(obj.str, bookauth_);没有检测用户输入,照样溢.攻击场景和危害分析:因为这个控件是safe的,所以可以不需要用户交互即可运行恶意代码.在ie浏览器用iframe标签嵌入恶意页面,并骗取用户访问含有恶意页面的网页即可完成攻击.shellcode描述请注明shellcode来源:原创,修改,引用。原创请给出开发说明修改请给出修改说明,并注明出处,附加被引用代码引用请给出功能描述,并注明出处,附加被引用代码来源:原创,shellcode代码见附件messagebox.c功能说明:弹出MessageBox 显示” 很女子,很弓虽大,很禾口讠皆!”窗口.开发说明:见shellcode源码,因为此shellcode构建在通用模板上,非常简单.exploit运行截图测试代码: 附件 exploit_me_B_LoadPage().html,其他的不测试了,雷同.稳定性与通用性论证通用性:因为采用heap spray,所以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海中侨职业技术大学《建筑营造》2023-2024学年第二学期期末试卷
- 重庆建筑工程职业学院《跨媒介创意2》2023-2024学年第二学期期末试卷
- 北京工商大学嘉华学院《管理学原理B1》2023-2024学年第二学期期末试卷
- 新疆现代职业技术学院《教育学研究新进展》2023-2024学年第二学期期末试卷
- 大连海洋大学《插画基础》2023-2024学年第二学期期末试卷
- 上海工商职业技术学院《陶瓷产品设计》2023-2024学年第二学期期末试卷
- 湖南交通工程学院《数字电路与数字逻辑》2023-2024学年第二学期期末试卷
- 新疆司法警官职业学院《通讯电子线路》2023-2024学年第二学期期末试卷
- 惠州卫生职业技术学院《设计史论》2023-2024学年第二学期期末试卷
- 福建体育职业技术学院《城市更新与场所营造》2023-2024学年第二学期期末试卷
- 地铁站装修报价
- 《寄冰》-完整版课件
- 内科学-骨髓增生异常综合征(MDS)
- 办公室事故防范(典型案例分析)
- 地球的不同圈层英文版
- 八年级下册英语七选五专项讲练一
- 两班倒排班表excel模板
- ISO31000风险管理标准中文版
- 《S7-1200-PLC-编程及应用技术》试题试卷及答案2套
- 电土施表4-18混凝土结构工程养护记录.docx
- 医疗质量与安全管理委员会组成与职责
评论
0/150
提交评论