CNIT 127 Ch 4: Introduction to format string bugs

Sam Bowne
Sam BowneInstructor at CCSF um CCSF
CNIT 127: Exploit Development



Ch 4: Introduction to Format String
Bugs
Understanding Format Strings
Data Interpretation
• RAM contains bytes
• The same byte can be interpreted as
– An integer
– A character
– Part of an instruction
– Part of an address
– Part of a string
– Many, many more...
Format String Controls Output
Format String Demo
Most Important for Us
• %x Hexadecimal
• %8x Hexadecimal padded to 8 chars
• %10x Hexadecimal padded to 10 chars
• %100x Hexadecimal padded to 100 chars
Format String Vulnerabilities
Buffer Overflow
• This code is obviously stupid
char name[10];
strcpy(name, "Rumplestiltskin");
• C just does it, without complaining
Format String Without Arguments
• printf("%x.%x.%x.%x");
– There are no arguments to print!
– Should give an error message
– Instead, C just pulls the next 4 values from
the stack and prints them out
– Can read memory on the stack
– Information disclosure vulnerability
Format String Controlled by Attacker
%n Format String
• %n writes the number of characters
printed so far
• To the memory location pointed to by the
parameter
• Can write to arbitrary RAM locations
• Easy DoS
• Possible remote code execution
printf Family
• Format string bugs affect a whole family
of functions
Countermeasures
Defenses Against Format String
Vulnerabilities
• Stack defenses don't stop format string
exploits
– Canary value
• ASLR and NX
– Can make exploitation more difficult
• Static code analysis tools
– Generally find format string bugs
• gcc
– Warnings, but no format string defenses
Exploitation Technique
Steps
• Control a parameter
• Find a target RAM location
– That will control execution
• Write 4 bytes to target RAM location
• Insert shellcode
• Find the shellcode in RAM
• Write shellcode to target RAM location
Control a Parameter
• Insert four letters before the %x fields
• Controls the fourth parameter
– Note: sometimes it's much further down the
list, such as parameter 300
Target RAM Options
• Saved return address
– Like the Buffer Overflows we did previously
• Global Offset Table
– Used to find shared library functions
• Destructors table (DTORS)
– Called when a program exits
• C Library Hooks
Target RAM Options
• "atexit" structure (link Ch 4n)
• Any function pointer
• In Windows, the default unhandled
exception handler is easy to find and
exploit
Disassemble in gdb
Targeting the GOT
Writing to Target RAM
• We now control the destination address,
but not the value written there
Python Code to Write 4 Bytes
Changing One Byte
• Add 16 to %16x
• Previously
• Now
– Each byte increased by 13
Python Code to Write a Chosen Word
Inserting Dummy Shellcode
• xcc is BRK
View the Stack in gdb
• Choose an address in the NOP sled
Dummy Exploit Runs to xcc
Testing for Bad Characters
• x09 is bad
Testing for Bad Characters
• x10 is bad
Testing for Bad Characters
• Started at 11 = 0x0b
• x20 is bad
Testing for Bad Characters
• Started at 33 = 0x21
• No more bad characters
Generate Shellcode
• msfvenom -p linux/x86/shell_bind_tcp
• -b 'x00x09x0ax20'
• PrependFork=true
• -f python
Keep Total Length of Injection Constant
• May not be necessary, but it's a good habit
Final Check
• Address in NOP
sled
• Shellcode
intact
Shell (in gdb)
• Wait for the port to close
• Test it outside gdb
1 von 36

Recomendados

CNIT 127: Ch 4: Introduction to format string bugs von
CNIT 127: Ch 4: Introduction to format string bugsCNIT 127: Ch 4: Introduction to format string bugs
CNIT 127: Ch 4: Introduction to format string bugsSam Bowne
465 views36 Folien
CNIT 127: 4: Format string bugs von
CNIT 127: 4: Format string bugsCNIT 127: 4: Format string bugs
CNIT 127: 4: Format string bugsSam Bowne
491 views42 Folien
CNIT 126 5: IDA Pro von
CNIT 126 5: IDA ProCNIT 126 5: IDA Pro
CNIT 126 5: IDA ProSam Bowne
208 views50 Folien
CNIT 127 Ch 4: Introduction to format string bugs von
CNIT 127 Ch 4: Introduction to format string bugsCNIT 127 Ch 4: Introduction to format string bugs
CNIT 127 Ch 4: Introduction to format string bugsSam Bowne
228 views36 Folien
Format string vunerability von
Format string vunerabilityFormat string vunerability
Format string vunerabilitynuc13us
635 views15 Folien
CNIT 127 14: Protection Mechanisms von
CNIT 127 14: Protection MechanismsCNIT 127 14: Protection Mechanisms
CNIT 127 14: Protection MechanismsSam Bowne
559 views84 Folien

