SPSE Slides - Module2
SPSE Slides - Module2
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
File
I/O
in
Python
• read(byte_count)
• write(data)
• close()
• os.rename() os.delete()
©SecurityTube.net
Exercise
• Read /var/log/messages
• find
all
the
logs
in
it
which
pertain
to
USB
and
print
them
out
selec1vely
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Directory
Details
©SecurityTube.net
Exercise
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Forking
©SecurityTube.net
Use
of
fork()
©SecurityTube.net
Spawning
New
Processes
• os.exec*
func1ons
– os.execl
– os.execle
– …
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Global
Interpreter
Lock
Apart
from
I/O
Tasks
such
as
Network
reads,
Wri=ng
to
disk
etc.
Python
Threads
are
not
too
useful.
©SecurityTube.net
Threads
in
Python
©SecurityTube.net
Exercise
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Threading
and
Queues
©SecurityTube.net
Exercise
©SecurityTube.net
Exercise:
Threads
and
Locks
©SecurityTube.net
Exercise:
Mul1processing
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
hAp://www.securitytube-‐training.com
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Signals
©SecurityTube.net
Exercise
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
hAp://www.securitytube-‐training.com
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
hAp://www.securitytube-‐training.com
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
subprocess
shell
=
False
Why
is
shell
=
True
a
security
issue?
©SecurityTube.net
Advanced
Usage
• Mapping
of
– STDIN
– STDOUT
– STDERR
• subprocess.Popen(…)
©SecurityTube.net
Module
2:
System
Programming
hAp://www.securitytube.net
hAp://www.securitytube-‐training.com
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net