LCTF2018-pwn4fun-详细解析

admin 2022-06-24 18:45:57 AnQuanKeINFO 来源:ZONE.CI 全球网 0 阅读模式

 

LCTF-pwn4fun-详细解析

LCTF真的有一点劝退的意思。。。膜一波出题人,当时自己没有做出来,和大佬交流了一下思路之后会了。感觉题目是很新奇的,因为有点像是现实环境中逻辑漏洞利用。

 

程序分析

题目的代码很多这里列出一些主要的

运行图

main


我这里标出了一些函数的大概名字,这里说一些简单的函数首先admin是把字符串admin先放在一个地址里,然后接下来name函数就是输入自己的名字,就如上面运行图片展示的,然后开始游戏

dont_know


这个函数刚开始标为dont_know是因为我开始看的时候并不知道是什么意思。。然后就继续看了下面,现在我们来看看这个函数,首先我这里将一个变量命名为了file_neme因为我发现它把值赋给了file,然后后面有一个openfile的操作,感觉这里有些不对劲,可能可以有些打开flag文件的操作,因为有一个congratulate的字符串在这里,但是这里并没有被怎么调用

输入比较函数


这里会有一个比较让我们输入不能等于admin

menu


这里有4个操作数,首先是do something,然后是do something again,然后是do something else,然后是do nothing,这里do nothing会执行一个退出的操作.接下里具体讲讲其他选项

choose 1 & do something


可以发现它对一个byte类型数进行了一个赋值,这里原来是一个数字,但是我发现这个是在可见字符的范围里所以我直接r了一下,进行了一个转换。看看这个地方并没有什么bug额。

choose 2 & do something again


这里和第一个操作时差不多的,所以就不多解释了,也是对那个位置进行一个赋值,先记住这个字符串以为之后可能会用到。接下里的3就不进行分析了,是差不多的函数,无非就是blood不相同

最后一个函数


这里有一个很明显的格式化字符串漏洞,但是我怎么也做不到成功的赢,在上面blood循环之中,这个游戏类似于卡牌游戏一样,可以进攻然后可以放弃此轮回合,也可以吃了对方的牌,当然对于题目本身来说肯定是会有丢弃卡牌的环节,这里就是一个可以利用的地方了

溢出点在丢牌处


这里在第二次丢牌的时候没有检查下表所以可以直接进行一个数组越界的覆盖

 

动态调试

这个地方是我用ida动态调试的时候发现的,在admin的情况下会进行一个open file的操作,可是open出来的是一个。。。

这里可以发现是一个假的flag。。。太服气了这一点了,所以我们还是要继续寻找。继续寻找的过程中可以发现在丢牌的时候有一个下表溢出会让我们可以覆盖到flag那个地方,这也就用到了

这个地方可以进行一个下表越界-5对4进行一个a覆盖

思路分析

进入第二个选项的丢牌然后让下标进行一个溢出,溢出-5,进行一个flag的布置然后就可以读取flag了,当让这里的admin需要加上‘’将9个字符串填满

EXP

 from pwn import *
 p=process('sgs.dms')
 def get(x):
     p.recvuntil(str(x))
 def put(x):
     p.sendline(str(x))
 p=remote('212.64.75.161', 2333)
 get(name)
 put('n')
 get(?)
 put(U)
 get(name)
 put(Hadreys)
 p.sendline('2')
 #这里就开始自己手打游戏了,首先进入第二次弃牌阶段然后,然后输入-5使的file_name被我们覆盖,这里要
 #进行6次成功覆盖后,就可以执行下面的脚本按ctrl + c就可以了。
 p.interactive()
 put('admin'.ljust(9.'')) #远程端可以通。。本地不太行额
 p.interactive()

ps:这里请教了一下lm0963,膜一波,一个人拿了两个pwn-fd

 

总结

这几次的比赛在pwn上会有很多的新题,其中最大的感受就是对pwn手的逆向要求更高的了,就比如湖湘杯的pwn1,代码量也很大,而还有这个lctf的这道题目需要先知道程序的功能才能pwn。还有之前出现过的vmpwn。。。

weinxin
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
记一奇葩弱口令到内网实战 AnQuanKeINFO

记一奇葩弱口令到内网实战

一、前期打点拿到目标后首先要做的就是信息收集,这次给的目标就给个单位名称,通过互联网上搜索发现其网站在阿里云上着实无奈,在这里推荐个寻找资产的方法,利用ICP/IP地址/域名信息备
MITRE漏洞公告意外展示易受攻击资产 AnQuanKeINFO

MITRE漏洞公告意外展示易受攻击资产

第317期你好呀~欢迎来到“安全头条”!如果你是第一次光顾,可以先阅读站内公告了解我们哦。欢迎各位新老顾客前来拜访,在文章底部时常交流、疯狂讨论,都是小安欢迎哒~如果对本小站的内容
浅识k8s中的准入控制器 AnQuanKeINFO

浅识k8s中的准入控制器

背景在 k8s中各组件和kube apiserver通信时的认证和鉴权 中提到”NodeRestriction准入插件”,实际上它是一个”准入控制器”。“准入控制器”是一个重要的概
评论:0   参与:  0