Más contenido relacionado

Was ist angesagt?

CNIT 127 14: Protection Mechanisms von
CNIT 127 14: Protection MechanismsCNIT 127 14: Protection Mechanisms
CNIT 127 14: Protection MechanismsSam Bowne
931 views72 Folien
Unix Tutorial von
Unix TutorialUnix Tutorial
Unix TutorialSanjay Saluth
868 views31 Folien
Control hijacking von
Control hijackingControl hijacking
Control hijackingG Prachi
14K views23 Folien
CNIT 126 Ch 7: Analyzing Malicious Windows Programs von
CNIT 126 Ch 7: Analyzing Malicious Windows ProgramsCNIT 126 Ch 7: Analyzing Malicious Windows Programs
CNIT 126 Ch 7: Analyzing Malicious Windows ProgramsSam Bowne
263 views77 Folien
More on Lex von
More on LexMore on Lex
More on LexTech_MX
8K views42 Folien
BUILDING BASIC STRECH SQL COMPILER von
BUILDING BASIC STRECH SQL COMPILERBUILDING BASIC STRECH SQL COMPILER
BUILDING BASIC STRECH SQL COMPILERAjeet Dubey
815 views21 Folien

Was ist angesagt?(20)

CNIT 127 14: Protection Mechanisms von Sam Bowne
CNIT 127 14: Protection MechanismsCNIT 127 14: Protection Mechanisms
CNIT 127 14: Protection Mechanisms
Sam Bowne931 views
Control hijacking von G Prachi
Control hijackingControl hijacking
Control hijacking
G Prachi14K views
CNIT 126 Ch 7: Analyzing Malicious Windows Programs von Sam Bowne
CNIT 126 Ch 7: Analyzing Malicious Windows ProgramsCNIT 126 Ch 7: Analyzing Malicious Windows Programs
CNIT 126 Ch 7: Analyzing Malicious Windows Programs
Sam Bowne263 views
More on Lex von Tech_MX
More on LexMore on Lex
More on Lex
Tech_MX8K views
BUILDING BASIC STRECH SQL COMPILER von Ajeet Dubey
BUILDING BASIC STRECH SQL COMPILERBUILDING BASIC STRECH SQL COMPILER
BUILDING BASIC STRECH SQL COMPILER
Ajeet Dubey815 views
CNIT 127 Lecture 7: Intro to 64-Bit Assembler von Sam Bowne
CNIT 127 Lecture 7: Intro to 64-Bit AssemblerCNIT 127 Lecture 7: Intro to 64-Bit Assembler
CNIT 127 Lecture 7: Intro to 64-Bit Assembler
Sam Bowne118 views
Yacc (yet another compiler compiler) von omercomail
Yacc (yet another compiler compiler)Yacc (yet another compiler compiler)
Yacc (yet another compiler compiler)
omercomail9.9K views
Python by ravi rajput hcon groups von Ravi Rajput
Python by ravi rajput hcon groupsPython by ravi rajput hcon groups
Python by ravi rajput hcon groups
Ravi Rajput819 views
Yacc lex von 915086731
Yacc lexYacc lex
Yacc lex
9150867313.4K views
Compiler Construction | Lecture 15 | Memory Management von Eelco Visser
Compiler Construction | Lecture 15 | Memory ManagementCompiler Construction | Lecture 15 | Memory Management
Compiler Construction | Lecture 15 | Memory Management
Eelco Visser1.4K views
Hack Programming Language von Radu Murzea
Hack Programming LanguageHack Programming Language
Hack Programming Language
Radu Murzea2.3K views
Introduction of bison von vip_du
Introduction of bisonIntroduction of bison
Introduction of bison
vip_du4.4K views
Buffer Overflows von Sumit Kumar
Buffer OverflowsBuffer Overflows
Buffer Overflows
Sumit Kumar1.8K views
CNIT 126: Ch 6: Recognizing C Constructs in Assembly von Sam Bowne
CNIT 126: Ch 6: Recognizing C Constructs in AssemblyCNIT 126: Ch 6: Recognizing C Constructs in Assembly
CNIT 126: Ch 6: Recognizing C Constructs in Assembly
Sam Bowne289 views
CNIT 127 Ch 8: Windows overflows (Part 1) von Sam Bowne
CNIT 127 Ch 8: Windows overflows (Part 1)CNIT 127 Ch 8: Windows overflows (Part 1)
CNIT 127 Ch 8: Windows overflows (Part 1)
Sam Bowne197 views

