Stack buffer overflow.

Slides:



Advertisements
Similar presentations
For(int i = 1; i
Advertisements

Buffer Overflow Prabhaker Mateti Wright State University.
Exploring Security Vulnerabilities by Exploiting Buffer Overflow using the MIPS ISA Andrew T. Phillips Jack S. E. Tan Department of Computer Science University.
Secure Programming Lai Zit Seng November A Simple Program int main() { char name[100]; printf("What is your name?\n"); gets(name); printf("Hello,
Gabe Kanzelmeyer CS 450 4/14/10.  What is buffer overflow?  How memory is processed and the stack  The threat  Stack overrun attack  Dangers  Prevention.
Stack buffer overflow.
Stack buffer overflow
C Review Pointers, Arrays, and I/O CS61c Summer 2006 Michael Le.
Computer Security Buffer Overflow lab Eu-Jin Goh.
Advanced Programming in the UNIX Environment Hop Lee.
Command line arguments. – main can take two arguments conventionally called argc and argv. – Information regarding command line arguments are passed to.
An anti-hacking guide.  Hackers are kindred of expert programmers who believe in freedom and spirit of mutual help. They are not malicious. They may.
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow : Example of Using GDB to Check Stack Memory Cliff Zou Spring 2011.
CSE 332: C++ functions Review: What = and & Mean In C++ the = symbol means either initialization or assignment –If it’s used with a type declaration, it.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering Stack allocation and buffer overflow CSCE 531 Presentation by Miao XU
Exploiting Buffer Overflows on AIX/PowerPC HP-UX/PA-RISC Solaris/SPARC.
Packet Vaccine: Black-box Exploit Detection and Signature Generation
Current Assignments Homework 3 is due tonight. Iteration and basic functions. Exam 1 on Monday.
Stack-based buffer overflows Yves Younan DistriNet, Department of Computer Science Katholieke Universiteit Leuven Belgium
Weeks 5-6 Pointers and Arrays Basic pointer type Pointers and Arrays Address arithmetic Pointer Arrays User-defined data types Structures Unions Pointers.
What is exactly Exploit writing?  Writing a piece of code which is capable of exploit the vulnerability in the target software.
JMU GenCyber Boot Camp Summer, Introduction to Penetration Testing Elevating privileges – Getting code run in a privileged context Exploiting misconfigurations.
CS 155 Section 1 PP1 Eu-Jin Goh. Setting up Environment Demo.
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow : Example of Using GDB to Check Stack Memory Cliff Zou Spring 2014.
“Success consists of going from failure to failure without loss of enthusiasm.” Winston Churchill.
Heap Overflows. What is a Heap? malloc(), free(), realloc() Stores global variables Automatic memory allocation/deallocation Allocated at runtime Implemented.
SE3910 Week 8, Class 3 Week 4 Lab: Please return your graded Lab 4 to me so I can enter it in my gradebook Week 9 Lab: Individual demos of working sub-modules.
Buffer Overflow By Collin Donaldson.
Buffer Overflow Buffer overflows are possible because C doesn’t check array boundaries Buffer overflows are dangerous because buffers for user input are.
Sabrina Wilkes-Morris CSCE 548 Student Presentation
Buffer Overflow Attacks
LINKED LISTS.
CSE 374 Programming Concepts & Tools
Webserver w/user threads
The Hardware/Software Interface CSE351 Winter 2013
Overview 4 major memory segments Key differences from Java stack
CSE 374 Programming Concepts & Tools
Command line arguments
Understand argc and argv
CSE 303 Concepts and Tools for Software Development
C Basics.
CSE565: Computer Security Lecture 27 Program Security
The UK Tier 1 Entrepreneur Visa and the UK Representative of Overseas Business Visa - SmartMove2UK
typedef typedef int Index; typedef char Letter; Index i; i = 17;
More Examples of argc and argv
Overview 4 major memory segments Key differences from Java stack
C Stuff CS 2308.
SEED Workshop Buffer Overflow Lab
Advanced Buffer Overflow: Pointer subterfuge
הרצאה 08 פרמטרים ל- main קרן כליף.
Defending against Stack Smashing attacks
INC 161 , CPE 100 Computer Programming
Software Security Lesson Introduction
Dynamic Memory A whole heap of fun….
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow : Example of Using GDB to Check Stack Memory Cliff Zou Spring 2015.
CNT4704: Analysis of Computer Communication Network Buffer Overflow : Example of Using GDB to Check Stack Memory Cliff Zou Fall 2011.
Strings and Pointer Arrays
Buffer Overflows.
Introduction to Programming
GSM Global System for Mobile Communications, 1992
Introduction to Intel x86-64 Assembly, Architecture, Applications, & Alliteration Xeno Kovah – 2014 xkovah at gmail.
Instructors: Majd Sakr and Khaled Harras
The Stack.
Strings #include <stdio.h>
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow : Example of Using GDB to Check Stack Memory Cliff Zou Spring 2016.
Structures in c By Anand George.
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow : Example of Using GDB to Check Stack Memory Cliff Zou Spring 2013.
FIGURE Illustration of Stack Buffer Overflow
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow : Example of Using GDB to Check Stack Memory Cliff Zou Spring 2010.
Presentation transcript:

Stack buffer overflow

Stack frame layout

#include <string.h> void foo (char *bar) { char c[12]; strcpy (c, bar); //no bound } int main (int argc, char **argv) foo(argv[1]);

#include <string.h> void foo (char *bar) { char c[12]; strcpy (c, bar); //no bound } int main (int argc, char **argv) foo(argv[1]);

#include <string.h> void foo (char *bar) { char c[12]; strcpy (c, bar); //no bound } int main (int argc, char **argv) foo(argv[1]);

Lab 3 Due next week Thursday, April 11th. Stack buffer overflow problem, very similar to what we have described today. Demo.