看雪辞旧迎新exploitme挑战赛B题答题卷.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
看雪辞旧迎新exploit me 挑战赛 B 题 答题卷 基本分,共70分 得分点 分值描述 实际得分 漏洞定位 请介绍自己定位漏洞的思路与方法,以及所使用的软件或工具,如自己独立开发工具请注名,20分 漏洞描述及危害分析 通过逆向和调试,分析给出PE文件中的漏洞原理 。给出能够想到的利用此漏洞的所有方法(可以只实现其中一种或几种),给出攻击场景和攻击步骤的描述。15分 shellcode 请描述shellcode的功能及其中所使用的相关技术,10分 exploit截图 shellcode运行成功时的屏幕截图,10分 稳定性与通用性论证 介绍自己exploit代码中各个关键点的解决方案,从稳定性,通用性两方面进行对exploit进行论证和评价,10分 exploit代码运行 提交的exploit将在XP SP2虚拟机中试运行,用于检验exploit的通用性与稳定性。如在验证环境下能够通过,得5分 (本项得分可能存在一定随机性,评委会拥有最终裁决权) 加分 加分点 分值描述 实得加分 分析速度 加分 本题前五名提交者将获得5分加分。提交时间按照比赛过程中最后一次编辑修改的时间计算。 shellcode 原创加分 shellcode如果是自己独立开发完成,请附上详细的开发文档,并描述其中关键问题的解决方法,根据质量给予最高5分的加分。若A,B两题使用同样的shellcode,不重复加分。 分析报告文字质量 根据分析报告的行文质量,思路,层次,叙述方式等,发现特别优秀的给出1~3分的加分 整个过程中使用的其他创新性技术 请在分析报告中明确指出,此项加分不定 注意:比赛结束前,严禁在提交版面以外以任何形式讨论赛题,否则立刻取消资格。 提交者看雪ID:nop 职业:(学生、程序员、安全专家、黑客技术爱好者、其他?) IT民工 漏洞定位: 1. 先注册测试的activex控件: 2. 打开Comraider 4. 然后选”Launch in Olly”,在ollydbg中继续分析漏洞. 漏洞描述及危害分析: 接上 :-) 在od中输入at oleaut32.DispCallFunc,定位到DispCallFunc函数LoadPage()方法. 然后,启动IDA Pro,分析exploit_me_B.dll,因为我们已经知道导致溢出的是LoadPage方法的第一个参数,所以我们着重跟踪第一个参数的数据流. 最终我们来到这里,紫色标注的部分,函数体内部如下图所示: 如图所示,注释的那段代码是strcpy的inline版本,str_src是由用户提供的, str_dst是栈内临时变量,其大小为256字节,所以只要用户提供(256+4)字节长度的字符串即可导致溢出,溢出buffer可以如下构造: 如下图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 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 SetUserAuth ( ByVal UserName As String , ByVal Password As String ) Sub_1001B360是存在问题的函数,看代码,这个是一个类的成员函数,将str_UserName__和str_Password__复制到类实力的数据成员中.可

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档