Destacado

Buffer overflow(bao cao) von
Buffer overflow(bao cao)Buffer overflow(bao cao)
Buffer overflow(bao cao)phanleson
5.5K views35 Folien
Buffer overflow von
Buffer overflowBuffer overflow
Buffer overflowBach Khoa Da Nang
1.2K views18 Folien
YearUp: Hacking for Jobs von
YearUp: Hacking for JobsYearUp: Hacking for Jobs
YearUp: Hacking for JobsSam Bowne
495 views82 Folien
Honeypots, Cybercompetitions, and Bug Bounties von
Honeypots, Cybercompetitions, and Bug BountiesHoneypots, Cybercompetitions, and Bug Bounties
Honeypots, Cybercompetitions, and Bug BountiesSam Bowne
453 views70 Folien
Software Exploits von
Software ExploitsSoftware Exploits
Software ExploitsKevinCSmallwood
975 views65 Folien
CISSP Prep: Ch 5. Communication and Network Security (Part 2) von
CISSP Prep: Ch 5. Communication and Network Security (Part 2)CISSP Prep: Ch 5. Communication and Network Security (Part 2)
CISSP Prep: Ch 5. Communication and Network Security (Part 2)Sam Bowne
1.6K views133 Folien

Destacado(20)

Buffer overflow(bao cao) von phanleson
Buffer overflow(bao cao)Buffer overflow(bao cao)
Buffer overflow(bao cao)
phanleson5.5K views
YearUp: Hacking for Jobs von Sam Bowne
YearUp: Hacking for JobsYearUp: Hacking for Jobs
YearUp: Hacking for Jobs
Sam Bowne495 views
Honeypots, Cybercompetitions, and Bug Bounties von Sam Bowne
Honeypots, Cybercompetitions, and Bug BountiesHoneypots, Cybercompetitions, and Bug Bounties
Honeypots, Cybercompetitions, and Bug Bounties
Sam Bowne453 views
CISSP Prep: Ch 5. Communication and Network Security (Part 2) von Sam Bowne
CISSP Prep: Ch 5. Communication and Network Security (Part 2)CISSP Prep: Ch 5. Communication and Network Security (Part 2)
CISSP Prep: Ch 5. Communication and Network Security (Part 2)
Sam Bowne1.6K views
CNIT 140: Perimeter Security von Sam Bowne
CNIT 140: Perimeter SecurityCNIT 140: Perimeter Security
CNIT 140: Perimeter Security
Sam Bowne1.6K views
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis von Sam Bowne
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic AnalysisCNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
CNIT 126 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis
Sam Bowne2.6K views
CNIT 123: Ch 1 Ethical Hacking Overview von Sam Bowne
CNIT 123: Ch 1 Ethical Hacking OverviewCNIT 123: Ch 1 Ethical Hacking Overview
CNIT 123: Ch 1 Ethical Hacking Overview
Sam Bowne2.7K views
CNIT 129S: Ch 6: Attacking Authentication von Sam Bowne
CNIT 129S: Ch 6: Attacking AuthenticationCNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking Authentication
Sam Bowne1.2K views
CNIT 121: 2 IR Management Handbook von Sam Bowne
CNIT 121: 2 IR Management HandbookCNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management Handbook
Sam Bowne1.9K views
CNIT 129S: 8: Attacking Access Controls von Sam Bowne
CNIT 129S: 8: Attacking Access ControlsCNIT 129S: 8: Attacking Access Controls
CNIT 129S: 8: Attacking Access Controls
Sam Bowne1.2K views
CNIT 40: 6: DNSSEC and beyond von Sam Bowne
CNIT 40: 6: DNSSEC and beyondCNIT 40: 6: DNSSEC and beyond
CNIT 40: 6: DNSSEC and beyond
Sam Bowne721 views
CNIT 129S: Ch 4: Mapping the Application von Sam Bowne
CNIT 129S: Ch 4: Mapping the ApplicationCNIT 129S: Ch 4: Mapping the Application
CNIT 129S: Ch 4: Mapping the Application
Sam Bowne1.7K views
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2) von Sam Bowne
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)
Sam Bowne1.2K views
CNIT 129S: Ch 5: Bypassing Client-Side Controls von Sam Bowne
CNIT 129S: Ch 5: Bypassing Client-Side ControlsCNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side Controls
Sam Bowne2.2K views
CNIT 121: 12 Investigating Windows Systems (Part 3) von Sam Bowne
CNIT 121: 12 Investigating Windows Systems (Part 3)CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)
Sam Bowne1.1K views
CNIT 121: 11 Analysis Methodology von Sam Bowne
CNIT 121: 11 Analysis MethodologyCNIT 121: 11 Analysis Methodology
CNIT 121: 11 Analysis Methodology
Sam Bowne966 views
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3) von Sam Bowne
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
Sam Bowne1.1K views
CNIT 129S: Securing Web Applications Ch 1-2 von Sam Bowne
CNIT 129S: Securing Web Applications Ch 1-2CNIT 129S: Securing Web Applications Ch 1-2
CNIT 129S: Securing Web Applications Ch 1-2
Sam Bowne2K views

