SlideShare a Scribd company logo
1 of 48
Web Security Mistakes ,[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object]
Who Am I? ,[object Object],[object Object],[object Object],[object Object]
What is Client-Side Security? ,[object Object],[object Object],[object Object],[object Object],Specifically, what do  I  mean by it?
How many of these sites used JavaScript to “protect” themselves from SQL Injection?
OWASP Top 10 (2007) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Is It  All  Bad? function validateEmpty(fld) { var error = ""; if (fld.value.length == 0) { fld.style.background = 'Yellow';  error = "The required field has not been filled in." } else { fld.style.background = 'White'; } return error;  }
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object]
Three Examples of Bad ,[object Object],[object Object],[object Object]
Real Life Bad Example #1 ,[object Object],Thanks, Garrett Gee!
“best of its kind” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Breaking “the best” sub factor {  @F = ();  $num = shift;  foreach $i (97..122) {  last if ($num == 1);  if (!($num % $i)) {  $num /= $i;  push @F, chr($i);  redo ;  }  }return @F;} # thank you internet (and perl)sub perm{@_?map{my$e=$_[$_];map[$e,@{$_}],perm(@_[0..$_-1,$_+1..$#_])}0..$#_:[]}@SOL = factor($_);print "@$_" for  perm @SOL; Code by Seth Bromberger
Lessons Learned ,[object Object],[object Object]
Real Life Bad Example #2 ,[object Object],[object Object]
We have a page with some input boxes...
function ValidateDate(z) { var x = new Boolean(true); if (z != &quot;&quot;) { var DatePattern = /^({1,2})(|-)({1,2})({4})$/; // MM/DD/YYYY // Date Pattern var TempString = z.match(DatePattern); if (TempString == null) { x = false; } else { var dayLengths = [31,29,31,30,31,30,31,31,30,31,30,31]; var m = TempString[1], d = TempString[3], y = TempString[4];   if(!((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)) {  dayLengths [1] = 28; } if (m <= 0 || m > 12 || d <= 0 || d > 31 || y <= 0 || dayLengths[m-1] < d) { x = false; } } } return x; } function validate(theForm) { if (!ValidateInt(theForm.NumberOfDays.value))  { alert(&quot;The number of days must be an integer value.&quot;); theForm.NumberOfDays.focus(); } else if (!ValidateDate(theForm.StartDate.value))  { alert(&quot;The start date must be entered in MM/DD/YYYY format.&quot;); theForm.StartDate.focus(); } else if (!ValidateDate(theForm.EndDate.value))  { alert(&quot;The end date must be entered in MM/DD/YYYY format.&quot;); theForm.EndDate.focus(); } else { theForm.submit(); }
Using a proxy (like WebScarab, TamperData, etc) the attacker can bypass any client-side validation steps: Great Job!
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object]
Adobe Flex/AIR ,[object Object],[object Object],[object Object]
Adobe AIR/Flex ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
No Checks? No Good! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Example 2: Lessons Learned ,[object Object],[object Object],[object Object]
Real Life Bad Example #3
I’ve got a blue ticket ,[object Object],[object Object],[object Object]
Where to start? ,[object Object],[object Object],[object Object],[object Object]
...those who forget the past ,[object Object],[object Object],[object Object]
Password Cracking 101 Keyspace Set of all possible keys that can be used to initialize a crypto algorithm Key length Size of a key used in a cryptographic algorithm Brute force attack Method of defeating a cryptographic scheme by trying a large number of possibilities. Sometimes known as “Incremental” Dictionary Attack Method of defeating a cryptographic scheme by using a list of words Rainbow Tables A pre-computed lookup table of a keyspace and key length offering a time-memory tradeoff for recovering plaintext
Step 1 - Hashes! ,[object Object],553:77c34ddea4adf4aa79c69ab471539847554:2476fee59de2c14f3bcc305f84c32209555:1d2863778fb0fe89c9e4c2929e437c14556:90fd53a2967995804bfb3ab639c9f6d0557:d6fdf20e7995d08c2ce75fe2dd943af0558:c47cbb4b92b68d4b9fe85fc0ea4e0042559:d31830730fd84233bdd1bfe1969cb24e560:eac8780bdd7c8d39bda71bb854425b21561:ac910361ffec9261802b907788d446a4562:852c6738e01803f64ac785abe3ae6659563:6e5d4f697d7aa4901460cd0257484176564:fcc66c568b7fd1f7cdde953628238ee1565:cf0c737b854ce6e97654542f200e0f42566:df2fe494621ae661d93e52190086c794567:3c65bb39ee7b2e8106e9cc375fac804a568:b61818555bc3740a368aa32b5c35a5e6
Step 2a - Get Crackin’ ,[object Object],[object Object],[object Object],[object Object],[object Object]
Maths Break ,[object Object],[object Object],[object Object],k = 69 l = 8 Cs = 30M 69 8  / 30M 60 285,443.54 minutes  (3.68 months) k = 69 l = 7 Cs = 30M 69 7  / 30M 60 4,136.86 minutes (69 hours) k = 69 l = 6 Cs = 30M 69 6  / 30M 60 59.95 minutes
Step 2b: Learnin’ ,[object Object],[object Object],[object Object],[object Object]
Pattern forming? YES! 0 8 - E - V F 0 1 0 8 - G - P C 2 6 0 0 8 - G - P C 1 8 9 0 8 - E - V F 0 1 0 8 - G - P C 2 6 0 0 8 - G - P C 1 8 9
Step 2c: Filterin’ ,[object Object],[Incremental:MW]File = $JOHN/lanman.chrMinLen = 7MaxLen = 7CharCount = 69[List.External:MW]void filter(){  int i, c;  i = 0;  while (c = word[i]) {  // If character is lower case, convert to upper  if (c >= 'a' && c <= 'z') word[i] &= 0xDF;  i++;  }  // We know the static filter 08-?-????  // Add or remove word[]s to fit the length  word[10] = word[6];  word[9] = word[5];  word[8] = word[4];  word[7] = word[3];  word[6] = word[2];  word[5] = word[1];  word[4] = '-';  word[3] = word[0];  word[2] = '-';  word[1] = '8';  word[0] = '0';}
Step 3: Smart Crackin’
Step 4: Tryin’
Example 3: Lessons Learned ,[object Object],[object Object],[object Object]
.NET/C# ViewState ,[object Object],[object Object],[object Object],[object Object]
Ruby On Rails 2.0 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Solutions! ,[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object]
Web Single-SignOn ,[object Object],[object Object],[object Object],[object Object]
Metasploit NTLM Updates ,[object Object],[object Object],[object Object]
Why not SMB? ,[object Object],[object Object],[object Object]
Not entirely new... ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
URLs ,[object Object],[object Object],[object Object],[object Object],[object Object]
QUESTIONS? THANK YOU!

More Related Content

What's hot

4. Метапрограмиране
4. Метапрограмиране4. Метапрограмиране
4. Метапрограмиране
Stefan Kanev
 
Make Your SW Component Testable
Make Your SW Component TestableMake Your SW Component Testable
Make Your SW Component Testable
Li-Wei Cheng
 
Html basics 11 form validation
Html basics 11 form validationHtml basics 11 form validation
Html basics 11 form validation
H K
 
Building @Anywhere (for TXJS)
Building @Anywhere (for TXJS)Building @Anywhere (for TXJS)
Building @Anywhere (for TXJS)
danwrong
 

What's hot (13)

Security In PHP Applications
Security In PHP ApplicationsSecurity In PHP Applications
Security In PHP Applications
 
Retrofitting
RetrofittingRetrofitting
Retrofitting
 
Seam Glassfish Slidecast
Seam Glassfish SlidecastSeam Glassfish Slidecast
Seam Glassfish Slidecast
 
4. Метапрограмиране
4. Метапрограмиране4. Метапрограмиране
4. Метапрограмиране
 
OWASP Top 10 - DrupalCon Amsterdam 2019
OWASP Top 10 - DrupalCon Amsterdam 2019OWASP Top 10 - DrupalCon Amsterdam 2019
OWASP Top 10 - DrupalCon Amsterdam 2019
 
Make Your SW Component Testable
Make Your SW Component TestableMake Your SW Component Testable
Make Your SW Component Testable
 
Html basics 11 form validation
Html basics 11 form validationHtml basics 11 form validation
Html basics 11 form validation
 
[FDD 2017] Mark Seemann - Humane code
[FDD 2017] Mark Seemann - Humane code[FDD 2017] Mark Seemann - Humane code
[FDD 2017] Mark Seemann - Humane code
 
Java script
Java scriptJava script
Java script
 
Django - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazosDjango - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazos
 
Grddl In A Nutshell V1
Grddl In A Nutshell V1Grddl In A Nutshell V1
Grddl In A Nutshell V1
 
My app is secure... I think
My app is secure... I thinkMy app is secure... I think
My app is secure... I think
 
Building @Anywhere (for TXJS)
Building @Anywhere (for TXJS)Building @Anywhere (for TXJS)
Building @Anywhere (for TXJS)
 

Similar to Web Security Mistakes: Trusting The Client

12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index
webhostingguy
 
Php Security3895
Php Security3895Php Security3895
Php Security3895
Aung Khant
 
OWASP Top 10 : Let’s know & solve
OWASP Top 10 : Let’s know & solveOWASP Top 10 : Let’s know & solve
OWASP Top 10 : Let’s know & solve
Harit Kothari
 
Php & Web Security - PHPXperts 2009
Php & Web Security - PHPXperts 2009Php & Web Security - PHPXperts 2009
Php & Web Security - PHPXperts 2009
mirahman
 
Avoiding Cross Site Scripting - Not as easy as you might think
Avoiding Cross Site Scripting - Not as easy as you might thinkAvoiding Cross Site Scripting - Not as easy as you might think
Avoiding Cross Site Scripting - Not as easy as you might think
Erlend Oftedal
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
Carles Farré
 

Similar to Web Security Mistakes: Trusting The Client (20)

12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index
 
Security.ppt
Security.pptSecurity.ppt
Security.ppt
 
Php security3895
Php security3895Php security3895
Php security3895
 
PHP Security
PHP SecurityPHP Security
PHP Security
 
Concern of Web Application Security
Concern of Web Application SecurityConcern of Web Application Security
Concern of Web Application Security
 
PHPUG Presentation
PHPUG PresentationPHPUG Presentation
PHPUG Presentation
 
Php Security3895
Php Security3895Php Security3895
Php Security3895
 
Top 10 Web Security Vulnerabilities
Top 10 Web Security VulnerabilitiesTop 10 Web Security Vulnerabilities
Top 10 Web Security Vulnerabilities
 
OWASP Top 10 : Let’s know & solve
OWASP Top 10 : Let’s know & solveOWASP Top 10 : Let’s know & solve
OWASP Top 10 : Let’s know & solve
 
2009 Barcamp Nashville Web Security 101
2009 Barcamp Nashville   Web Security 1012009 Barcamp Nashville   Web Security 101
2009 Barcamp Nashville Web Security 101
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Php & Web Security - PHPXperts 2009
Php & Web Security - PHPXperts 2009Php & Web Security - PHPXperts 2009
Php & Web Security - PHPXperts 2009
 
Avoiding Cross Site Scripting - Not as easy as you might think
Avoiding Cross Site Scripting - Not as easy as you might thinkAvoiding Cross Site Scripting - Not as easy as you might think
Avoiding Cross Site Scripting - Not as easy as you might think
 
Merb jQuery
Merb jQueryMerb jQuery
Merb jQuery
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
 
Developing and testing ajax components
Developing and testing ajax componentsDeveloping and testing ajax components
Developing and testing ajax components
 
Windows Azure - Cloud Service Development Best Practices
Windows Azure - Cloud Service Development Best PracticesWindows Azure - Cloud Service Development Best Practices
Windows Azure - Cloud Service Development Best Practices
 
Introduction to Prototype JS Framework
Introduction to Prototype JS FrameworkIntroduction to Prototype JS Framework
Introduction to Prototype JS Framework
 
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
 
Migration testing framework
Migration testing frameworkMigration testing framework
Migration testing framework
 

Recently uploaded

Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg PfizerJual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
Pusat Herbal Resmi BPOM
 
zidauu _business communication.pptx /pdf
zidauu _business  communication.pptx /pdfzidauu _business  communication.pptx /pdf
zidauu _business communication.pptx /pdf
zukhrafshabbir
 
What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...
srcw2322l101
 
NewBase 17 May 2024 Energy News issue - 1725 by Khaled Al Awadi_compresse...
NewBase   17 May  2024  Energy News issue - 1725 by Khaled Al Awadi_compresse...NewBase   17 May  2024  Energy News issue - 1725 by Khaled Al Awadi_compresse...
NewBase 17 May 2024 Energy News issue - 1725 by Khaled Al Awadi_compresse...
Khaled Al Awadi
 

Recently uploaded (20)

Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg PfizerJual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
 
Global Internal Audit Standards 2024.pdf
Global Internal Audit Standards 2024.pdfGlobal Internal Audit Standards 2024.pdf
Global Internal Audit Standards 2024.pdf
 
zidauu _business communication.pptx /pdf
zidauu _business  communication.pptx /pdfzidauu _business  communication.pptx /pdf
zidauu _business communication.pptx /pdf
 
1Q24_EN hyundai capital 1q performance
1Q24_EN   hyundai capital 1q performance1Q24_EN   hyundai capital 1q performance
1Q24_EN hyundai capital 1q performance
 
Guide to Networking Essentials 8th Edition by Greg Tomsho solution manual.doc
Guide to Networking Essentials 8th Edition by Greg Tomsho solution manual.docGuide to Networking Essentials 8th Edition by Greg Tomsho solution manual.doc
Guide to Networking Essentials 8th Edition by Greg Tomsho solution manual.doc
 
بروفايل شركة ميار الخليج للاستشارات الهندسية.pdf
بروفايل شركة ميار الخليج للاستشارات الهندسية.pdfبروفايل شركة ميار الخليج للاستشارات الهندسية.pdf
بروفايل شركة ميار الخليج للاستشارات الهندسية.pdf
 
How to refresh to be fit for the future world
How to refresh to be fit for the future worldHow to refresh to be fit for the future world
How to refresh to be fit for the future world
 
HAL Financial Performance Analysis and Future Prospects
HAL Financial Performance Analysis and Future ProspectsHAL Financial Performance Analysis and Future Prospects
HAL Financial Performance Analysis and Future Prospects
 
Blinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptx
Blinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptxBlinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptx
Blinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptx
 
Series A Fundraising Guide (Investing Individuals Improving Our World) by Accion
Series A Fundraising Guide (Investing Individuals Improving Our World) by AccionSeries A Fundraising Guide (Investing Individuals Improving Our World) by Accion
Series A Fundraising Guide (Investing Individuals Improving Our World) by Accion
 
Innomantra Viewpoint - Building Moonshots : May-Jun 2024.pdf
Innomantra Viewpoint - Building Moonshots : May-Jun 2024.pdfInnomantra Viewpoint - Building Moonshots : May-Jun 2024.pdf
Innomantra Viewpoint - Building Moonshots : May-Jun 2024.pdf
 
Inside the Black Box of Venture Capital (VC)
Inside the Black Box of Venture Capital (VC)Inside the Black Box of Venture Capital (VC)
Inside the Black Box of Venture Capital (VC)
 
stock price prediction using machine learning
stock price prediction using machine learningstock price prediction using machine learning
stock price prediction using machine learning
 
Toyota Kata Coaching for Agile Teams & Transformations
Toyota Kata Coaching for Agile Teams & TransformationsToyota Kata Coaching for Agile Teams & Transformations
Toyota Kata Coaching for Agile Teams & Transformations
 
Copyright: What Creators and Users of Art Need to Know
Copyright: What Creators and Users of Art Need to KnowCopyright: What Creators and Users of Art Need to Know
Copyright: What Creators and Users of Art Need to Know
 
What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...
 
Progress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdf
Progress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdfProgress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdf
Progress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdf
 
NewBase 17 May 2024 Energy News issue - 1725 by Khaled Al Awadi_compresse...
NewBase   17 May  2024  Energy News issue - 1725 by Khaled Al Awadi_compresse...NewBase   17 May  2024  Energy News issue - 1725 by Khaled Al Awadi_compresse...
NewBase 17 May 2024 Energy News issue - 1725 by Khaled Al Awadi_compresse...
 
Top^Clinic ^%[+27785538335__Safe*Women's clinic//Abortion Pills In Harare
Top^Clinic ^%[+27785538335__Safe*Women's clinic//Abortion Pills In HarareTop^Clinic ^%[+27785538335__Safe*Women's clinic//Abortion Pills In Harare
Top^Clinic ^%[+27785538335__Safe*Women's clinic//Abortion Pills In Harare
 
Hyundai capital 2024 1q Earnings release
Hyundai capital 2024 1q Earnings releaseHyundai capital 2024 1q Earnings release
Hyundai capital 2024 1q Earnings release
 

Web Security Mistakes: Trusting The Client

  • 1.
  • 2.
  • 3.
  • 4.
  • 5. How many of these sites used JavaScript to “protect” themselves from SQL Injection?
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. Breaking “the best” sub factor { @F = (); $num = shift; foreach $i (97..122) { last if ($num == 1); if (!($num % $i)) { $num /= $i; push @F, chr($i); redo ; } }return @F;} # thank you internet (and perl)sub perm{@_?map{my$e=$_[$_];map[$e,@{$_}],perm(@_[0..$_-1,$_+1..$#_])}0..$#_:[]}@SOL = factor($_);print &quot;@$_&quot; for perm @SOL; Code by Seth Bromberger
  • 13.
  • 14.
  • 15. We have a page with some input boxes...
  • 16. function ValidateDate(z) { var x = new Boolean(true); if (z != &quot;&quot;) { var DatePattern = /^({1,2})(|-)({1,2})({4})$/; // MM/DD/YYYY // Date Pattern var TempString = z.match(DatePattern); if (TempString == null) { x = false; } else { var dayLengths = [31,29,31,30,31,30,31,31,30,31,30,31]; var m = TempString[1], d = TempString[3], y = TempString[4]; if(!((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)) { dayLengths [1] = 28; } if (m <= 0 || m > 12 || d <= 0 || d > 31 || y <= 0 || dayLengths[m-1] < d) { x = false; } } } return x; } function validate(theForm) { if (!ValidateInt(theForm.NumberOfDays.value)) { alert(&quot;The number of days must be an integer value.&quot;); theForm.NumberOfDays.focus(); } else if (!ValidateDate(theForm.StartDate.value)) { alert(&quot;The start date must be entered in MM/DD/YYYY format.&quot;); theForm.StartDate.focus(); } else if (!ValidateDate(theForm.EndDate.value)) { alert(&quot;The end date must be entered in MM/DD/YYYY format.&quot;); theForm.EndDate.focus(); } else { theForm.submit(); }
  • 17. Using a proxy (like WebScarab, TamperData, etc) the attacker can bypass any client-side validation steps: Great Job!
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.  
  • 23.
  • 24. Real Life Bad Example #3
  • 25.
  • 26.
  • 27.
  • 28. Password Cracking 101 Keyspace Set of all possible keys that can be used to initialize a crypto algorithm Key length Size of a key used in a cryptographic algorithm Brute force attack Method of defeating a cryptographic scheme by trying a large number of possibilities. Sometimes known as “Incremental” Dictionary Attack Method of defeating a cryptographic scheme by using a list of words Rainbow Tables A pre-computed lookup table of a keyspace and key length offering a time-memory tradeoff for recovering plaintext
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. Pattern forming? YES! 0 8 - E - V F 0 1 0 8 - G - P C 2 6 0 0 8 - G - P C 1 8 9 0 8 - E - V F 0 1 0 8 - G - P C 2 6 0 0 8 - G - P C 1 8 9
  • 34.
  • 35. Step 3: Smart Crackin’
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.  
  • 47.