搁置已久的XD_JWXT的wp

本文介绍了作者在XDCTF决赛中遇到的一道关于pwn的题目,当时由于技术限制未能解决。后来作者利用ALPHA3工具在Windows环境下将机器码转换为可见字符的Shellcode,并成功构造出128字符内的exploit。文章提供了详细过程及exploit代码,并提出了以此为灵感设计新的RE100题目的想法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个题目是XDCTF final的时候遇到的一题题目,由于当时并不太懂pwn,rop也才只是刚刚了解的程度,所以毫无意外,姿势太少,这题干不掉。

几经辗转,在某个角落发现了这题被遗弃的题目,所以便拿出来日了。。

好吧,进入正题。

这题对用户的输入进行了encode,要保证encode之后的数据必须为可见字符。

而这些被encode之后的数据将会被放在可执行段,最后跳转到该段执行。

所以我们的技术难点就是如何产生一个全为可见字符的shellcode。

谷歌了一下,发现一个可以将机器码全部转换为可见字符的工具。ALPHA3

  1. 先去shell-storm找一个短小的shellcode。(必须保证输入在128个字符之内)
  2. 并且将该shellcode保存成为二进制文件
  3. 然后在windows下(我不知道为啥linux不可以,真是坑爹。)使用命令python ALPHA3.py x86 ascii mixedcase EAX --input="shellcode" >flag
  4. 将生成的shellcode,放进弹夹。hhhhhh

exp如下。

from pwn import *

def encode(buf):
    i = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值