首页
论坛
专栏
课程

[原创]]看雪CTF.TSRC 2018 第十题 侠义双雄

2018-12-21 00:54 2084

[原创]]看雪CTF.TSRC 2018 第十题 侠义双雄

2018-12-21 00:54
2084
第一次做delphi的题目,先看了一下加密解密第三版中的讲解,下载DeDe进行分析。

1. 找到ButtonClick2的按钮事件,但是查看对应的代码00469858,结果一头雾水。

2. 从可见字符串进行分析
   CODE:004696CC                 db '><br><br><input type=button value="checkMyFlag" onclick="ckpswd()'
   与错误提示信息相符 貌似是一段VBScript代码
   但是并没有找到提示正确的相关字符,怀疑作者进行了隐藏。
   
3. 本来想通过下读取编辑框内的字符串为线索进行下断的,可常用的函数并没有什么作用。
   一直没有办法下断,觉得无从下手了。从Import表中查看有可能用到的函数,发现有写内存的操作,很是怀疑。
   就让程序运行起来,看到底写了什么。
   
4. 跟踪查看写内存,果然发现了一段脚本,   
eval(function(s,p,a,c,k,e,d)
{
    for(i=0;i<k.length;i++)
        k[i]=k[i].replace(s, '');
    
    e=function(c){
        eval(document.write(String.fromCharCode(13)));
        return(eval(c<a)?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};
    
    if(!''.replace(/^/,String))
    {
        while(c--)   d[e(c)]=k[c]||e(c);
        k=[function(e){return d[e]}];
        e=function(){return'\\w+'};
        c=1
    };
        
    while(c--)
    if(k[c])
        p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);
    return p
}('$$$','8 4() {1 = 6.3.e.f;9(1 == "b") {2("5!")} 7 {2("g!<" + 1 + "> a d c 0 ;-)")}}',62,17,
'GUID$$$@a$$$@alert$$$@all$$$@ckpswd$$$@congratulations$$$@document$$$@else$$$@function

   看不懂什么意思,充分利用检索的能力,发现这是一段混淆代码。
   想运行起来,结果试了半天也未能成功。
   
5. 看了网上的例子讲解,这应该是一段语句,用于校验码的判断。大致推断
       8为function  
       1为输入的序列号   
       怀疑"b"此时应该在内存中有存放,抱着试试的想法把内存dump下来。
       
6. 利用window的dump功能,查看内存信息。果然发现:(看的好累!!!)

02133a00h: 00 00 66 75 6E 63 74 69 6F 6E 20 63 6B 70 73 77 ; ..function ckpsw
02133a10h: 64 28 29 20 7B 20 20 20 20 61 20 3D 20 64 6F 63 ; d() {    a = doc
02133a20h: 75 6D 65 6E 74 2E 61 6C 6C 2E 70 73 77 64 2E 76 ; ument.all.pswd.v
02133a30h: 61 6C 75 65 3B 20 20 20 20 69 66 20 28 61 20 3D ; alue;    if (a =
02133a40h: 3D 20 22 6B 61 6E 78 75 65 43 54 46 32 30 31 38 ; = "kanxueCTF2018
02133a50h: 62 79 53 69 6D 70 6F 77 65 72 39 31 22 29 20 7B ; bySimpower91") {
02133a60h: 20 20 20 20 20 20 20 20 61 6C 65 72 74 28 22 63 ;         alert("c
02133a70h: 6F 6E 67 72 61 74 75 6C 61 74 69 6F 6E 73 21 22 ; ongratulations!"
02133a80h: 29 20 20 20 20 7D 20 65 6C 73 65 20 7B 20 20 20 ; )    } else {   
02133a90h: 20 20 20 20 20 61 6C 65 72 74 28 22 77 72 6F 6E ;      alert("wron
02133aa0h: 67 21 3C 22 20 2B 20 61 20 2B 20 22 3E 20 69 73 ; g!<" + a + "> is
02133ab0h: 20 6E 6F 74 20 6D 79 20 47 55 49 44 20 3B 2D 29 ;  not my GUID ;-)
02133ac0h: 22 29 20 20 20 20 7D 7D 00 00 4C 00 00 00 FF FF ; ")    }}..L...
      
测试    kanxueCTF2018bySimpower91 为正确的序列号



[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!

最后于 2018-12-21 18:17 被kanxue编辑 ,原因:
上一主题 下一主题
最新回复 (0)
游客
登录 | 注册 方可回帖
返回