首页
社区
课程
招聘
1
看雪CTF2019Q1-第3题
发表于: 2019-3-18 22:05 5767

看雪CTF2019Q1-第3题

2019-3-18 22:05
5767
这题在以前的基础上做了点修改

1. 绑定了一个IE控件回调
about:blank#sptWBCallback:id=123456;eventName=undefined

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CODE:00491DCC sub_491DCC      proc near               ; CODE XREF: _Tfrmcrackme_FormCreate+81↓p
CODE:00491DCC                 push    ebx
CODE:00491DCD                 mov     ebx, eax
CODE:00491DCF                 mov     eax, ebx
CODE:00491DD1                 call    sub_491B78
CODE:00491DD6                 mov     eax, [ebx+40h]
CODE:00491DD9                 mov     [eax+2A4h], ebx
CODE:00491DDF                 mov     dword ptr [eax+2A0h], offset x_CB_492088
CODE:00491DE9                 pop     ebx
CODE:00491DEA                 retn
CODE:00491DEA sub_491DCC      endp
 
function sptWBCallback(spt_wb_id, spt_wb_name, optionstr) {
    url = '#sptWBCallback:id=';
    url = url + spt_wb_id + ';eventName=' + spt_wb_name;
    if (optionstr) url = url + ';params=optionstr';
    location = url;
}
 
回调中提取id, eventName, params, 这里只对id有处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CODE:00491DCC sub_491DCC      proc near               ; CODE XREF: _Tfrmcrackme_FormCreate+81↓p
CODE:00491DCC                 push    ebx
CODE:00491DCD                 mov     ebx, eax
CODE:00491DCF                 mov     eax, ebx
CODE:00491DD1                 call    sub_491B78
CODE:00491DD6                 mov     eax, [ebx+40h]
CODE:00491DD9                 mov     [eax+2A4h], ebx
CODE:00491DDF                 mov     dword ptr [eax+2A0h], offset x_CB_492088
CODE:00491DE9                 pop     ebx
CODE:00491DEA                 retn
CODE:00491DEA sub_491DCC      endp
 
function sptWBCallback(spt_wb_id, spt_wb_name, optionstr) {
    url = '#sptWBCallback:id=';
    url = url + spt_wb_id + ';eventName=' + spt_wb_name;
    if (optionstr) url = url + ';params=optionstr';
    location = url;
}
 
回调中提取id, eventName, params, 这里只对id有处理

2. 在jscript.dll的JsEval内的COleScript::Compile处下断, 得到eval后的js, 得到前半部分: simpower91
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function ckpswd() {
    key = "simpower91";
    a = document.all.pswd.value;
    if (a.indexOf(key) == 0) {
        l = a.length;
        i = key.length;
        sptWBCallback(a.substring(i, l));
    else {
        alert("wrong!<" + a + "> is not my GUID ;-)");
        return "1234";
    }
}
 
function ok() {
    alert("congratulations!");
}
 
function onclick() {
    ckpswd();
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function ckpswd() {
    key = "simpower91";
    a = document.all.pswd.value;
    if (a.indexOf(key) == 0) {
        l = a.length;
        i = key.length;
        sptWBCallback(a.substring(i, l));
    else {
        alert("wrong!<" + a + "> is not my GUID ;-)");
        return "1234";
    }
}
 
function ok() {
    alert("congratulations!");
}
 
function onclick() {
    ckpswd();
}

3. 后半部分( 跟踪前面的回调函数)
这部分通过虚拟机对id进行验证


[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费 1
支持
分享
赞赏记录
参与人
雪币
留言
时间
PLEBFE
为你点赞~
2023-1-28 04:58
最新回复 (1)
雪    币: 2428
活跃值: (159)
能力值: ( LV11,RANK:198 )
在线值:
发帖
回帖
粉丝
2
上次大神留下的印象极为深刻,我会再来的,期待下次
2019-3-27 09:31
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册