mrctf2020_shellcode_revenge(不用仔细分析汇编)

日常拖进IDA一看,发现不能反编译,原因是0x124D位置有个call rax

 然后看了一下汇编,发现又臭又长,由于本人还没有学汇编,各种jmp,cmp等等看得我头皮发麻

所以我干脆直接在IDA里面改汇编,把call rax改成call main就能反编译了

一目了然

稍加分析便能发现输入字符必须要在(47,122]里,也就是从0到z

图源:百度百科,侵删

后面的问题就变成怎样把用这些字符写出shellcode了

看了一些大佬们用alpha3重定向一下就能搞出shellcode,详见大佬博客,结果如下

amd64 可见字符 'Ph0666TY1131Xh333311k13XjiV11Hc1ZXYf1TqIHf9kDqW02DqX0D1Hu3M2G0Z2o4H0u0P160Z0g7O0Z0C100y5O3G020B2n060N4q0n2t0B0001010H3S2y0Y0O0n0z01340d2F4y8P115l1n0J0h0a070t'

然后发送就可以了,记得要用send而不是sendline,因为回车\x0a不在合法范围内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值