Similar a CNIT 127 Ch 4: Introduction to format string bugs

CNIT 127 Ch 4: Introduction to format string bugs (rev. 2-9-17) von
CNIT 127 Ch 4: Introduction to format string bugs (rev. 2-9-17)CNIT 127 Ch 4: Introduction to format string bugs (rev. 2-9-17)
CNIT 127 Ch 4: Introduction to format string bugs (rev. 2-9-17)Sam Bowne
638 views47 Folien
CNIT 127 Ch 4: Introduction to format string bugs von
CNIT 127 Ch 4: Introduction to format string bugsCNIT 127 Ch 4: Introduction to format string bugs
CNIT 127 Ch 4: Introduction to format string bugsSam Bowne
714 views43 Folien
Ch 18: Source Code Auditing von
Ch 18: Source Code AuditingCh 18: Source Code Auditing
Ch 18: Source Code AuditingSam Bowne
145 views56 Folien
test von
testtest
testaaro11
459 views15 Folien
C101 – Intro to Programming with C von
C101 – Intro to Programming with CC101 – Intro to Programming with C
C101 – Intro to Programming with Cgpsoft_sk
1.6K views50 Folien
CNIT 127: Ch 18: Source Code Auditing von
CNIT 127: Ch 18: Source Code AuditingCNIT 127: Ch 18: Source Code Auditing
CNIT 127: Ch 18: Source Code AuditingSam Bowne
1.1K views50 Folien

Similar a CNIT 127 Ch 4: Introduction to format string bugs(20)

