Git Product home page Git Product logo

dominator's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dominator's Issues

Segfault on GC

Getting a segmentation fault while running unit_tests.js

Array map new Array A string abcdefghilmnopqrstuvz.tainted true
Array map new Array A string 1234567890.tainted true
Array join v.tainted
[Ko] String in Object test Object.keys(obj)[1].tainted 'd' in obj String in Object tainted keys Object.keys(obj)[1].tainted
GCCalled

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000010
0x00000001000d7cc4 in js::gc::MarkGCThing (trc=, thing=Cannot access memory at address 0xffffffffffffffef
) at dominator/js/src/jsgcmark.cpp:435
435 JS_SET_TRACING_NAME(trc, name);

(gdb) bt
#0 0x00000001000d7cc4 in js::gc::MarkGCThing (trc=, thing=0x0, name=) at dominator/js/src/jsgcmark.cpp:435
#1 0x0000000100089579 in markLiveObjects (cx=0x0, theStatus=JSGC_END) at dominator/js/src/taint.cpp:261
#2 0x00000001000bef67 in MarkAndSweep (cx=, comp=, gckind=, gcTimer=@0x10400c208) at dominator/js/src/jsgc.cpp:2298
#3 0x00000001000c0901 in GCCycle (cx=, comp=, gckind=, gcTimer=@0x181e414a3) at dominator/js/src/jsgc.cpp:2653
#4 0x00000001000c0c0f in js_GC (cx=, comp=, gckind=) at dominator/js/src/jsgc.cpp:2739
#5 0x000000010007373c in js_DestroyContext (cx=0x100510148, mode=JSDCM_MAYBE_GC) at dominator/js/src/jscntxt.cpp:533
#6 0x00000001000417f5 in JS_DestroyContext (cx=0x7fff5fbff440) at dominator/js/src/jsapi.cpp:1014
#7 0x000000010000999a in DestroyContext (cx=Cannot access memory at address 0xffffffffffffffe7

) at dominator/js/src/shell/js.cpp:5215
#8 0x0000000100014158 in main (argc=Cannot access memory at address 0xffffffffffffff1b

) at dominator/js/src/shell/js.cpp:5674
(gdb)

tainted flag propagation through Function's constructor

I believe the following case is missing - wonder if it is something we should add:

var s = String.newTainted("foo"); // "foo" will be potential attack payload
s.tainted; // true
var f = new Function("", "return '" + s + "';");
var x = f();   // x is now "foo", but...
x.tainted; // currently false - I believe should be true to avoid losing the propagation of the tainted flag, right?

tainted flag is not propagated through RegExp.source()

The tainted flag is not propagated through RegExp.source() method:

var s = new StringTainted("foo");  // "foo" is the attack payload
s.tainted;  // true
var re = new RegExp('/' + s + '/', 'g');
var src = re.source(); // "\/foo\/" - the attack payload inside
src.tainted; // false, should be true

Let me know if you consider this a valid case, I can add it to the tainttests/unit_tests.js

Can't get DominatorPro tab on Firebug

I tried reinstalling, I have Visual C++ redistributable too but all in vain. It is the Pro trial on Windows 7x64 however can't get it to work. Please help.

Ubuntu +13 launching errors

I tried to run
./dominator.sh
and got:
./dominator.sh: line 4: 4158 Segmentation fault
LD_LIBRARY_PATH=$DIRN:$LD_LIBRARY_PATH $DIRN/firefox -NO-REMOTE $@

dominator compile fails on Mac OS / Lion (64-bit)

