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

16

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

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

2

время

энергопотребление

ошибки

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

3

- Ciphertext-only: у нас есть только зашифрованный текст/тексты- Known plaintext: есть шифротекст и соответствующий ему открытый текстё- Chosen plaintext: мы можем выбирать текст для шифровки- Related key: у нас есть несколько шифровок одного текста с разными

ключами

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

5

web LDAP

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

6

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==))"

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

7

& Boolean AND | Boolean OR ! Boolean NOT = Equals ~= Approx>= Greater than <= Lesser than * Any character () Grouping

Blocklist

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

8

<?xml version="1.0" encoding="ISO-8859-1"?><tag1>

<tag2>$var</tag2>

</tag1>

GET /?var=</tag2><tag3>value</tag3><tag2>

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

9

<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///path/to/file" >]><foo>&xxe;</foo>

XML External Entity

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

10

<html><!--#include virtual=”header.html” -->

</html>

SSI directives:

echo var="varname"include virtual="docname"exec cmd="command"

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

12

data1

src

data2da

strcpygetssprintf...

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

13

Stack-based

ret address

frame

var

buf

...

MemStack

void f(char* var){char buf[10];

}void main(int argc,char** argv){

f(argv[1]);}

argv

argv

argv

argv

...

MemStack

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

14

Heap-based

data

buf

...

Mem

void main(int argc,char** argv){char* buf;buf = (char*)malloc(256);strcpy(buf,argv[1]);

}

argv

argv

...

Mem

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

15

8bit: 255 +2 = 116bit: 65535+2=132bit: 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);

}

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

16

printfsprintfsnprintf...

printf("%s%s%s",v1,v2);

%s string%p pointer%i integer%x hexadecimal%n write to pointer