Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Безопасность интернет-приложений осень 2013 лекция 9

320 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Безопасность интернет-приложений осень 2013 лекция 9

  1. 1. время энергопотребление ошибки 2
  2. 2. - Ciphertext-only: у нас есть только зашифрованный текст/тексты Known plaintext: есть шифротекст и соответствующий ему открытый текстё Chosen plaintext: мы можем выбирать текст для шифровки Related key: у нас есть несколько шифровок одного текста с разными ключами 3
  3. 3. web LDAP 5
  4. 4. Login: searchlogin= "(&(uid="+user+")" (userPassword={MD5}"+base64(pack("H*",md5(pass)))+"))"; GET /login?user=*)(uid=*))(|(uid=*&pass=any searchlogin="(&(uid=*)(uid=*)) (|(uid=*)(userPassword={MD5}X03MO1qnZdYdgyfeuILPmQ==))" 6
  5. 5. Blocklist & | ! = ~= >= <= * () Boolean AND Boolean OR Boolean NOT Equals Approx Greater than Lesser than Any character Grouping 7
  6. 6. <?xml version="1.0" encoding="ISO-8859-1"?> <tag1> <tag2>$var</tag2> </tag1> GET /?var=</tag2><tag3>value</tag3><tag2> 8
  7. 7. XML External Entity <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "file:///path/to/file" >]> <foo>&xxe;</foo> 9
  8. 8. <html> <!--#include virtual=”header.html” --> </html> SSI directives: echo var="varname" include virtual="docname" exec cmd="command" 10
  9. 9. src data1 data2da strcpy gets sprintf ... 12
  10. 10. Stack-based void f(char* var){ char buf[10]; } void main(int argc,char** argv){ f(argv[1]); } argv buf argv var Stack frame Mem Stack argv ret address argv ... Mem ... 13
  11. 11. Heap-based void main(int argc,char** argv){ char* buf; buf = (char*)malloc(256); strcpy(buf,argv[1]); } buf data ... argv Mem argv Mem ... 14
  12. 12. 8bit: 255 +2 = 1 16bit: 65535+2=1 32bit: 4294967295+2=1 nresp = packet_get_int(); if (nresp > 0) { response = xmalloc(nresp*sizeof(char*)); for (i = 0; i < nresp; i++) response[i] = packet_get_string(NULL); } 15
  13. 13. printf sprintf snprintf ... printf("%s%s%s",v1,v2); %s string %p pointer %i integer %x hexadecimal %n write to pointer 16

×