首页
社区
课程
招聘
[原创]新人处女技术贴!
发表于: 2017-8-13 01:32 6980

[原创]新人处女技术贴!

2017-8-13 01:32
6980

大神勿喷哈!

闲来没事看了一下ctf,发现谖草利用注入爆破第二题的思路!于是自己也想写个程序注入爆破,但是发现其中还是有诸多的问题。首先CM和你注入的程序是相互独立运行的,解密函数运行的时候你不能改变输入其中的值(栈中的数据)。比如:当CM中的程序判断输入的"10000000\n"是否正确时,注入程序突然就将数据"10000001\n"注入进CM,这样肯定是不对的。所以我们判断什么时候解密程序解密完成!这里我提供的思想就是让其成为如同操作系统中的临界资源区,首先设置一个标志lock当lock=1时解密函数解密完成可以注入,当lock=0时候函数正在解密不可注入。


下面就是找到CM解密位置所在,载入IDA与OD发现用fgets将输入数据放入v19中,仔细查看程序发现27到87行是解密的关键,爆破思路:修改程序让其在27到87行循环。


这下就又遇到问题,如何修改。载入OD找fgets()单步走一步就发现输入的字符串在栈中0x0012BE54 的位置这里就是我们的注入点 而设置的lock标志在0x0012BE84,为什么选这个位置因为V19分配了260个空间完全够用。

修改程序需要注意的是堆栈平衡,不然程序就会报错!像在下面的修改就直接加了个sub esp,0x18就是为了平衡。下面那个jmp是为了跳到修改lock的地方。


下面就是最上面那个图的小的循环圈


还有最好把打印错误的程序也给修改了为了提高爆破速度。到此CM修改完毕。轮到注入程序了。

        LPCVOID pbase = (LPCVOID)0x0012BE94;

DWORD dwtmp;

//dwtmp=pbase;

DWORD base_1=0x0012BE54;

DWORD lock=0x0012BE94;

//char buf[4] = { 0 };

char buf[4]={0};

DWORD dwRead;

while (TRUE){

if(!::ReadProcessMemory(game_handle,pbase,&dwtmp,4,&dwRead)){

printf("error to read mem!\n");

}


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2018-3-6 20:29 被大帅锅编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (12)
雪    币: 2575
活跃值: (502)
能力值: ( LV2,RANK:85 )
在线值:
发帖
回帖
粉丝
2
支持~不错,学习
2017-8-13 11:16
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我的天  你也太天才了
2017-8-15 14:08
0
雪    币: 173
活跃值: (719)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
4
不明觉厉
2017-8-15 14:49
0
雪    币: 1185
活跃值: (458)
能力值: ( LV13,RANK:360 )
在线值:
发帖
回帖
粉丝
5
其实就是让push  ecx  的值递增  SMC可能会更加好理解
2017-8-15 17:33
0
雪    币: 16506
活跃值: (6397)
能力值: ( LV13,RANK:923 )
在线值:
发帖
回帖
粉丝
6
Ericky 其实就是让push ecx 的值递增 SMC可能会更加好理解
没太懂你的意思!你是说的是40127A处的吗?
2017-8-16 00:28
0
雪    币: 1535
活跃值: (695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主不错哦
2017-8-16 09:36
0
雪    币: 16506
活跃值: (6397)
能力值: ( LV13,RANK:923 )
在线值:
发帖
回帖
粉丝
8
开花的水管 [em_12]楼主不错哦
互相学习嘛!
2017-8-16 10:25
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
学习了
2017-8-21 17:00
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
看到吾爱破解
2017-9-30 10:13
0
雪    币: 173
活跃值: (719)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
11
大神带带我啊!!!
2018-2-5 12:20
0
雪    币: 300
活跃值: (2477)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
mark
2018-2-6 10:57
0
雪    币: 1048
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
2018-2-6 13:57
0
游客
登录 | 注册 方可回帖
返回
//