adamdoupe
It's a hands-on class that takes you through interacting with programs, to reverse engineering and memory corruption, all the way to race conditions and kernel exploitation.
Created by @Zardus and run also as a class at ASU.
Last year I set up a WorldWideWeb.app (version 0.15) running in the Previous emulator on Ubuntu for a CTF challenge for DEF CON 2018 Quals (they had to exploit a buffer overflow in HTTP.c). There's a lot of other cruft around to set up and automate the challenge and getting input to WWW, but there's Vagrant and ansible scripts to set up and run everything.
There's a lot of work to set up networking in NextStep and getting all the pieces right (I think I even set up an SSH server running on NextStep).
The source is all here: https://github.com/o-o-overflow/chall-www
I'd be happy to help, I love this idea of software archeology/preservation.
Usually this means the HTML context. Different sanitization is needed depending on _where_ in the HTML document the input is used.
For instance, if the input is used in between HTML tags (let's say $foo is user input in this PHP example):
... <body><?php echo $foo ?></body>
Here, the input that you need to transition to JavaScript execution is a < character (among other things): <script>alert(1)</script>.Therefore, to correctly sanitize this, you would call the PHP `htmlentities` function:
... <body><?php echo htmlentities($foo) ?></body>
Now, this XSS vulnerability is fixed.What if foo is used in a different context?
... <body><a href='<?php echo htmlentities($foo) ?>'>...
Here, what we need to transition the HTML parser to executing JavaScript is a ' character, and this can be exploited by the following input (in between the double quotes): "' onclick='alert(1)"The key problem is that `htmlentities` is not valid sanitization in the context of an HTML attribute value. In this example, you need to use `urlencode`
... <body><a href='<?php echo urlencode($foo) ?>'>...
The general idea also applies to CSS, JSON, and JavaScript. SQL is a different vulnerability class (SQL injection).I highly recommend the following research paper from 2011 that discusses the context-sensitivity of JavaScript in depth: http://www.comp.nus.edu.sg/~prateeks/papers/scriptgard-ccs11...
In my mind, the context-sensitivity of XSS is one of the key reasons why it is so prevalent.
It would be interesting data, although determining WebView for ads statically might be tricky.
We were looking for instances of insecure WebView usage, so from a security perspective small piece vs. entire app doesn't matter too much (and is difficult to measure, especially when looking at 1.1M apps).
However, some of the other numbers from our analysis can be useful to draw a picture of WebView usage.
We statically looked for uses of WebView, and 85% of the 1.1M apps used a WebView.
Of those 998,286 apps:
- 97% enable JavaScript (which is off by default)
- 36% use the JavaScript Bridge Interface (which is a fairly good indicator of heavy WebView usage)
- 94% implement a shouldOverrideUrlLoading method of the WebView (another good indicator that the developer is using the WebView for something non-trivial)
- 27% implement an onReceivedSslError method of the WebView (indication that the developer is using the WebView for something non-trivial). (Sadly, 29% of the apps that implement onReceivedSslError intentionally IGNORE all SSL errors.)
So I guess the takeaway is that 85% is an upper bound, the real number of WebView-only apps is absolutely lower, however it's clear that WebViews are significantly used in mobile apps.
However, a professor can choose to spend the grant money on student support rather than summer salary (thus forgoing their own salary), which is what I assume the author is referring to.
It's slightly harder to exploit, as the attacker can't just send you a link to facebook.com, but they can send you a link to example.com which has the form and uses JavaScript to submit the form.
So the analysis would fail to determine the method and class of a obfuscated string.
As far as I know Apple was not interested.
Here's the paper if you want to take a look: http://seclab.cs.ucsb.edu/media/uploads/papers/egele-ndss11....
Pretty cool stuff, they "took over" the Torpig botnet. Lots of interesting stuff, the paper on the link gives a good overview of some of the things they discovered.
Love to hear your thoughts!
This is exactly what I've done. Rock climbing at a local gym 3 times a week. I also run 3.5 miles 2 times a week but only for the added fitness.
I really enjoy rock climbing; it's an excellent combination of physical fitness and problem solving.
Dropbox rocks!
Beyond that, interesting site. Good luck!
http://tinypic.com/view.php?pic=20k3o0z&s=4
But beyond that, I agree with the comments so far, excellent design and I wish you the best of luck.
Microsoft To Counter Open Source With 'Basic' Software Line
The Myth of Moderate Exercise
Actually this was really cool and would be fun to play with.
Motherboard Transforms Chip Heat into Fan Power
1. The article was well written and presented a point of view that is not commonly presented.
2. When I was younger (teenage years I think), I had this crazy idea to start smoking in order to see if I had the resolve to quit. Never did though, cause I understood the adverse affects if I couldn't quit.
Check it out at http://wootwatchers.com and let me know what you think.
For those interested, Steve Yegge has an old post on emacs productivity tips: http://steve.yegge.googlepages.com/effective-emacs
"an unauthorized, ongoing video-art performance collaboration with the New York City Metropolitan Transit Authority, Clear Channel Communications, and its selected artists."