SPSE Slides - Module1
SPSE Slides - Module1
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Part
1:
Introduc6on
to
Python
and
Se8ng
up
an
Environment
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Python
–
a
short
history
©SecurityTube.net
Why
Python?
• Open Source
• Mul1-‐PlaXorm
©SecurityTube.net
Mul1ple
OS
Support
• Unix / Linux
• Mac OS X
• Windows
• Embedded Systems
©SecurityTube.net
Implementa1ons
More:
hAp://wiki.python.org/moin/PythonImplementa1ons?
ac1on=show&redirect=implementa1on
©SecurityTube.net
Why
Python
in
Infosec?
©SecurityTube.net
Python
on
different
OSs
• Linux
– Pre-‐Loaded
• Windows
– Ac1veState
Python
• MAC
– Pre-‐loaded
J
©SecurityTube.net
Python
2.7
or
3.x?
©SecurityTube.net
PlaXorm
of
Choice
hAp://www.ubuntu.com/download/server/download
• Connect
to
it
over
SSH
using
PuAy
or
any
other
client
of
your
choice
©SecurityTube.net
Customary
“Hello
World”
• Interac1ve mode
• Script
©SecurityTube.net
Module
1:
Exercise
1
©SecurityTube.net
SecurityTube
Python
Scrip1ng
Expert
(SPSE)
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
1:
Exercise
1
©SecurityTube.net
Install
Python
3
©SecurityTube.net
Install
Python
Virtualenv
©SecurityTube.net
What
is
Virtualenv?
• hAp://www.virtualenv.org/en/latest/index.html
©SecurityTube.net
Crea1ng
a
Virtual-‐Env
for
Python
3.x
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Variables,
Objects
and
References
Reference
name
vivek
Variable Object
©SecurityTube.net
Data
Types
• Strings
• Numbers
• Lists
• Dic1onaries
• Tuples
• Boolean
• …
©SecurityTube.net
Strings
• Defini1on
– name
=
“vivek”
– name
=
‘vivek’
– name
=
“vivek’s”
– name
=
“vivek\nramachandran”
– name
=
r’vivek\nramachandran’
(raw
string
turns
off
escaping)
– name
=
“””
Vivek
Ramachandran
“””
©SecurityTube.net
Unicode
String
©SecurityTube.net
String
Opera1ons
©SecurityTube.net
String
Methods
• string.find(…)
• string.replace(….)
• string.split(….)
• ….
©SecurityTube.net
String
Formavng
©SecurityTube.net
Numbers
©SecurityTube.net
Lists
©SecurityTube.net
List
Opera1ons
• Concatenate
[1,2]
+
[3,4]
=
[1,2,3,4]
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Part
3:
Data
Types:
Tuple,
Sets,
Dic6onaries
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Tuple
©SecurityTube.net
Sets
©SecurityTube.net
Dic1onaries
©SecurityTube.net
Dic1onary
Opera1ons
©SecurityTube.net
Gevng
Help
on
Methods
etc.
©SecurityTube.net
Module
1:
Python
Language
Essen1als
End
of
Part
3:
Data
Types:
Tuple,
Sets,
Dic6onaries
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Part
4:
Condi6onal
Statements
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
If
Statement
if
test_condi1on1:
do
stuff
do
stuff
elif
test_condi1on2:
do
stuff
do
stuff
elif
test_condi1on3:
do
stuff
do
stuff
else
:
do
stuff
©SecurityTube.net
While
Loops
while
statement_is_true:
do
stuff
do
stuff
-‐
break:
get
out
of
innermost
loop
-‐
con1nue:
start
the
next
pass
of
the
innermost
loop
-‐
pass:
do
nothing,
placeholder
©SecurityTube.net
Exercise
©SecurityTube.net
For
loops
©SecurityTube.net
Emula1ng
C
style
FOR
loops
©SecurityTube.net
Module
1:
Python
Language
Essen1als
End
of
Part
4:
Condi6onal
Statements
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Part
5:
Func6ons
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Func1ons
©SecurityTube.net
Module
1:
Python
Language
Essen1als
End
of
Part
5:
Func6ons
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Part
6:
Classes
and
Objects
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Class
Class
Calculator:
def
__init__(self,
inp1,
inp2):
self.a
=
inp1
self.b
=
inp2
def
sum(self):
return
self.a+self.b
def
product(self):
return
self.a*self.b
©SecurityTube.net
Inheritence
©SecurityTube.net
Exercise
©SecurityTube.net
Module
1:
Python
Language
Essen1als
End
of
Part
6:
Classes
and
Objects
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Part
7:
Crea6ng
Modules
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Modules
• import MODULE_NAME
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Part
7:
Crea6ng
Modules
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Part
8:
Crea6ng
Packages
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Packages
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Part
9:
Excep6on
Handling
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Excep1ons
©SecurityTube.net
Exercise
©SecurityTube.net
Module
1:
Python
Language
Essen1als
End
of
Part
9:
Excep6on
Handling
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Module
1:
Python
Language
Essen1als
Part
10:
Python
on
other
Devices
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net
Python
on
the
iPhone
(iOS)
• Can do a ton of stuff! Lets read the SMS DB
©SecurityTube.net
Python
on
Android
©SecurityTube.net
Python
in
your
Wi-‐Fi
Router
©SecurityTube.net
Module
1:
Python
Language
Essen1als
End
of
Part
10:
Python
on
other
Devices
hAp://www.securitytube.net
Vivek
Ramachandran
Course
Instructor
©SecurityTube.net