• 如果您想对本站表示支持,请随手点击一下广告即可~
  • 本站致力于提供原创、优秀的技术文章~
  • 有任何疑问或建议 均可以在站点右侧栏处 通过各种方式联系站长哦~
  • CTF – RootMe解题报告 [Cracking : PE DotNet – 0 protection]

    渗透测试 EXP 518阅读 0评论

    挑战入口:Root-Me(https://www.root-me.org/en/Challenges/Cracking/PE-DotNet-0-protection)
      分类目录:Link to …(http://exp-blog.com/2019/01/02/pid-2597/4/)

    水题。

    开启挑战后,下载了一个 ch22.exe 文件,运行后是一个 UI 程序。

    随意输入一个 password ,点击 Valider 按钮后,提示密码错误。

    使用 IDA 打开这个文件,尝试反汇编(注意使用 Microsoft.NET. assembly 方式打开):

    从左侧 Function name 可以找到 UI 程序每个组件模块的代码。

    由于校验密码的行为是在我们点击按钮后触发的,因此可以猜测真正的密码被硬编码到这个点击行为的代码里面。

    因此现在的目标应该是找到 Valider 按钮点击的事件代码。

    而在 Function name 只有一个模块名为 CrackMe.Form1__Button1_Click,双击查看这个模块代码,可以发现这个模块调用了一个 compare 函数,而根据 compare 的结果,代码会流向两个分支,一个是验证密码失败,一个是验证密码成功,说明这就是目标代码。

    不难注意到在 compare 函数前面有一个常量 DotNetOP ,很容易就会猜到这是硬编码到代码里面的真正密码。

    尝试使用这个密码验证,挑战成功。


    转载请注明:EXP 技术分享博客 » CTF – RootMe解题报告 [Cracking : PE DotNet – 0 protection]

    喜欢 (0) 分享 (0)
    发表我的评论
    取消评论

    表情

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址