CNIT 127 Ch 4: Introduction to format string bugs (rev. 2-9-17) von Sam Bowne
CNIT 127 Ch 4: Introduction to format string bugs (rev. 2-9-17)CNIT 127 Ch 4: Introduction to format string bugs (rev. 2-9-17)
CNIT 127 Ch 4: Introduction to format string bugs (rev. 2-9-17)
Sam Bowne638 views
CNIT 127 Ch 4: Introduction to format string bugs von Sam Bowne
CNIT 127 Ch 4: Introduction to format string bugsCNIT 127 Ch 4: Introduction to format string bugs
CNIT 127 Ch 4: Introduction to format string bugs
Sam Bowne714 views
Ch 18: Source Code Auditing von Sam Bowne
Ch 18: Source Code AuditingCh 18: Source Code Auditing
Ch 18: Source Code Auditing
Sam Bowne145 views
test von aaro11
testtest
test
aaro11459 views
C101 – Intro to Programming with C von gpsoft_sk
C101 – Intro to Programming with CC101 – Intro to Programming with C
C101 – Intro to Programming with C
gpsoft_sk1.6K views
CNIT 127: Ch 18: Source Code Auditing von Sam Bowne
CNIT 127: Ch 18: Source Code AuditingCNIT 127: Ch 18: Source Code Auditing
CNIT 127: Ch 18: Source Code Auditing
Sam Bowne1.1K views
A brief introduction to C Language von Mohamed Elsayed
A brief introduction to C LanguageA brief introduction to C Language
A brief introduction to C Language
Mohamed Elsayed517 views
270_1_CIntro_Up_To_Functions.ppt von JoshCasas1
270_1_CIntro_Up_To_Functions.ppt270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt
JoshCasas11 view
270 1 c_intro_up_to_functions von ray143eddie
270 1 c_intro_up_to_functions270 1 c_intro_up_to_functions
270 1 c_intro_up_to_functions
ray143eddie52 views
270_1_CIntro_Up_To_Functions.ppt von Alefya1
270_1_CIntro_Up_To_Functions.ppt270_1_CIntro_Up_To_Functions.ppt
270_1_CIntro_Up_To_Functions.ppt
Alefya14 views
Bottom to Top Stack Optimization with LAMP von katzgrau
Bottom to Top Stack Optimization with LAMPBottom to Top Stack Optimization with LAMP
Bottom to Top Stack Optimization with LAMP
katzgrau994 views
COMPUTER INTRODUCTION von Amit Sharma
COMPUTER INTRODUCTIONCOMPUTER INTRODUCTION
COMPUTER INTRODUCTION
Amit Sharma232 views

Más de Sam Bowne

Cyberwar von
CyberwarCyberwar
CyberwarSam Bowne
14 views22 Folien
3: DNS vulnerabilities von
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities Sam Bowne
40 views40 Folien
8. Software Development Security von
8. Software Development Security8. Software Development Security
8. Software Development SecuritySam Bowne
22 views85 Folien
4 Mapping the Application von
4 Mapping the Application4 Mapping the Application
4 Mapping the ApplicationSam Bowne
62 views88 Folien
3. Attacking iOS Applications (Part 2) von
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)Sam Bowne
33 views45 Folien
12 Elliptic Curves von
12 Elliptic Curves12 Elliptic Curves
12 Elliptic CurvesSam Bowne
53 views50 Folien

Más de Sam Bowne(20)

3: DNS vulnerabilities von Sam Bowne
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities
Sam Bowne40 views
8. Software Development Security von Sam Bowne
8. Software Development Security8. Software Development Security
8. Software Development Security
Sam Bowne22 views
4 Mapping the Application von Sam Bowne
4 Mapping the Application4 Mapping the Application
4 Mapping the Application
Sam Bowne62 views
3. Attacking iOS Applications (Part 2) von Sam Bowne
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)
Sam Bowne33 views
12 Elliptic Curves von Sam Bowne
12 Elliptic Curves12 Elliptic Curves
12 Elliptic Curves
Sam Bowne53 views
11. Diffie-Hellman von Sam Bowne
11. Diffie-Hellman11. Diffie-Hellman
11. Diffie-Hellman
Sam Bowne58 views
2a Analyzing iOS Apps Part 1 von Sam Bowne
2a Analyzing iOS Apps Part 12a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 1
Sam Bowne42 views
9 Writing Secure Android Applications von Sam Bowne
9 Writing Secure Android Applications9 Writing Secure Android Applications
9 Writing Secure Android Applications
Sam Bowne31 views
12 Investigating Windows Systems (Part 2 of 3) von Sam Bowne
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)
Sam Bowne30 views
12 Investigating Windows Systems (Part 1 of 3 von Sam Bowne
12 Investigating Windows Systems (Part 1 of 312 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 3
Sam Bowne59 views
9. Hard Problems von Sam Bowne
9. Hard Problems9. Hard Problems
9. Hard Problems
Sam Bowne43 views
8 Android Implementation Issues (Part 1) von Sam Bowne
8 Android Implementation Issues (Part 1)8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)
Sam Bowne23 views
11 Analysis Methodology von Sam Bowne
11 Analysis Methodology11 Analysis Methodology
11 Analysis Methodology
Sam Bowne12 views
8. Authenticated Encryption von Sam Bowne
8. Authenticated Encryption8. Authenticated Encryption
8. Authenticated Encryption
Sam Bowne70 views
7. Attacking Android Applications (Part 2) von Sam Bowne
7. Attacking Android Applications (Part 2)7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)
Sam Bowne35 views
7. Attacking Android Applications (Part 1) von Sam Bowne
7. Attacking Android Applications (Part 1)7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)
Sam Bowne26 views
5. Stream Ciphers von Sam Bowne
5. Stream Ciphers5. Stream Ciphers
5. Stream Ciphers
Sam Bowne108 views
6 Scope & 7 Live Data Collection von Sam Bowne
6 Scope & 7 Live Data Collection6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection
Sam Bowne121 views