Compilation of the up-to-date source fails with an asm error (I could attach the full error if it's possible):

/usr/bin/gcc -o x86state.o -c -fvisibility=hidden -DTHEORA_DISABLE_ENCODE -DOC_X86_ASM -DOC_X86_64_ASM -DOSTYPE="Darwin11.4.0" -DOSARCH=Darwin -I/Users/dsavints/dev/hack/dominator/media/libtheora/lib -I/Users/dsavints/dev/hack/dominator/media/libtheora/lib -I. -I../../../dist/include -I../../../dist/include/nsprpub -I/Users/dsavints/dev/hack/dominator/ff-taintOPT/dist/include/nspr -I/Users/dsavints/dev/hack/dominator/ff-taintOPT/dist/include/nss -fPIC -DTAINTED=1 -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-statement -Wcast-align -W -DTAINTED=1 -fno-strict-aliasing -fno-common -pthread -DNO_X11 -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer -DTAINTED=1 -include ../../../mozilla-config.h -DMOZILLA_CLIENT -MD -MF .deps/x86state.pp /Users/dsavints/dev/hack/dominator/media/libtheora/lib/x86/x86state.c
x86cpu.c
/usr/bin/gcc -o x86cpu.o -c -fvisibility=hidden -DTHEORA_DISABLE_ENCODE -DOC_X86_ASM -DOC_X86_64_ASM -DOSTYPE="Darwin11.4.0" -DOSARCH=Darwin -I/Users/dsavints/dev/hack/dominator/media/libtheora/lib -I/Users/dsavints/dev/hack/dominator/media/libtheora/lib -I. -I../../../dist/include -I../../../dist/include/nsprpub -I/Users/dsavints/dev/hack/dominator/ff-taintOPT/dist/include/nspr -I/Users/dsavints/dev/hack/dominator/ff-taintOPT/dist/include/nss -fPIC -DTAINTED=1 -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-statement -Wcast-align -W -DTAINTED=1 -fno-strict-aliasing -fno-common -pthread -DNO_X11 -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer -DTAINTED=1 -include ../../../mozilla-config.h -DMOZILLA_CLIENT -MD -MF .deps/x86cpu.pp /Users/dsavints/dev/hack/dominator/media/libtheora/lib/x86/x86cpu.c
cc1: error in backend: Invalid operand found in inline asm: '#OC_ROW_IDCT_10
#OC_IDCT_BEGIN_10
movq (3)_16-8+${1:H},%mm2
nop
movq 0x30-8+${2:H},%mm6
movq %mm2,%mm4
movq 0x50-8+${2:H},%mm1
pmulhw %mm6,%mm4
movq (1)_16-8+${1:H},%mm3
pmulhw %mm2,%mm1
movq 0x10-8+${2:H},%mm0
paddw %mm2,%mm4
pxor %mm6,%mm6
paddw %mm1,%mm2
movq (2)_16-8+${1:H},%mm5
pmulhw %mm3,%mm0
movq %mm5,%mm1
paddw %mm3,%mm0
pmulhw 0x70-8+${2:H},%mm3
psubw %mm2,%mm6
pmulhw 0x20-8+${2:H},%mm5
psubw %mm4,%mm0
movq (2)_16-8+${1:H},%mm7
paddw %mm4,%mm4
paddw %mm5,%mm7
paddw %mm0,%mm4
pmulhw 0x60-8+${2:H},%mm1
psubw %mm6,%mm3
movq %mm4,(1)_16-8+${0:H}
paddw %mm6,%mm6
movq 0x40-8+${2:H},%mm4
paddw %mm3,%mm6
movq %mm3,%mm5
pmulhw %mm4,%mm3
movq %mm6,(2)_16-8+${0:H}
movq %mm0,%mm2
movq (0)_16-8+${1:H},%mm6
pmulhw %mm4,%mm0
paddw %mm3,%mm5
paddw %mm0,%mm2
psubw %mm1,%mm5
pmulhw %mm4,%mm6
paddw (0)_16-8+${1:H},%mm6
paddw %mm1,%mm1
movq %mm6,%mm4
paddw %mm5,%mm1
psubw %mm2,%mm6
paddw %mm2,%mm2
movq (1)_16-8+${0:H},%mm0
paddw %mm6,%mm2
psubw %mm1,%mm2
nop
#end OC_IDCT_BEGIN_10
movq (2)_16-8+${0:H},%mm3
psubw %mm7,%mm4
paddw %mm1,%mm1
paddw %mm7,%mm7
paddw %mm2,%mm1
paddw %mm4,%mm7
psubw %mm3,%mm4
paddw %mm3,%mm3
psubw %mm5,%mm6
paddw %mm5,%mm5
paddw %mm4,%mm3
paddw %mm6,%mm5
psubw %mm0,%mm7
paddw %mm0,%mm0
movq %mm1,(1)_16-8+${0:H}
paddw %mm7,%mm0
#end OC_ROW_IDCT_10
#OC_TRANSPOSE
movq %mm4,%mm1
punpcklwd %mm5,%mm4
movq %mm0,(0)_16-8+${0:H}
punpckhwd %mm5,%mm1
movq %mm6,%mm0
punpcklwd %mm7,%mm6
movq %mm4,%mm5
punpckldq %mm6,%mm4
punpckhdq %mm6,%mm5
movq %mm1,%mm6
movq %mm4,((4)-4)_16+8-8+${0:H}
punpckhwd %mm7,%mm0
movq %mm5,((5)-4)_16+8-8+${0:H}
punpckhdq %mm0,%mm6
movq (0)_16-8+${0:H},%mm4
punpckldq %mm0,%mm1
movq (1)_16-8+${0:H},%mm5
movq %mm4,%mm0
movq %mm6,((7)-4)_16+8-8+${0:H}
punpcklwd %mm5,%mm0
movq %mm1,((6)-4)_16+8-8+${0:H}
punpckhwd %mm5,%mm4
movq %mm2,%mm5
punpcklwd %mm3,%mm2
movq %mm0,%mm1
punpckldq %mm2,%mm0
punpckhdq %mm2,%mm1
movq %mm4,%mm2
movq %mm0,(0)_16-8+${0:H}
punpckhwd %mm3,%mm5
movq %mm1,(1)_16-8+${0:H}
punpckhdq %mm5,%mm4
punpckldq %mm5,%mm2
movq %mm4,(3)_16-8+${0:H}
movq %mm2,(2)_16-8+${0:H}
#end OC_TRANSPOSE
#OC_COLUMN_IDCT_10
#OC_IDCT_BEGIN_10
movq (3)_16-8+${0:H},%mm2
nop
movq 0x30-8+${2:H},%mm6
movq %mm2,%mm4
movq 0x50-8+${2:H},%mm1
pmulhw %mm6,%mm4
movq (1)_16-8+${0:H},%mm3
pmulhw %mm2,%mm1
movq 0x10-8+${2:H},%mm0
paddw %mm2,%mm4
pxor %mm6,%mm6
paddw %mm1,%mm2
movq (2)_16-8+${0:H},%mm5
pmulhw %mm3,%mm0
movq %mm5,%mm1
paddw %mm3,%mm0
pmulhw 0x70-8+${2:H},%mm3
psubw %mm2,%mm6
pmulhw 0x20-8+${2:H},%mm5
psubw %mm4,%mm0
movq (2)_16-8+${0:H},%mm7
paddw %mm4,%mm4
paddw %mm5,%mm7
paddw %mm0,%mm4
pmulhw 0x60-8+${2:H},%mm1
psubw %mm6,%mm3
movq %mm4,(1)_16-8+${0:H}
paddw %mm6,%mm6
movq 0x40-8+${2:H},%mm4
paddw %mm3,%mm6
movq %mm3,%mm5
pmulhw %mm4,%mm3
movq %mm6,(2)_16-8+${0:H}
movq %mm0,%mm2
movq (0)_16-8+${0:H},%mm6
pmulhw %mm4,%mm0
paddw %mm3,%mm5
paddw %mm0,%mm2
psubw %mm1,%mm5
pmulhw %mm4,%mm6
paddw (0)_16-8+${0:H},%mm6
paddw %mm1,%mm1
movq %mm6,%mm4
paddw %mm5,%mm1
psubw %mm2,%mm6
paddw %mm2,%mm2
movq (1)*16-8+${0:H},%mm0
paddw %mm6,%mm2
psubw %mm1,%mm2
nop

tainted flag not propagated in a function defined with eval() and its toSource() value

Consider the following example:

var s = String.newTainted("foo"); // "foo" is the potential attack payload
s.tainted; // true, of course
eval("function myfun() {return '" + s + "';}"); // define function f() that returns the tainted string
var x = myfun();  // invoke newly define function
x.tainted; // currently false, should be true

Additionally, consider the return value of toSource() call that also contains the attack payload:

var src = myfun.toSource(); "function myfun() {return "foo";}"
src.tainted; // currently false, should be true

installation of DOMinator on Mac Lion

Hello wisec

i have compiled the DOMinator successfully on the Mac Lion machine recently with some adjustment in this branch
https://github.com/neraliu/DOMinator/tree/maclionbuild

uname -a
Darwin clockenemy-lm 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr 9 19:33:05 PDT 2012; root:xnu-1699.26.8~1/RELEASE_I386 i386 i386

however, when i follow this installation instruction, i found out that the DOMinator Extension is missing in the final build, am i missing something?
http://code.google.com/p/dominator/wiki/InstallationInstructions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.