极客中华

?找回密码
?qq免费领红包群
极客中华 ? 门户 ?极客技术 ? 查看内容

BCTF竞赛pwn题目详解

2014-3-16 15:06| 发布者: loong| 查看: 10502| 评论: 0

摘要: PWN100后门程序描述米特尼克拿到了BAT数据中心的口令后,为了确保口令被更改后仍能登陆数据中心,他从一位小伙伴那拿到了一个后门程序植入进了服务器。这个后门程序没有任何说明,但是米特尼克迅速找到了使用方法。 ...

PWN100后门程序

描述

米特尼克拿到了BAT数据中心的口令后,为了确保口令被更改后仍能登陆数据中心,他从一位小伙伴那拿到了一个后门程序植入进了服务器。这个后门程序没有任何说明,但是米特尼克迅速找到了使用方法。后门程序:http://bctf.cn/files/downloads/backdoor_844d899c6320ac74a471e3c0db5e902e 安装地址:218.2.197.250:1337 安装地址2:218.2.197.249:1337

解题

主要思路: 经过分析,发现程序的主要功能是将用户输入与轮番异或并判断结果是否等于n0b4ckd00r。

enter image description here

如果这个判断通过,就会把从第10个字节的剩余输入数据作为函数调用。

enter image description here

因此要利用这个我们的shellcode要用n0b4ckd00r开头并且用异或一遍然后发送给服务器。 需要注意的是要保证scanf能完整接受shellcode,它会把0x20等字符截断造成shellcode无法执行。 shellcode用的是这个:http://www.shell-storm.org/shellcode/files/shellcode-857.php

PWN200身无分文

描述

米特尼克在BAT上班时,发现很多同事都在用新款Android手机,很是羡慕,他也想搞一部,来替换他那部用了“二十多年”的摩托罗拉手机。但是他在BAT公司还没拿到第一笔工资,用假身份申请的信用卡在租房与日常饮食上也快刷爆了,可以说是身无分文了。这却难不倒米特尼克,他发现了这个销售手机的在线商店。商店地址:218.2.197.251:1234 http://bctf.cn/files/downloads/mobile_shop_4d904f700ef95bae39936cd9c0829d31

解题

主要思路:

下载程序后载入ida,找到显示菜单函数sub_8048b80。

enter image description here

通过这个函数的调用者我们找到接受参数的函数sub_8048C00,而该函数会调用购买手机的函数(sub_8048840)、显示菜单的函数等等,而sub_8048840中会对传入的参数进行校验:

enter image description here

检查是否为‘-’开头,如果不是,用strtol把字符串参数转换成数字,如果一次购买的商品大于8则退出,否则

enter image description here

a1[8 - result]加一,如果此处我们能控制让传入的参数为负数,那么就可以在a1 + 8的任意地址+1了,此处可以更改sub_8048C00的返回地址。 因为函数会检查传入参数是否以‘-’开头,所以传入一个以空格开头的字符串‘ -1’,这样就能绕过检测并且在经过strtol函数后还能转换为-1,至此,可以达到改a1 + 8之上任意地址了。 来看sub_8048A30函数,函数接受传入的信用卡号存放在变量中,我们可以在此处存放shellcode,然后通过上面的地址操作更改地址为变量的地址就可以exploit了。

enter image description here

所以,通过这点就可以利用上面的任意地址修改,将返回地址修改为我们存放的shellcode的地址就可以达到exploit了。

最新评论

?

小黑屋|手机版|Archiver|极客中华

GMT+8, 2019-9-19 05:28 , Processed in 0.085309 second(s), 22 queries .

Powered by Discuz! X3.2 Designed by Geekzh Team

? 2001-2015 Comsenz Inc.Comsenz Inc.

返回顶部