Último

GCSE Geography von
GCSE GeographyGCSE Geography
GCSE GeographyWestHatch
45 views32 Folien
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptx von
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptxGopal Chakraborty Memorial Quiz 2.0 Prelims.pptx
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptxDebapriya Chakraborty
695 views81 Folien
When Sex Gets Complicated: Porn, Affairs, & Cybersex von
When Sex Gets Complicated: Porn, Affairs, & CybersexWhen Sex Gets Complicated: Porn, Affairs, & Cybersex
When Sex Gets Complicated: Porn, Affairs, & CybersexMarlene Maheu
85 views73 Folien
How to empty an One2many field in Odoo von
How to empty an One2many field in OdooHow to empty an One2many field in Odoo
How to empty an One2many field in OdooCeline George
87 views8 Folien
REPRESENTATION - GAUNTLET.pptx von
REPRESENTATION - GAUNTLET.pptxREPRESENTATION - GAUNTLET.pptx
REPRESENTATION - GAUNTLET.pptxiammrhaywood
138 views26 Folien
The Value and Role of Media and Information Literacy in the Information Age a... von
The Value and Role of Media and Information Literacy in the Information Age a...The Value and Role of Media and Information Literacy in the Information Age a...
The Value and Role of Media and Information Literacy in the Information Age a...Naseej Academy أكاديمية نسيج
58 views42 Folien

Último(20)

GCSE Geography von WestHatch
GCSE GeographyGCSE Geography
GCSE Geography
WestHatch45 views
When Sex Gets Complicated: Porn, Affairs, & Cybersex von Marlene Maheu
When Sex Gets Complicated: Porn, Affairs, & CybersexWhen Sex Gets Complicated: Porn, Affairs, & Cybersex
When Sex Gets Complicated: Porn, Affairs, & Cybersex
Marlene Maheu85 views
How to empty an One2many field in Odoo von Celine George
How to empty an One2many field in OdooHow to empty an One2many field in Odoo
How to empty an One2many field in Odoo
Celine George87 views
REPRESENTATION - GAUNTLET.pptx von iammrhaywood
REPRESENTATION - GAUNTLET.pptxREPRESENTATION - GAUNTLET.pptx
REPRESENTATION - GAUNTLET.pptx
iammrhaywood138 views
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively von PECB
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks EffectivelyISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
PECB 623 views
AUDIENCE - BANDURA.pptx von iammrhaywood
AUDIENCE - BANDURA.pptxAUDIENCE - BANDURA.pptx
AUDIENCE - BANDURA.pptx
iammrhaywood117 views
Narration lesson plan von TARIQ KHAN
Narration lesson planNarration lesson plan
Narration lesson plan
TARIQ KHAN61 views
EILO EXCURSION PROGRAMME 2023 von info33492
EILO EXCURSION PROGRAMME 2023EILO EXCURSION PROGRAMME 2023
EILO EXCURSION PROGRAMME 2023
info33492109 views

CNIT 127 Ch 4: Introduction to format string bugs