-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
find 3 reproducible attacks on WASM programs #7
Comments
Added two reproducible vulnerabilities in vulnerable_programs folder. Based on https://www.forcepoint.com/sites/default/files/resources/files/report-web-assembly-memory-safety-en.pdf descriptions Exploit description are inside c code as comments. To create the wasm file run |
Cool! What's the recommended way to install emsdk on Linux? |
Well, theoretically you just need to follow steps. There is a description for Linux installation. |
Thanks it works, then I meet the error below, any idea
|
Yep...@monperrus, sorry about that, not the best solution at all, the thing is that you need to change manually the code of the exploit file. Both examples are commented inside the exploit.js file. To trigger the I will change this mechanism :( Exploit file content //============================== integer_overflow.c ===========================
/* var result = binary.ccall('buffer_overread', 'None', ['number','number'],
[256, 270]); */
//=============================================================================
//=============================== redirection.c ===================================
/* var result = binary.ccall('func_ptr_overwrite', 'None', ['string'],
["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6"]); */
//================================================================================== |
Solved !!. There is a python script in the root folder. You must provide the exploit id as an argument, |
That's great! |
It works, thanks! How to see that the exploit is successful in the output?
|
There is a generated file, To see the content of wasm file (the textual representation), you can use https://github.com/wasmerio/vscode-wasm in VSCode |
Theoretically yes, but I want to shrink the generated code a little bit more, because, now, emcc compiler put a lot of complement code in it. Its not really pure. For example, the generated code for redirection example is transformed into a 177k lines wasm binary with several wrapped C-libraries, like |
Added two more reproducible vulnerabilities:
|
This can be closed, we got 4 reproducible "errors" and a new issue is open for crypto libraries attack examples. |
What's the URL in the repo containing the list of reproduced attacks? |
This is the original security report. But, I want to start the gh-pages for the repo, and it's not a bad idea to have a complete page for the vulnerabilities and a short explanation for each one. List of available errors:
|
to have a complete page for the vulnerabilities and a short explanation for each one.
Excellent, looking forward to it
|
Done ! Here is the gh-page of the repo |
Nice!
|
Reformulated in #42 |
to support an experimental similar to Alexander's
The text was updated successfully, but these errors were encountered: