7 private links
This is an incomplete catalog of potential exploitation vectors for CVE-2014-6721, or “Shell Shock”.
Stephane Chazelas discovered a vulnerability in bash, related to how
environment variables are processed: trailing code in function
definitions was executed, independent of the variable name.
In many common configurations, this vulnerability is exploitable over
the network.
dig +short myip.opendns.com @resolver1.opendns.com
In this Article, we will discuss the following topics:
Getting the Python C/C++ API for working.
Initialize and Destroy a Python environment.
Running a Simple inline Python code from C/C++.
Running a Simple Python program from file from C/C++ program.
Call a Python method from C/C++.
Call a C/C++ function from Python code.
Why are we doing this???? (Points of Interest)Generate a random fake name, address, username, password, and (usable) email address for use with online message boards, social media, or whatever else.
Pipelines are an extremely useful (and surprisingly underused) architectural pattern in modern software engineering. The concept of using pipes and filters to control the flow of data through software has been around since the 1970s, when the first Unix shells were created. If you’ve ever used the pipe (“|”) character in a terminal emulator, you’ve made use of the pipe-and-filter idiom.
How do a video card and a display device work together to create an image? These days, all displays are raster displays, and there is only one way.
Pipable functions allow us to write extension methods in C++. This overloads the pipe | operator to allow chaining several functions together, like the example below:
In cryptographic applications, it is often useful to wipe data from memory once it is no longer needed. In a perfect world, this is unnecessary since nobody would gain unauthorized access to that data; but if someone is able to exploit an unrelated problem — a vulnerability which yields remote code execution, or a feature which allows uninitialized memory to be read remotely, for example — then ensuring that sensitive data (e.g., cryptographic keys) is no longer accessible will reduce the impact of the attack. In short, zeroing buffers which contained sensitive information is an exploit mitigation technique.
Starting a thread in C++11 is as simple as declaring and instantiating a new object. We will analyze a simple multithreaded application to demonstrate how we can use the threads from the C++ standard library.